关闭数据库时SHUTDOWN: waiting for active calls to complete.处理

来源:互联网 发布:求购湖南快乐十分源码 编辑:程序博客网 时间:2024/04/30 15:54

转载至http://blog.csdn.net/haibusuanyun/article/details/47073459

有时候在关闭数据库时,发出shutdown immediate;命令后一直未关闭,查看ALERT日志,在等待一段时间后日志中有提示:
SHUTDOWN: waiting for active calls to complete.
原因是有些进程无法被PMON进程清理,导致SHUTDOWN时无法关闭而HANG住。

==》根据观察,在ORACLE10G及以上版本,会是如下提示:(2015/11/24最新验证ORACLE9206中也会提示进程号)
Active call for process 12345 user 'oracle' program 'oracle@abcd'
SHUTDOWN: waiting for active calls to complete.
也就是指出哪个进程引起的等待,此时kill -9 12345 进程即可。


==》但是在Oracle 8I版本中,是不会提示哪个进程ACTIVE引起关闭进程HANG的,提示如下:

Sun Jul 26 21:42:38 2015
ARC0: Beginning to archive log# 6 seq# 393635
ARC0: Completed archiving log# 6 seq# 393635
Sun Jul 26 21:42:54 2015
Shutting down instance (immediate)
License high water mark = 235
Sun Jul 26 21:48:02 2015
SHUTDOWN: waiting for active calls to complete.
这种情况下,只好查找 ps -ef|grep LOCAL=NO 相关进程都kill掉等处理思路。


==》如果是WINDOWS平台,没有进程可以来KILL,最好方法就是停止ORACLE数据库的服务了。


这方面资料可以参考MOS的文档:
Alert Log: Shutdown Waiting for Active Calls to Complete (文档 ID 1039389.6)
如何以最快方式干净的关闭数据库? (文档 ID 1577321.1)



    最近遇到一次ORACLE 8.1.7.4.0数据库的关闭操作时,在关闭前,按照正常关闭数据库流程进行检查和处理:
关闭监听,查看有无ps -ef|grep ora_j,查看是否有事务在运行、是否有大事务需要在重新启动时进程回滚、多次切换归档、多次执行CHECKPOINT完成后再关库。
在以上检查中,LOCAL=NO的会话均进行了处理,也确认了无事务运行;
但是在SHUTDOWN IMMEDIATE命令执行时,仍然HANG住并报SHUTDOWN: waiting for active calls to complete.,
等待多时后,进行查看只有如下进程,尝试kill arc0进程,PMON进程终止实例(相当于SHUTDOWN ABORT),万幸是关机之前确认事务完成、切换REDO/检查点 等操作均有进行,STARTUP时一切正常。


==》这种情况下,建议在SHUTDOWN IMMEDIATE前多次切换LOGFILE,并执行检查点,同时确保应用已经关闭;此时无事务运行同时数据已经写入磁盘;如果无奈之下只能SHUTDOWN ABORT或者是其它KILL进程导致SHUTDOWN ABORT,也很少会造成数据损坏(如数据文件、REDO LOG损坏)导致的实例启动异常。


oracle数据库ora_j000_aaa,这是 job 进程,其中 j 代表 job, 000 为编号,可为 000-999, 共 1000个。 aaa 为 数据库实例名。job 进程可以被 kill,但你想 kill  这个进程,肯定是因为其耗太多的资源。那么,你可以查询一下 dba_jobs_running  看看 job 进程当前在运行你的哪一个 job ,然后,从 dba_jobs  中查出其 what 字段对应的值,便知道具体是什么工作了,联系一下相关的人员,看能不能 kill, 即使能 kill,  在 kill 后,也要让相关人员去优化这个 job 的存储过程,使得以后不会耗那么多资源,从而以后不会需要你再去 kill  这个 job  的进程。



日志如下:
Sun Jul 11 21:50:57 2015
Errors in file /oracle/8.1.7/admin/AAA/bdump/pmon_26680_aaa.trc:
ORA-00473: ARCH process terminated with error
Sun Jul 11 21:50:57 2015
PMON: terminating instance due to error 473
Instance terminated by PMON, pid = 26680
进程如下
  oracle  17016      1   0   Feb 11      - 60:13 ora_arc0_aaa 
  oracle  18346      1   0   Feb 11      - 1568:00 ora_lgwr_aaa 
  oracle  18858      1   0   Feb 11      -  0:02 ora_reco_aaa 
  oracle  22528      1   0   Feb 11      - 122:02 ora_dbw0_aaa 
  oracle  26680      1   0   Feb 11      - 55:24 ora_pmon_aaa 
  oracle  28856      1   0   Feb 11      -  6:02 ora_smon_aaa 
  oracle  29776      1   0   Feb 11      - 67:07 ora_ckpt_aaa 
  oracle  80566  67462   0 21:50:44  pts/0  0:00 grep ora_ 
  oracle 110824      1   0   May 28      - 18:18 ora_arc1_aaa 
0 0
原创粉丝点击