使用ass.awk脚本分析systemstate生成的trace文件(LTOM431版本自带了ass109.awk脚本)

联系:QQ(5163721)

标题:使用ass.awk脚本分析systemstate生成的trace文件(LTOM431版本自带了ass109.awk脚本)

作者:Lunar©版权所有[文章允许转载,但必须以链接方式注明源地址,否则追究法律责任.]

在以前,很多客户和朋友曾经各种寻找ass109.awk脚本,用意分析systemstate生成的trace文件。
因为最初ass109.awk文件是Oracle内部一个老外大牛个人写脚本,还不算是Oracle公司产品化的东西,以为不能提供支持。
在LTOM431版本中,已经自带了ass109.awk脚本:

sftp> lpwd
E:/CRT-temp/tools/ltom431/ltom/tom_base/tom/src
sftp> pwd
/rootwork
sftp> lls 
ass109.awk            dumptracebuffer.sh    errorstack.sh
flush.sh              goiostat.sh           govmstat.sh
ha.sh                 haLevel.sh            hfile.sh
initiostat.sh         initvmstat.sh         ksdwrf.sh
lc2.sh                lc4.sh                liststatspack.sh
ltom.jar              ltomHeader.txt        ltommail.sh
monlatch.lst          pha.sh                prelim.sh
prelimss.sh           prha.sh               processstate.sh
prss.sh               pss.sh                rhaLevel.sh
rss.sh                runfile.sh            session_statspack.sh
spcpkg.lis            spctab.lis            spcusr.lis
sprepins.sql          ss.sh                 statspack.sh
testee.sh             tom92spreport.sql     tomsprepins.sql
tomspreport.sql       topaix.sh             tracebufferoff.sh
tracebufferon.sh
sftp> 

ass.awk的使用方法:

D:\>awk -f ass109.awk edw_ora_8371.trc
..........................
Ass.Awk Version 1.0.9 - Processing edw_ora_8371.trc
System State 1
~~~~~~~~~~~~~~~~
1:                                     
2:  waiting for 'rdbms ipc message'     wait
3:  waiting for 'pmon timer'            wait
4:  waiting for 'rdbms ipc message'     wait
5:  waiting for 'rdbms ipc message'     wait
6:  waiting for 'rdbms ipc message'     wait
7:  waiting for 'rdbms ipc message'     wait
8:                                     
9:  waiting for 'rdbms ipc message'     wait
10:                                    
11: waiting for 'rdbms ipc message'     wait
12: for 'Streams AQ: waiting for time management or cleanup tasks' wait
13: waiting for 'rdbms ipc message'     wait
14: waiting for 'Streams AQ: qmn coordinator idle wait' wait
15: waiting for 'rdbms ipc message'     wait
16: waiting for 'Wait for shrink lock'  wait		
17: waiting for 'smon timer'            wait
18: waiting for 'SQL*Net message from client' wait
19: waiting for 'rdbms ipc message'     wait
21: waiting for 'rdbms ipc message'     wait
23: waiting for 'rdbms ipc message'     wait
25: waiting for 'SQL*Net message from client' wait
27: waiting for 'SQL*Net message from client' wait
29: last wait for 'ksdxexeotherwait'   [Rcache object=4f4e57138,]	
     Cmd: Insert
30: waiting for 'Streams AQ: qmn slave idle wait' wait
33: for 'Streams AQ: waiting for messages in the queue' wait
Blockers
~~~~~~~~
       Above is a list of all the processes. If they are waiting for a resource
       then it will be given in square brackets. Below is a summary of the
       waited upon resources, together with the holder of that resource.
       Notes:
       ~~~~~
        o A process id of '???' implies that the holder was not found in the
          systemstate.
                    Resource Holder State
    Rcache object=4f4e57138,    16: waiting for 'Wait for shrink lock'	
Object Names
~~~~~~~~~~~~
Rcache object=4f4e57138,                                  
 
77807 Lines Processed.

从上面的分析可以看出:

Rcache object=4f4e57138,    16: waiting for 'Wait for shrink lock'		

表示当前数据库的blocker是数据库的16号进程(systemstate中的pid 16),他持有了对象4f4e57138的Row Cache锁,而pid 16正在等待:Wait for shrink lock。

29: last wait for 'ksdxexeotherwait'   [Rcache object=4f4e57138,]	
     Cmd: Insert

而这里清晰的指出,29号进程最后的等待是在4f4e57138对象,目前处于挂起状态,无法执行INSERT操作,阻塞他的正式pid 16

不过LTOM目前已经不再开发了,他的很多功能集成到ASH里面了:

IMPORTANT: LTOM is a legacy tool and is no longer being developed. 
Much of the functionality is now available within the Active Session History (ASH). 
For details see: Document 243132.1 Analysis of Active Session History (Ash) Online and Offline
此条目发表在 troubleshoooting 分类目录,贴了 , , 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注