DUMP进程状态可以使用:
alter
sessions
set
events
'immediate trace name processstate level <level>'
;
或者使用:
oradebug setmypid
oradebug ulimit
oradebug dump processstate<
level
>
当诊断数据库挂起条件时可以DUMP系统状态:
alter
sessions
set
events
'immediate trace name systemstate level <level>'
;
或:
oradebug setmypid
oradebug ulimit
oradebug dump systemstate <
level
>
如果为了获取全面一点的信息,可以使用
Level
10。
SQL> oradebug setmypid
SQL> oradebug unlimit
SQL> oradebug dump systemstate 10
SQL>oradebug TRACEFILE_NAME
SQL>oradebug close_trace
。可以通过awk脚本对trc进分析。(简单,直接。源文件太大,分析起来费劲)
awk-f ass109.awk/u01/oracle/diag/rdbms/ora11g/ora11g/trace/ora11g_ora_9976.trc
Starting Systemstate 1
..................................
Ass.Awk Version 1.0.9 - Processing /u01/oracle/diag/rdbms/ora11g/ora11g/trace/ora11g_ora_9976.trc
System State 1
~~~~~~~~~~~~~~~~
1:
2: 0: waiting
for
'pmon timer'
3: 0: waiting
for
'rdbms ipc message'
4: 0: waiting
for
'VKTM Logical Idle Wait'
5: 0: waiting
for
'rdbms ipc message'
6: 0: waiting
for
'DIAG idle wait'
7: 0: waiting
for
'rdbms ipc message'
8: 0: waiting
for
'DIAG idle wait'
9: 0: waiting
for
'rdbms ipc message'
10: 0: waiting
for
'rdbms ipc message'
11: 0: waiting
for
'rdbms ipc message'
12: 0: waiting
for
'rdbms ipc message'
13: 0: waiting
for
'smon timer'
14: 0: waiting
for
'rdbms ipc message'
15: 0: waiting
for
'rdbms ipc message'
16: 0: waiting
for
'rdbms ipc message'
17:
18:
19: 0: waiting
for
'Space Manager: slave idle wait'
20: 0: waiting
for
'SQL*Net message from client'
21: 0: waiting
for
'enq: TX - row lock contention'
[Enqueue TX-000A0020-0000024F]
Cmd:
Delete
22: 0: waiting
for
'rdbms ipc message'
23: 0: waiting
for
'rdbms ipc message'
24: 0: waiting
for
'rdbms ipc message'
25: 0: waiting
for
'rdbms ipc message'
26: 0: waiting
for
'Streams AQ: qmn coordinator idle wait'
27:
28:
30: 0: waiting
for
'Streams AQ: qmn slave idle wait'
31: 0: waiting
for
'rdbms ipc message'
33: 1: waited
for
'Streams AQ: waiting for time management or cleanup tasks'
35: 0: waiting
for
'rdbms ipc message'
41:
44:
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
Enqueue TX-000A0020-0000024F 20: 0: waiting
for
'SQL*Net message from client'
Object Names
~~~~~~~~~~~~
Enqueue TX-000A0020-0000024F
30586 Lines Processed.