数据库Hang住怎么办 - HANGANALYZE

Oracle8.1.6之后才有了HANGANALYZE 命令,Oracle9i之后功能增强,提供在Oracle RAC集群环境的

”cluster wide”信息,这意味着将为所有的cluster中的session生成信息,不管命令从哪个instance发出的。

一般有三种使用HANGANALYZE的方法:

(1).会话级别
ALTER SESSION SET EVENTS 'immediate trace name HANGANALYZE level ';
例子:ALTER SESSION SET EVENTS 'immediate trace name HANGANALYZE level 10';

(2).单实例级别(以sysdba登入)
ORADEBUG hanganalyze
例子:
sqlplus  /  as  sysdba
SQL> ORADEBUG hanganalyze 10
备注: 如果因为Hang导致sqlplus都不能登入,可以使用:
sqlplus -prelim / as sysdba ,这时连接到的是SGA,而不是数据库,没有session被创建。
 
(3).集群范围级别(以sysdba登入)

sqlplus  /  as  sysdba SQL> ORADEBUG setmypid
 SQL> ORADEBUG setinst all
 SQL> ORADEBUG -g def hanganalyze

请使用浏览器的分享功能分享到微信等