- 论坛徽章:
- 0
|
在Oracle提供可以執行Scheduled Jobs的功能, 但一開始可能會發生建立了一個Scheduled Job, 手動執行都沒問題, 但在排定的時間內卻未執行, 真正的問題出在有一個Oracle Parameter: job_queue_processes之值未設定或設定為0, 此種情況就會造成沒有任何的Scheduled Job會被執行, 所以, 依據下面方式即可解決:
1.修改$ORACLE_HOME\DBS\init.ora檔案, 將 job_queue_processes設成大於0, 再重新啟動Oracle
2.或Alter system set job_queue_process=大於0以上之值;
3.以TOAD來修改
3.1先以system帳號登入TOAD
3.2開啟【Database】>【Administer】>【Oracle Parameters】
3.3修改job_queue_processes這個參數值為【1】以上的值
4. 在寫Job時,務必注意【interval】不可為【null】,否則僅會執行一次,該Job就會自動被刪除
DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
( job => X
,what => 'ScheduledTask;'
,next_date => to_date('25/01/2008 08:00:00','dd/mm/yyyy hh24:mi:ss')
,interval => 'TRUNC(SYSDATE+1) + 480/1440' è每天早上08:00執行
,no_parse => FALSE
);
SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
COMMIT;
END;/
--------------------------
这个是在描述什么呢?我怎么没这个参数:job_queue_processes |
|