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.