WEB开发网
开发学院数据库Oracle 教你熟练使用hanganalyze来分析数据库 阅读

教你熟练使用hanganalyze来分析数据库

 2007-08-18 12:38:24 来源:WEB开发网   
核心提示: Oracle 8.x chain header:<sid/sess_srno/proc_ptr/ospid/wait_event>Oracle9i chain header:<cnode/sid/sess_srno/proc_ptr/ospidd/wait_event&g
Oracle 8.x chain header:
<sid/sess_srno/proc_ptr/ospid/wait_event>
Oracle9i chain header:
<cnode/sid/sess_srno/proc_ptr/ospidd/wait_event> :

先把在trace file中看到的一些缩略语解释一下:

sid是 Session ID
sess_srno是serial#
proc_ptr是Process Pointer
ospid 是OS Process ID
cnode是Node Id,Oracle9i才用
Nodenum是hanganalyze
自己为了记录这些会话而定制的编号,从0开始排起。
State 是node的状态
Adjlist是临近的node(通常代表一个blocker node)
Predecessor是Predecessor node ,通常代表一个 waiter node

接着解释一下比较重要的一些node state:

IN_HANG:这表示该node处于死锁状态,通常还有其他node(blocker)也处于该状态

LEAF/LEAF_NW:该node通常是blocker。通过条目的”predecessor”列可以判断这个node是否是blocker。LEAF说明该NODE没有等待其他资源,而LEAF_NW则可能是没有等待其他资源或者是在使用CPU.

如下的实例说明了node16阻塞了node19的资源:

nodenum]/cnode/sid/sess_srno/session/
ospid/state/start/finish/[adjlist]/predecessor
[16]/0/17/154/0x24617be0/26800/LEAF/29/30//19
[19]/0/20/13/0x24619830/26791/NLEAF/33/34/[16]/186

NLEAF:通常可以看作这些会话是被阻塞的资源。发生这种情况一般说明数据库发生性能问题而不是数据库hang

IGN/IGN_DMP:这类会话通常被认为是空闲会话,除非其adjlist列里存在node。如果是非空闲会话则说明其adjlist里的node正在等待其他node释放资源。

Tags:熟练 使用 hanganalyze

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接