工具: ass109.awk 分析 Oracle 的TRACE FILE(好工具)

来源:互联网 发布:linux spark 集群搭建 编辑:程序博客网 时间:2024/05/17 03:25

tace file动辄几十MB,分析取来确实很费力,网上牛人写了个分析trace file的工具,很强大,很受用:


oracle@pt1bakdb1:~> awk -f ass109.awk zxin1_mmon_28913.trc


Starting Systemstate 1

.............................................................................

Ass.Awk Version 1.0.9 - Processing zxin1_mmon_28913.trc


System State 1

~~~~~~~~~~~~~~~~

1:                                      

2:  waiting for 'pmon timer'            

3:  waiting for 'DIAG idle wait'        

4:  waiting for 'rdbms ipc message'    

5:  waiting for 'rdbms ipc message'    [Latch received-location:]

6:  last wait for 'ges remote message'  

7:  waiting for 'gcs remote message'    

8:  waiting for 'gcs remote message'    

9:  waiting for 'gcs remote message'    

10: waiting for 'gcs remote message'    

11: waiting for 'gcs remote message'    

12: waiting for 'gcs remote message'    

13: waiting for 'gcs remote message'    

14: waiting for 'gcs remote message'    

15: waiting for 'gcs remote message'    

16: waiting for 'gcs remote message'    

17: waiting for 'gcs remote message'    

18: waiting for 'gcs remote message'    

19: waiting for 'gcs remote message'    

20: waiting for 'gcs remote message'    

21: waiting for 'gcs remote message'    

22: waiting for 'gcs remote message'    

23: waiting for 'gcs remote message'    

24: waiting for 'gcs remote message'    

25: waiting for 'gcs remote message'    

26: waiting for 'gcs remote message'    

27: waiting for 'rdbms ipc message'    

28: waiting for 'rdbms ipc message'    

29: waiting for 'rdbms ipc message'    

30: waiting for 'rdbms ipc message'    

31: waiting for 'rdbms ipc message'    

32: waiting for 'rdbms ipc message'    

33: waiting for 'rdbms ipc message'    

34: waiting for 'rdbms ipc message'    

35: waiting for 'rdbms ipc message'    

36: waiting for 'rdbms ipc message'    

37: waiting for 'rdbms ipc message'    

38: waiting for 'rdbms ipc message'    

39: waiting for 'rdbms ipc message'    

40: last wait for 'smon timer'          

41: waiting for 'rdbms ipc message'    

42: waiting for 'rdbms ipc message'    

43: last wait for 'ksdxexeotherwait'   [Rcache object=0xa9ae11eb8,]

44: last wait for 'rdbms ipc message'  

45:                                    

46:                                    

47: waiting for 'DFS lock handle'      

48: for 'Streams AQ: waiting for time management or cleanup tasks'

49: waiting for 'ASM background timer'  

50: waiting for 'rdbms ipc message'    

51: waiting for 'SQL*Net message from client'

52: for 'Streams AQ: waiting for messages in the queue'

53: waiting for 'rdbms ipc message'    

54: waiting for 'rdbms ipc message'    

55: waiting for 'Streams AQ: qmn coordinator idle wait'

56: waiting for 'SQL*Net message from client'

57: waiting for 'SQL*Net message from client'

58:                                    

59: waiting for 'SQL*Net message from client'

60: last wait for 'SQL*Net message from client'

61: for 'Streams AQ: waiting for messages in the queue'

62: waiting for 'SQL*Net message from client'

63: waiting for 'Streams AQ: qmn slave idle wait'

64: waiting for 'SQL*Net message from client'

65: waiting for 'SQL*Net message from client'

66: waiting for 'SQL*Net message from client'

67: waiting for 'SQL*Net message from client'

68: waiting for 'SQL*Net message from client'

69: waiting for 'wait for unread message on broadcast channel'

    Cmd: PL/SQL Execute

70: waiting for 'jobq slave wait'      

72: waiting for 'SQL*Net message from client'

73: waiting for 'SQL*Net message from client'

74: waiting for 'SQL*Net message from client'

75: waiting for 'SQL*Net message from client'

84: waiting for 'class slave wait'      

85: waiting for 'SQL*Net message from client'

96: waiting for 'SQL*Net message from client'

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

   Latch received-location:    ??? Blocker

 Rcache object=0xa9ae11eb8,    ??? Blocker


Object Names

~~~~~~~~~~~~

Latch received-location:                      last post received-location: kjmdrms

Rcache object=0xa9ae11eb8,                                    



