文档介绍:
数据库紧急情况检查应急预案
第一章、公共检查部分2
1.1、数据库可用性检查2
1.2、检查OS日志2
1.3、系统资源检查2
1.4、数据库日志检查3
1.5、检查数据库归档日志目录3
第二章、数据库个别业务性能问题3
2.1、大部分业务基本正常,个别业务长时间执行未成功3
2.2、单个ORACLE连接进程持续非常繁忙4
第三章、数据库整体性能问题5
3.1 等待事件5
3.2 获取STATSPACK\AWR报告5
3.3 获取执行计划5
3.4 相应的处理建议6
第四章、整个数据库hang6
4.1不能使用sqlplus / as sysdba进入数据库时6
4.2能使用sqlplus / as sysdba进入数据库时6
4.3 执行RDA收集信息7
4.4 收集最近的STATSPACK/AWR报告7
4.5 收集10G ASH报告8
4.6 收集10GR2的CRS信息8
公共检查部分
1.1、数据库可用性检查
分别尝试从pl/sql开发工具和数据库主机登录数据库看能否登录
oracle用户登录后,执行如下操作:
select object_id from dba_objects where rownum < 5;
create table tmp0001 select object_id from dba_objects where rownum < 5;
drop table tmp0001;
select * from dba_2pc_pending;
1)如果以上SQL可顺利快速执行,最后的SQL也没有返回被挂起的两阶段提交事务,说明数据库不是阻塞所有业务的原因
2)如果以上SQL执行非常缓慢或被HANG住,表明当前数据库存在问题
3)如果应用、中间件日志中有数据库方面的报错,根据错误号进行分析
1.2、检查OS日志
查看OS日志,看是否有相应的报错。
根据不同的平台选择以下命令查看
LINUX:vi /var/log/message
AIX:errpt、mail
HPUX:vi /var/adm/syslog/syslog.log、dmesg 、mail
1.3、系统资源检查
LINUX下使用top/iostat/vmstat 等命令;AIX下使用TOPAS/vmstat/lsps –a/sar 等命令;HPUX下使用top /glance/vmstat/swapinfo –atm/sar等命令,查看当前CPU/mem/swap的占用情况
1)如果CPU有超过平常很高的WIO
2)如果user很高,查看top cpu占用的进程是否为oracle进程
如果是oracle后台进程CPU占用高,则联系ORACLE驻场工程师协助判断是否碰到了某个已知的BUG
如果是oracle连接进程CPU占用高,执行$ORACLE_BASE/sql/get_by_spid.sh获得高CPU进程正在执行的语句和相应的执行计划
3)如果MEM很低,SWAP区page out很频繁,需要联系
内容来自淘豆网www.taodocs.com转载请标明出处.