ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 使用HANGANALYZE跟踪文件诊实例hang问题

使用HANGANALYZE跟踪文件诊实例hang问题

原创 Linux操作系统 作者:husthxd 时间:2004-12-06 00:00:00 0 删除 编辑

设置HANGANALYZE跟踪诊断实例Hang问题.


1.         使用HANGANALYZE

Session级设置跟踪:

ALTER SESSION SET EVENTS 'immediate trace name HANGANALYZE level ';

或者以sysdba用户登陆,设置跟踪:

ORADEBUG hanganalyze

其中level的含义如下:

10     Dump all processes (IGN state)
5      Level 4 + Dump all processes involved in wait chains (NLEAF state)
4      Level 3 + Dump leaf nodes (blockers) in wait chains (LEAF,LEAF_NW,IGN_DMP state)
3      Level 2 + Dump only processes thought to be in a hang (IN_HANG state)
1-2    Only HANGANALYZE output, no process dump at all

 

如果Level过大的话会产生大量的跟踪文件并影响系统的I/O性能,建议不要采用3级以上的跟踪。

2.         HANGANALYZE跟踪文件分析

跟踪文件中最关键的部分是STATE OF NODES:

对于9i该部分的条目结构为:

[nodenum]/cnode/sid/sess_srno/session/ospid/state/start/finish/[adjlist]/predecessor

其中:

nodenum:定义每个session的序列号

sid:session的sid

sess_srno:session的Serial#

ospid:OS的进程ID

state:node的状态

adjlist:表示blocker node

predecessor:表示waiter node

 

State有如下几种状态:

IN_HANG:如果Session处于这种状态,表示Session遇到deadlock或者处于hung状态。

LEAF/LEAF_NW:这些Session通常是“blocker”或者是等待某些资源的“slow” node,通过字段predecessor” 可以很容易标识出这些node。

NLEAF:这些Session通常被认为是“stuck”会话,意味着这些Session在等待某些Session的资源。通过字段“adjlist”可以很容易的定义该进程的blocker。

IGN/IGN_DMP:这些Session通常是IDLE Session。

3.  示例

    to be continued......

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

上一篇: 打完球
下一篇: 一身冷汗
请登录后发表评论 登录
全部评论
长期从事政务、金融等行业产品研发和架构设计工作,ITPUB数据库版块资深版主,对Oracle、PostgreSQL以及大数据等相关技术有深入研究。现就职于广州云图数据技术有限公司,系统架构师。

注册时间:2007-12-28

  • 博文量
    1250
  • 访问量
    3724849