250432 Lines Processed.

oracle@pt1bakdb1:~> exprot LANG=C

If 'exprot' is not a typo you can run the following command to lookup the package that contains the binary:

   command-not-found exprot

-bash: exprot: command not found

oracle@pt1bakdb1:~> export LANG=C

oracle@pt1bakdb1:~> awk -f ass109.awk zxin1_mmon_28913.trc


Starting Systemstate 1

.............................................................................

Ass.Awk Version 1.0.9 - Processing zxin1_mmon_28913.trc


System State 1

~~~~~~~~~~~~~~~~

1:                                      

2:  waiting for 'pmon timer'            

3:  waiting for 'DIAG idle wait'        

4:  waiting for 'rdbms ipc message'    

5:  waiting for 'rdbms ipc message'    [Latch received-location:]

6:  last wait for 'ges remote message'  

7:  waiting for 'gcs remote message'    

8:  waiting for 'gcs remote message'    

9:  waiting for 'gcs remote message'    

10: waiting for 'gcs remote message'    

11: waiting for 'gcs remote message'    

12: waiting for 'gcs remote message'    

13: waiting for 'gcs remote message'    

14: waiting for 'gcs remote message'    

15: waiting for 'gcs remote message'    

16: waiting for 'gcs remote message'    

17: waiting for 'gcs remote message'    

18: waiting for 'gcs remote message'    

19: waiting for 'gcs remote message'    

20: waiting for 'gcs remote message'    

21: waiting for 'gcs remote message'    

22: waiting for 'gcs remote message'    

23: waiting for 'gcs remote message'    

24: waiting for 'gcs remote message'    

25: waiting for 'gcs remote message'    

26: waiting for 'gcs remote message'    

27: waiting for 'rdbms ipc message'    

28: waiting for 'rdbms ipc message'    

29: waiting for 'rdbms ipc message'    

30: waiting for 'rdbms ipc message'    

31: waiting for 'rdbms ipc message'    

32: waiting for 'rdbms ipc message'    

33: waiting for 'rdbms ipc message'    

34: waiting for 'rdbms ipc message'    

35: waiting for 'rdbms ipc message'    

36: waiting for 'rdbms ipc message'    

37: waiting for 'rdbms ipc message'    

38: waiting for 'rdbms ipc message'    

39: waiting for 'rdbms ipc message'    

40: last wait for 'smon timer'          

41: waiting for 'rdbms ipc message'    

42: waiting for 'rdbms ipc message'    

43: last wait for 'ksdxexeotherwait'   [Rcache object=0xa9ae11eb8,]

44: last wait for 'rdbms ipc message'  

45:                                    

46:                                    

47: waiting for 'DFS lock handle'      

48: for 'Streams AQ: waiting for time management or cleanup tasks'

49: waiting for 'ASM background timer'  

50: waiting for 'rdbms ipc message'    

51: waiting for 'SQL*Net message from client'

52: for 'Streams AQ: waiting for messages in the queue'

53: waiting for 'rdbms ipc message'    

54: waiting for 'rdbms ipc message'    

55: waiting for 'Streams AQ: qmn coordinator idle wait'

56: waiting for 'SQL*Net message from client'

57: waiting for 'SQL*Net message from client'

58:                                    

59: waiting for 'SQL*Net message from client'

60: last wait for 'SQL*Net message from client'

61: for 'Streams AQ: waiting for messages in the queue'

62: waiting for 'SQL*Net message from client'

63: waiting for 'Streams AQ: qmn slave idle wait'

64: waiting for 'SQL*Net message from client'

65: waiting for 'SQL*Net message from client'

66: waiting for 'SQL*Net message from client'

67: waiting for 'SQL*Net message from client'

68: waiting for 'SQL*Net message from client'

69: waiting for 'wait for unread message on broadcast channel'

    Cmd: PL/SQL Execute

70: waiting for 'jobq slave wait'      

72: waiting for 'SQL*Net message from client'

73: waiting for 'SQL*Net message from client'

74: waiting for 'SQL*Net message from client'

75: waiting for 'SQL*Net message from client'

84: waiting for 'class slave wait'      

85: waiting for 'SQL*Net message from client'

96: waiting for 'SQL*Net message from client'

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

   Latch received-location:    ??? Blocker

 Rcache object=0xa9ae11eb8,    ??? Blocker


Object Names

~~~~~~~~~~~~

Latch received-location:                      last post received-location: kjmdrms

Rcache object=0xa9ae11eb8,                                    



250432 Lines Processed.