首页 » ORACLE 9i-23ai » How to hanganalyze and systemstate dumps for Oracle database?

How to hanganalyze and systemstate dumps for Oracle database?

Oracle support request hang analysis and system state dumps when rasing SR.

One 10.1 or higher versions login as

sqlplus -prelim / as sysdba

To do a hanganalyze

oradebug setmypid;
oradebug unlimit;
oradebug hanganalyze 3;

Wait 60 – 90 seconds and run the last command again to identify the process state changes.

To get a systemstate dump

oradebug setmypid;
oradebug unlimit;
oradebug dump systemstate 266;

Wait 60 – 90 seconds and run again to identify the system state changes.
If it is taking too long then cancel and run with level 258.

One a cluster environment use
for hang analyze

oradebug -g all hanganalyze 3

for system state dumps.

oradebug -g all dump systemstate 266

get dump trace file path

oradebug tracefile_name

If there are system issues with your database, you can typically collect the following data trace to SR.

Action Plan
====================
1) For single node
$sqlplus / as sysdba <==When you can login to DB
~or~
$sqlplus -prelim / as sysdba <==When you can't login to DB when DB is hanging 

SQL>oradebug setmypid <<==if you can't login to DB when DB is hanging, please using setospid to pmon OS pid 

SQL>oradebug unlimit
SQL>oradebug hanganalyze 3
SQL>oradebug dump systemstate 258
Wait for some 20 seconds
SQL>oradebug hanganalyze 3
SQL>oradebug dump systemstate 258
Wait for some 20 seconds
SQL>oradebug hanganalyze 3
SQL>oradebug dump systemstate 258
SQL>oradebug tracefile_name ==>This will get the trace file name and trace directory.
SQL>oradebug close_trace

2) For RAC, please take the below steps and upload tracefile_name

Please generate systemstate dump and hanganalyze as sysdba:

$sqlplus / as sysdba <==When you can login to DB
~or~
$sqlplus -prelim / as sysdba <==When you can't login to DB when DB is hanging 

SQL>oradebug setmypid <<==if you can't login DB when DB is hanging, please using setospid to pmon OSpid 
SQL>oradebug unlimit
sql>oradebug setinst all
SQL>oradebug -g all hanganalyze 3
SQL>oradebug -g all dump systemstate 258
Wait for 30 seconds
SQL>oradebug -g all hanganalyze 3
SQL>oradebug -g all dump systemstate 258
Wait for 30 seconds
SQL>oradebug -g all hanganalyze 3
SQL>oradebug -g all dump systemstate 258
SQL>oradebug tracefile_name ==>This will get the trace file path.
SQL>oradebug close_trace

12c 11g:upload all instances diag+dia0+lck trace files 
打赏

, ,

对不起,这篇文章暂时关闭评论。