Friday, March 25, 2011

How to Check Why Shutdown Immediate Hangs? (Doc ID 164504.1)

fix:

In order to see why shutdown immediate is hanging we need to do the following:

A. While shutdown immediate is hanging

Start Server Manager (or SQL*Plus for 8i or higher)
SVRMGRL> connect internal (or SYSDBA for 8i or higher)
SVRMGRL> select * from x$ktuxe where ktuxecfl = 'DEAD';

This shows dead transactions that smon is looking to rollback.

B. Plan to shutdown again and gather some information. Before issuing the
shutdown immediate command set some events as follows:

SVRMGRL> connect internal
SVRMGRL> alter session set events '10046 trace name context forever,level 12';
SVRMGRL> alter session set events '10400 trace name context forever, level 1';
SVRMGRL> shutdown immediate;

10046 turns on extended SQL_TRACE for the shutdown process.
10400 dumps a systemstate every 5 minutes.

Let the shutdown go for around 15 minutes and then send the traces to Oracle
Support. The traces are written to the location specified by user_dump_dest parameter.
The trace files should show where the time is going.

Note :
Shut down immediate may hang because of various reasons.
- processes still continue to be connected to the database and do not terminate.
- SMON is cleaning temp segments or performing delayed block cleanouts.
- Uncommitted transactions are being rolled back.

No comments: