ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 数据库Hang住怎么办 - HANGANALYZE[final]

数据库Hang住怎么办 - HANGANALYZE[final]

原创 Linux操作系统 作者:tolywang 时间:2012-10-05 14:36:59 0 删除 编辑

 
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

其中Level的定义如下:
1-2:只有hanganalyze输出,不dump任何进程
3:Level2+Dump处在IN_HANG状态的进程
4:Level3+Dump处在等待链里面的blockers(状态为LEAF/LEAF_NW/IGN_DMP)
5:Level4+Dump处在等待链中的所有进程(状态为NLEAF)
10 - Dump all processes (IGN state)

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/35489/viewspace-747822/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    14695504