ORACLE紧急情况检查应急预案
3.4 相应的处理建议
对比历史情况分析确认这些等待是否正常,SQL执行计划是否正常,确认问题SQL
对于已确认的问题SQL,评估中止该session对业务的影响:该session是否可被中止;中止后需要进行的进行的处理:是否要重新收集表的统计信息,是否要新建索引;中止该session,完成事务回滚预计需要的时间
根据评估结果选择需要执行的操作:中止session、停库重启、切应急库
第四章、 整个数据库hang
现象:整个数据库hang住,无法进行任何操作。短时间内问题无法定位和解决,需要先收集信息后重新启动数据库以保证生产系统的正常使用(须先排除空间使用、权限引起的问题)
以下是收集信息的具体步骤
4.1不能使用sqlplus / as sysdba进入数据库时
确保ORACLE_SID指向问题实例后
sqlplus -prelim / as sysdba
oradebug setmypid
oradebug unlimit;
oradebug dump systemstate 266
注意:9206以下版本oradebug dump systemstate 266行用oradebug dump systemstate 10代替
4.2能使用sqlplus / as sysdba进入数据库时
1)登录窗口 1:
$ sqlplus /nolog
connect / as sysdba
oradebug setmypid
oradebug unlimit
oradebug hanganalyze 3
exec dbms_lock.sleep(90);
oradebug hanganalyze 3
oradebug tracefile_name
--得到trace文件名
exit
RAC环境,hanganalyze行为:
oradebug -g def hanganalyze 3