SQL> oradebug help ...
---oradebug setmypid
select spid, pid from v$process where addr = (select paddr from v$session where sid = );
select spid, pid from v$process where addr = (select paddr from v$session where sid = );
SQL> oradebug setospid 19592
SQL> oradebug setorapid 18 (use pid from the query above)
SQL> oradebug setorapid 18 force
SQL> oradebug setorapid 18 force
SQL> oradebug setospid 10929
SQL> oradebug EVENT 10046 trace name context forever, level 12
SQL> oradebug EVENT 10046 trace name context forever, level 12
SQL> oradebug session_event 10046 trace name context forever,level 12
SQL> oradebug session_event 10046 trace name context off
SQL> oradebug session_event 10046 trace name context off
---oradebug sgatofile
---oradebug hanganalyze
1-2 Only HANGANALYZE output, no process dump at all
3 Level 2 + Dump only processes thought to be in a hang (IN_HANG state)
4 Level 3 + Dump leaf nodes (blockers) in wait chains (LEAF,LEAF_NW,IGN_DMP state)
5 Level 4 + Dump all processes involved in wait chains (NLEAF state)
10 Dump all processes (IGN state)
---To perform. cluster wide HANGANALYZE use the following syntax:
ORADEBUG setmypid
ORADEBUG setinst all
ORADEBUG -g def hanganalyze
1-2 Only HANGANALYZE output, no process dump at all
3 Level 2 + Dump only processes thought to be in a hang (IN_HANG state)
4 Level 3 + Dump leaf nodes (blockers) in wait chains (LEAF,LEAF_NW,IGN_DMP state)
5 Level 4 + Dump all processes involved in wait chains (NLEAF state)
10 Dump all processes (IGN state)
---To perform. cluster wide HANGANALYZE use the following syntax:
ORADEBUG setmypid
ORADEBUG setinst all
ORADEBUG -g def hanganalyze
---oradebug dump errorstack
0 dump error buffer
1 level 0 + call stack
2 level 1 + process state objects
3 level 2 + context area
SQL> oradebug setospid 13446
SQL> oradebug unlimit
SQL> oradebug dump errorstack
0 dump error buffer
1 level 0 + call stack
2 level 1 + process state objects
3 level 2 + context area
SQL> oradebug setospid 13446
SQL> oradebug unlimit
SQL> oradebug dump errorstack
---oradebug ipc
SQL> oradebug setmypid
SQL> oradebug ipc
SQL> oradebug setmypid
SQL> oradebug ipc
---oradebug procstat
select pid,name from v$process p, v$bgprocess b where b.paddr = p.addr
SQL> oradebug setorapid 3
SQL> oradebug procstat
select pid,name from v$process p, v$bgprocess b where b.paddr = p.addr
SQL> oradebug setorapid 3
SQL> oradebug procstat
---oradebug dump systemstate
SQL> oradebug setmypid
SQL> oradebug unlimit
SQL> oradebug setinst all
SQL> oradebug -g def dump systemstate 10
SQL> oradebug setmypid
SQL> oradebug unlimit
SQL> oradebug setinst all
SQL> oradebug -g def dump systemstate 10
---select pid from v$process p, v$bgprocess b where b.paddr = p.addr and name='SMON';
---oradebug wakeup
SQL> oradebug setospid 19272
SQL> oradebug suspend
SQL> oradebug resume
---oradebug wakeup
SQL> oradebug setospid 19272
SQL> oradebug suspend
SQL> oradebug resume
---oradebug -G
---oradebug setinst
---To find out where is the trace file located run:
SQL> oradebug tracefile_name
/ora-main/app/oracle/admin/test/
SQL> oradebug tracefile_name
/ora-main/app/oracle/admin/test/
---
sqlplus -prelim / as sysdba
export ORACLE_SID=PROD
sqlplus -prelim / as sysdba
oradebug setmypid
oradebug unlimit;
oradebug dump systemstate 266
oradebug dump systemstate 258
---
ALTER SESSION SET EVENTS 'IMMEDIATE TRACE NAME SYSTEMSTATE LEVEL 266';
或
ALTER SESSION SET EVENTS 'IMMEDIATE TRACE NAME SYSTEMSTATE LEVEL 258';
定位trace文件
SQL> show parameter user_dump_dest
ALTER SESSION SET EVENTS 'IMMEDIATE TRACE NAME SYSTEMSTATE LEVEL 266';
或
ALTER SESSION SET EVENTS 'IMMEDIATE TRACE NAME SYSTEMSTATE LEVEL 258';
定位trace文件
SQL> show parameter user_dump_dest
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22308399/viewspace-750699/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22308399/viewspace-750699/