一.Oracle每日运维操作

embedded/2024/9/23 22:32:58/

目录

一.Oreace每日运维操作

1.1、确认所有的INSTANCE状态正常

1.2、检查文件系统的使用(剩余空间)

1.3 lwh暗码,,、检查日志文件和trace文件记录

1.4 lwh、检查数据库当日备份的有效性。

1.5、检查数据文件的状态

1.6、检查表空间的使用情况

1.7、检查剩余表空间

1.8、监控数据库性能(重点)

1.9、检查数据库系统性能(重点)

1.10、日常出现问题的处理。

1.11 检查数据库连接池状态

   解释 

   操作步骤 

1.12 监控数据库锁

   解释 

   操作步骤   

1.14 更新统计信息

   解释 

   操作步骤 


1.1、确认所有的INSTANCE状态正常

登陆到所有数据库或例程,检测ORACLE后台进程:

$ps –ef|grep ora

1.2、检查文件系统的使用(剩余空间)

如果文件系统的剩余空间小于20%,需删除不用的文件以释放空间。

#df –k

1.3 lwh暗码,,、检查日志文件和trace文件记录

检查相关的日志文件和trace文件中是否存在错误。

A、连接到每个需管理的系统

使用’telnet’命令

B、对每个数据库,进入到数据库的bdump目录,unix系统中BDUMP目录通常是$ORACLE_BASE/<SID>/bdump

#$ORACLE_BASE/<SID>/bdump

C、使用 Unix ‘tail’命令来查看alert_<SID>.log文件

#tail $ORACLE_BASE/<SID>/bdump/alert_<SID>.log

D、如果发现任何新的ORA- 错误,记录并解决

1.4 lwh、检查数据库当日备份的有效性。

对RMAN备份方式:

1.5、检查数据文件的状态

检查所有数据文件并记录状态不是“online”的数据文件,并做恢复。

Sqlplus> Select file_name from dba_data_files where status=’OFFLINE’

1.6、检查表空间的使用情况

SELECT tablespace_name, max_m, count_blocks free_blk_cnt, sum_free_m,to_char(100*sum_free_m/sum_m, '99.99') || '%' AS pct_free  FROM ( SELECT tablespace_name,sum(bytes)/1024/1024 AS sum_m FROM dba_data_files GROUP BY tablespace_name), ( SELECT tablespace_name AS fs_ts_name, max(bytes)/1024/1024 AS max_m, count(blocks) AS count_blocks, sum(bytes/1024/1024) AS sum_free_m FROM dba_free_space GROUP BY tablespace_name ) WHERE tablespace_name = fs_ts_name

1.7、检查剩余表空间

SELECT tablespace_name, sum ( blocks ) as free_blk ,

trunc ( sum ( bytes ) /(1024*1024) ) as free_m,

max ( bytes ) / (1024) as big_chunk_k,

count (*) as num_chunks FROM dba_free_space GROUP BY tablespace_name;

1.8、监控数据库性能(重点)

运行bstat/estat生成系统报告或者使用statspack收集统计数据

1.9、检查数据库系统性能(重点)

主要检查并记录数据库系统的cpu使用率、pagespaces、IO、buffer命中率等等,可以使用topas、vmstat、iostat、glance、top等命令

1.10、日常出现问题的处理。

1.11 检查数据库连接池状态

   解释 

数据库连接池用于管理数据库连接的复用和管理。确保连接池的使用情况正常非常重要,因为连接泄漏或连接耗尽会导致应用程序性能下降或崩溃。

   操作步骤 

1.    监控连接池的使用情况 

    检查当前连接数、活动连接数、空闲连接数等。

    使用连接池管理工具或数据库监控工具进行监控。

2.    配置警报 

    设置阈值,当连接数达到一定数量时触发警报。

   示例   (以 HikariCP 连接池为例):

 HikariDataSource dataSource = new HikariDataSource();

dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/mydatabase");

dataSource.setUsername("user");

dataSource.setPassword("password");

dataSource.setMaximumPoolSize(10);

// 监控连接池状态

System.out.println("Total connections: " + dataSource.getHikariPoolMXBean().getTotalConnections());

System.out.println("Active connections: " + dataSource.getHikariPoolMXBean().getActiveConnections());

System.out.println("Idle connections: " + dataSource.getHikariPoolMXBean().getIdleConnections());

1.12 监控数据库锁

   解释 

长时间未释放的锁会导致数据库其他事务被阻塞,影响系统性能和稳定性。定期检查数据库锁的状态,确保没有死锁或长时间未释放的锁。

   操作步骤   

1.    查询当前锁状态 

    使用数据库管理工具或 SQL 查询查看当前锁状态。

2.    配置警报 

    当检测到长时间未释放的锁时,触发警报或自动处理。

   示例   (以 MySQL 为例):

查看当前锁信息

SHOW ENGINE INNODB STATUS;

查询正在等待的锁

