Re: Shutdown instance - hangs
Date: 5 Mar 2002 22:35:44 -0800
Message-ID: <1a68177.0203052235.20d96f15_at_posting.google.com>
Did you see if there are any other user sessions in Oracle before you
shutdown?
In case there are user sessions, SHUTDOWN will wait till they
disconnect.
You try SHUTDOWN TRANSACTIONAL and if that doesn't work try SHUTDOWN
ABORT and if that doesnt work use SHUTDOWN ABORT.
If SHUTDOWN command hangs in 8.1.7, you can use SVRMGRL to connect as
internal and issue the SHUTDOWN ABORT command.
Sometimes even SHUTDOWN IMMEDIATE seems to hang and i have seen users
reporting that the command hangs for several hours.
There is also a [BUG:1876878] which states SHUTDOWN may take a LONG
time due to full table scans of OBJ$
The most common problems with shutdown immediate not completing are as follows:
- Shutdown is actually taking a long time rolling back a transaction.
- Pmon not able to clean up process, this usually occurs for remote connections, or connections made to the database through a database link.
- SMON is cleaning up the temp tables and it is taking it a long time to complete (as John mentions) This is a very common cause of the shutdown hanging. You can verify if the SMON is cleaning up TEMP segments after the SHUTDOWN command by opening an other session from SVRMGRL>CONNECT INTERNAL and issuing this query ferquently SELECT COUNT(block#) FROM fet$; You can avoid creating many temporary extents by changing the initial and next extent sizes on temporary tablespaces
- Connections that were terminated abnormally (client PC rebooted,etc.). You can implement dead connection detection to clean these up (SQLNET.EXPIRE_TIME in sqlnet.ora).
The things to look for is if any of the background processes are consuming CPU or I/O. In other words, is the shutdown hanging, or is it doing something but it is taking a long time. Check for remote connections and check both the BACKGROUND_DUMP_DEST and USER_DUMP_DEST to see if you get additional information.
Also, before issuing the shutdown command:
alter session set events
'10400 trace name context forever, level 1';
This will produce a systemstate dump every 5 minutes while the shutdown is hanging. Let it hang for 15 minutes. This will give us more information.
You can also open an other session and try querying the V$SESSION_LONGOPS Received on Wed Mar 06 2002 - 07:35:44 CET