SHUTDOWN: waiting for active calls to complete.

来源:互联网 发布:mac邮件里面的qq邮箱 编辑:程序博客网 时间:2024/05/17 23:40

赶上要重启数据库
shutdown immediate 后一直等在那里没有返回


[root@bidb bdump]# tail -f alert_bidw.log 
Thu Jan  2 12:22:14 2014
Shutting down instance (immediate)
License high water mark = 231
Thu Jan  2 12:22:14 2014
Stopping Job queue slave processes, flags = 7
Thu Jan  2 12:22:14 2014
Job queue slave processes stopped
Thu Jan  2 12:27:13 2014
Active call for process 28285 user 'oracle' program 'oracle@bidb'
SHUTDOWN: waiting for active calls to complete.
Thu Jan  2 12:42:14 2014
MMNL absent for 1261 secs; Foregrounds taking over
Thu Jan  2 13:22:16 2014
SHUTDOWN: Active sessions prevent database close operation
Thu Jan  2 13:23:29 2014


shutdown 等了一个小时都没有关掉,果断shutdown abort 硬上了。
后来查了一下资料:
提到oracle Metalink上的1039389.6,其内容如下:
Checked for relevance on 11-Dec-2008


Problem Description: 
==================== 
 
You are attempting to shut down the database and the database hangs.  The 
alert log contains the following message: 
 
 
   SHUTDOWN: Waiting for active calls to complete 
 
 
There are no other error messages in the alert log. 




Solution Description:
=====================


--------------------------------------------------------
Caveat:   This note is intended for Unix platforms primarily, but we should 
address this issue on Windows platforms as well.  On Windows, stopping the 
service is a valid workaround for these errors.
--------------------------------------------------------


Locate and kill any client connections to the database at the Unix level, as
follows: 
 
1. Locate any client connections to the database using ps, and grep for any 
   processes belonging to this . 
  
       Example: ps -ef | grep V733 
 
2. Look for processes that include a 'Local=No' designation. 
 
       Example: osupport 6235 1 0 Nov 24  0:01 oracleV733  (LOCAL=NO) 
 
3. Kill the Unix process(es) with the 'Local=No' designation. 
 
       Example: Kill -9 6235 
 
 
Explanation: 
============ 


The database is waiting for pmon to clean up processes, but pmon is unable to 
clean them. The client connections to the server are causing the shutdown 
immediate or normal to hang.  Killing them allows pmon to clean up and release 
the associated Oracle processes and resources.


What resources are we talking about?


1) Any non committed transactions must be rolled back
2) Any temporary space (sort segments / lobs / session temporary tables) must be freed
3) The session itself and any associated memory consumed by the session.
4) Internal locks / enqueues must be cleaned up


Often Oracle (SMON or PMON depending on whether Shared Server is used) will wait for the OS to terminate the process(es) associated with the session.  I the OS never returns, or fails to terminate them, then the instance shutdown will hang with this message (Shutdown Waiting for Active Calls to Complete)


Other means exist to achieve a quick shutdown, as outlined in Note 386408.1 - What Is The Fastest Way To Cleanly Shutdown An Oracle Database?




Note that in E-Business Environments, the same messages can be produced if the database shutdown process starts before the concurrent manager stops in the application server .


0 0
原创粉丝点击