首页 > 代码库 > 【翻译自mos文章】job 不能自动执行的解决方法

【翻译自mos文章】job 不能自动执行的解决方法

job 不能自动执行的解决方法

参考原文:
Jobs do not execute automatically (Doc ID 309945.1)


适用于:
Oracle Server - Enterprise Edition - Version: 9.2.0.4
This problem can occur on any platform.


症状:
Job 不能自动执行。
JOB_QUEUE_PROCESSES 已经设置为大于0的值

你已经检查过 sga 变量kkjsre 的值,该值为0

例子:

SQL> CONN SYS/*********** AS SYSDBA
Connected.
SQL> oradebug setmypid
Statement processed.
SQL> oradebug  dumpvar sga kkjsre
word kkjsre_ [20B7480, 20B7484) = 00000000

原因:

让job 能自动运行,sga变量kkjsre必须为1

取消正在shutdown的过程(Canceling a shutdown in progress ) 是 这个变量值为0的一个原因。

解决方案:

1)以sys登陆

2) 执行下面的命令:

SQL> exec  dbms_ijob.set_enabled(true);

3) 验证 kkjsre 是否被设置为 1

SQL> oradebug setmypid
Statement processed.
SQL> oradebug  dumpvar sga kkjsre
word kkjsre_ [20B7480, 20B7484) = 00000001


4) 确认job 开始自动运行。如果没有,重启db,并再次检查kkjsre的值,该值应该为1,然后job应该可以自动执行了。