首页 > 代码库 > 【翻译自mos文章】在一次失败的 'Shutdown Immediate'之后,数据库job 不能运行。

【翻译自mos文章】在一次失败的 'Shutdown Immediate'之后,数据库job 不能运行。

在一次失败的 ‘Shutdown Immediate‘之后,数据库job 不能运行。

参考原文:
Database Jobs Do Not Run After a Failed ‘Shutdown Immediate‘ (Doc ID 434690.1)

适用于:
Oracle Server - Enterprise Edition - Version 9.2.0.1 to 10.2.0.1 [Release 9.2 to 10.2]
Information in this document applies to any platform.
***Checked for relevance on 25-Jul-2012***

症状:
在发出了一个‘shutdown immediate‘ 之后,如果在一个小时之后还没有执行,oracle server 自动取消这个操作。
一条消息会出现在alert日志中:
SHUTDOWN: Active sessions prevent database close operation

不幸的是, 关闭所有 作为shutdown process 一部分的job queue slave进程 有额外的影响,
这个影响就是--任何在dba_jobs里边的job都无法运行。
这回影响很大范围的功能,比如统计信息收集,复制传播,物化视图刷新等等

原因:

这是期望的行为。一旦‘shutdown‘ 命令被发出,shutdown 必须被执行。

shutdown 过程不能回退。这是因为instance 在shutdown conceled后 不会live。

解决方案:
请执行下面的步骤:
1. 若在DBA_JOBS_RUNNING中的job有相关的操作系统进程 依然存在,这些进程应该从os级别被kill掉
2.发出 shutdown immediate
3.监控database 的alert log.如果新的‘Shutdown: waiting for active calls to complete‘ 消息出现,执行下面的:

shutdown abort
startup restrict
shutdown immediate
startup

推荐在abort database 之前,要有一个好的备份可用。