1. 程式人生 > >【翻譯自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應該可以自動執行了。