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

时间:2023-03-09 13:04:23
【翻译自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应该能够自己主动执行了。