In this Document
| Purpose |
| Details |
| A- SMON disabling TX Recovery |
| B- Active Processes Prevent Shutdown |
| C- Waiting for MMON process |
| D- Waiting On ORA_J00# Process |
| E- Shutdown is taking forever, can only do a SHUTDOWN ABORT |
| References |
The goal of this document is diagnosing the different scenarios when shutdown normal/immediate hangs
In the alert.log, you see only the following.. There are no ORA- errors or trace files generated.
During a SHUTDOWN IMMEDIATE and SHUTDOWN NORMAL, SMON is cleaning up extents which are no longer needed and marking them as freed.
Solution: Either wait for SMON to clean up the free extents in the database as it shuts down or perform a SHUTDOWN ABORT to shutdown the instance.
NOTE: A SHUTDOWN ABORT will not perform a clean shutdown.
For more information, please refer to Shutdown Normal or Shutdown Immediate Hangs. SMON disabling TX Recovery (1076161.6)
The alert log lists messages like:
If the DB Control repository is running on the database target against which shutdown immediate was attempted then an incorrect order of events seems used.
You should stop DB Control first to get rid of all connections between DB Control and the repository database and then shutdown the database with 'shutdown immediate'.
Solution:
1. Given OEM connections are active (SYSMAN and DBSNMP), de-activate these sessions, i.e. by stopping the agent/DBConsole
2. Then shutdown immediate as normal
- OR -
There may be processes still running and holding locks at the time a shutdown is issued.
Sometimes these are failed jobs or transactions, which are effectively 'zombies', which are not able to receive a signal from Oracle.
If this occurs, the only way to shutdown the database is by doing:
sql>
shutdown abort
startup restrict
shutdown normal
The startup does any necessary recovery and cleanup, so that a valid cold backup can be taken afterward.
If this issue occurs frequently, it would be a good practice to see if there are any active user processes running in v$session or v$process before shutting down the instance.
3. You can kill the sessions preventing shutdown. Refer: Alert Log: Shutdown Waiting for Active Calls to Complete (Doc ID 1039389.6)
For more information, please refer to Shutdown Immediate Hangs / Active Processes Prevent Shutdown (Doc ID 416658.1)
The alert.log will show that the shutdown is waiting for MMON and its slave processes to be terminated:
This is caused by Bug 9132776 - AWR SNAPSHOT NOT GENERATED AFTER 11.2 UPGRADE
Solution: Please download and apply the one off Patch 9132776 if available for your platform. The fix for this bug is also included in patch set 11.2.0.2.
For more information, please refer to Shutdown Normal or Immediate Hang Waiting for MMON process (Doc ID 1183213.1)
The alert.log will look like:
Shutdown normal is waiting for a job to finish. To check which job is currently running on the database use
Solution: First stop the active job, and then proceed to shutdown normal.
No error messages appear in the alert.log file. However, the resultant trace file within the udump directory from setting a trace event as follows:
Connect as SYS (/ as sysdba)
SQL> alter session set events '10046 trace name context forever,level 12';
SQL> shutdown immediate;
Will Show:
Solution: Periodically (eg once a day) run exec DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO;
DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO will clean out redundant col_usage$ entries, and when you come to shutdown the database you should not have a huge number of entries left to clean up.
For more information, please refer to Database Shutdown Immediate Takes Forever, Can Only Do Shutdown Abort (Doc ID 332177.1)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29953799/viewspace-1871819/ ,如需转载,请注明出处,否则将追究法律责任。