ORACLE数据库日常维护作业计划
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
O RACLE A DVANCED P RODUCT S ERVICES
Oracle数据库日常维护手册
1.1.工作内容 3
1.1.1 每日工作 (3)
1.1.2 每周的工作(通过工具自动跑出结果,手工进行问题处理) (5)
1.1.3 每月的工作(人工分析处理) (22)
1.1.4 每年的工作(结合工具进行全面检查) (25)
审阅记录
分发记录
相关文档
1.1. 工作内容
1.1.1每日工作
1.1.1.1检查数据库状态(目前人工,以后自动,)
确认所有的INSTANCE状态以及listener状态正常,登陆到所有数据库或例程,检测ORACLE 后台进程:
1.1.1.2检查CPU使用率(自动,无报警即可)
例如sar –u
显示内容包括:
%usr:CPU处在用户模式下的时间百分比。
%sys:CPU处在系统模式下的时间百分比。
%wio:CPU等待输入输出完成时间的百分比。
%idle:CPU空闲时间百分比
对于%usr,建议客户定期收集,建立系统性能的基线,以便判断系统CPU使用的趋势。如果%usr 突然异常增长,建议客户使用topas,glance找到使用CPU最高资源的进程,进行进一步分析。如果是oracle用户进程,可以使用如下语句获得该进程正在执行的SQL:
--通过PID找SQL
SELECT /*+ ORDERED */ sql_text
FROM v$sqltext a
WHERE (a.hash_value, a.address) IN (
SELECT DECODE (sql_hash_value, 0, prev_hash_value, sql_hash_value), DECODE (sql_hash_value, 0, prev_sql_addr, sql_address)
FROM v$session b
WHERE b.paddr = (SELECT addr FROM v$process c WHERE c.spid = '&pid')) ORDER BY piece ASC;
而且我们通过v$session的sid,可以进一步从v$session_wait得到该进程的等待事件:
--通过PID找该进程的等待事件:
SELECT /*+ ORDERED */ event,p1,p2,p3
FROM v$session_wait a WHERE a.sid IN (
SELECT b.sid FROM v$session b WHERE b.paddr = (SELECT addr FROM v$process c WHERE c.spid = '&pid'));
而得到该语句的执行计划,我们可以如下查询:
SELECT /*+ ORDERED */
OPERATION , OPTIONS, OBJECT_NAME, OPTIMIZER, ID, PARENT_ID, COST,CARDINALITY,BYTES
FROM v$sql_plan a where a.hash_value='&hav' and a.address='&address';
对于%wio,如果该数值过高,表示硬盘存在I/O等待。
对于%idle,表明了系统CPU的空闲率,如果该数值持续低于10,那么系统需要扩充CPU资源。1.1.1.3检查内存使用率(自动,无报警即可)
1.1.1.4检查表空间的使用情况
1.1.1.5event使用
日常工作中经常会使用一些event事件来处理ORACLE问题,例如对整个数据库设置event事件,或对某个session设置event事件,通过event事件可以处理或跳过一些ORACLE问题
针对system级别设置event事件
针对session级别设置event事件,例如设置10046 event事件
1.1.1.6oradebug使用
1.1.2每周的工作(通过工具自动跑出结果,手工进行问题处理)
1.1.
2.1检查文件系统
如果文件系统的剩余空间过小或增长较快,需对其进行确认并删除不用的文件以释放空间。
1.1.
2.2检查裸设备
Aix系统
Vxvm卷管理
1.1.
2.3定期检查TRACE文件及listener日志
如果这些日志量非常大,占用很大的资源空间,可考虑定期删除以便释放资源。
一般情况下这些文件存在的相关目录:
警告日志:$ORACLE_BASE/admin/
或者
通过SQL> show parameter background_dump_dest参数查看其存放位置;
Trc文件:$ORACLE_BASE/admin/
或者
通过SQL> show parameter user_dump_dest参数查看其存放位置;
Listener日志:$ORACLE_HOME/network/log
如果设置服务器端的sqlnet.ora文件会导致所有的客户端连接都产生trace文件,导致所有的客户端响应速度降低。一般出现问题首先设置客户端sqlnet.ora文件来跟踪客户端连接。
这里给出一个例子
服务器 192.168.111.2
客户端 192.168.111.1
首先给出一个服务器段的监听配置
客户端tnsnames.ora配置
在连接过程中,