SELECT * FROM information_schema.innodb_lock_waits;

查询持有锁的事务

SELECT * FROM information_schema.innodb_locks;

   1.13 检查数据一致性

   解释 

数据一致性检查用于确保数据库中的数据没有出现不一致或损坏的情况。这通常包括检查主键、外键约束、一致性校验等。

   操作步骤 

1.    执行一致性校验脚本 

    编写脚本或使用工具进行数据一致性检查。

2.    定期检查 

    设置定期任务,定期执行数据一致性检查。

   示例   (以 PostgreSQL 为例):

检查表中的主键是否唯一

SELECT id, COUNT(*)

FROM my_table

GROUP BY id

HAVING COUNT(*) > 1;

检查外键约束

SELECT *

FROM my_table t1

LEFT JOIN foreign_table t2 ON t1.foreign_key = t2.id

WHERE t2.id IS NULL;

1.14 更新统计信息

   解释 

数据库优化器依赖统计信息来生成高效的查询计划。定期更新统计信息可以确保优化器有最新的数据分布信息,从而提升查询性能。

   操作步骤 

1.    手动更新统计信息 

    使用数据库提供的命令手动更新统计信息。

2.    配置自动更新 

    配置数据库自动更新统计信息的策略。

   示例   (以 Oracle 为例):

手动更新统计信息

EXEC DBMS_STATS.GATHER_TABLE_STATS('SCHEMA_NAME', 'TABLE_NAME');

更新整个模式的统计信息

EXEC DBMS_STATS.GATHER_SCHEMA_STATS('SCHEMA_NAME');


http://www.ppmy.cn/embedded/115790.html

相关文章

【STM32系统】基于STM32设计的智能垃圾桶(语音、颜色识别、称重、光强、烟雾、人体识别、步进电机、水泵)——文末资料下载

基于STM32设计的智能垃圾桶 演示视频: 基于STM32设计的智能垃圾桶 功能简介: 四个按键可分别打开四个垃圾桶(可回收垃圾、厨余垃圾、有害垃圾、其他垃圾) oled显示屏显示四个垃圾桶的打开/关闭状态、烟雾浓度、光照强度、称重的重量和识别到的颜色(白色、红色、绿色、蓝…

渗透测试入门学习——php文件上传与文件包含

最终效果&#xff1a; 提前在网站根目录创建upload目录&#xff1a; 主页面&#xff08;文件名为file.php&#xff09;&#xff1a; <html> <head><meta charset"utf-8"><title>php文件相关练习</title> </head><h1>php文…

[Unity Demo]从零开始制作空洞骑士Hollow Knight第六集:制作小骑士完整的跳跃落地行为

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、制作一个完整的小骑士跳跃落地行为 1.制作动画以及UNITY编辑器编辑2.使用代码实现完整的跳跃落地行为控制3.更多要考虑到的点总结 前言 大家好久不见&…

【mac】MacOS无法打开XXX文件,因为无法验证开发者的问题解决

博主介绍&#xff1a; 大家好&#xff0c;我是想成为Super的Yuperman&#xff0c;互联网宇宙厂经验&#xff0c;17年医疗健康行业的码拉松奔跑者&#xff0c;曾担任技术专家、架构师、研发总监负责和主导多个应用架构。 技术范围&#xff1a; 目前专注java体系&#xff0c;以及…

卷积神经网络(CNN):深度学习中的视觉奇迹

目录 一、什么是卷积神经网络&#xff1f; 二、CNN的核心组件 1. 卷积层&#xff08;Convolutional Layer&#xff09; 2. 激活函数&#xff08;Activation Function&#xff09; 3. 池化层&#xff08;Pooling Layer&#xff09; 4. 全连接层&#xff08;Fully Connected…

unix中的vfork函数

一、前言 本文介绍unix中的vfork函数&#xff0c;vfork函数功能和fork函数类似&#xff0c;也是用于创建新的进程&#xff0c;只不过调用vfork函数创建的子进程将共享父进程的进程空间&#xff0c;且只有当子进程调用exec()或者exit()函数后&#xff0c;父进程才会继续运行。 …

LeetCode 面试经典150题 67.二进制求和

415.字符串相加 思路一模一样 题目&#xff1a;给你两个二进制字符串 a 和 b &#xff0c;以二进制字符串的形式返回它们的和。 eg&#xff1a; 输入a“1010” b“1011” 输出“10101” 思路&#xff1a;从右开始遍历两个字符串&#xff0c;因为右边是低位先运算。如果…

Jsonpath - 数据中快速查找和提取的强大工具

JSON&#xff08;JavaScript Object Notation&#xff09;在现代应用程序中广泛使用&#xff0c;但是如何在复杂的JSON数据中 查找和提取所需的信息呢&#xff1f; JSONPath是一种功能强大的查询语言&#xff0c;可以通过简单的表达式来快速准确地定位和提取JSON数据。本文将介…