Oracle數(shù)據(jù)庫中如何根據(jù)時間來執(zhí)行JOB
解答:
1、把init.ora中如下兩個參數(shù)打開
JOB_QUEUE_INTERVAL=60
JOB_QUEUE_PROCESSES=4
job_queue_keep_connections=true
然后重啟一個庫,如果原來已經(jīng)打開了則不用這步了
2、示例,以下由sqlplus 來執(zhí)行,具體參照一下相關(guān)的文檔
VARIABLE jobno number;
BEGIN
DBMS_JOB.SUBMIT(:jobno,
’p_test;’
SYSDATE,’SYSDATE + 1/72’);
commit;
END;
DBMS_JOB.SUBMIT(:jobno,//job號
’your_procedure;’,//要執(zhí)行的過程
trunc(sysdate)+1/24,//下次執(zhí)行時間
’trunc(sysdate)+1/24+1’//每次間隔時間
);
刪除job:dbms_job.remove(jobno);
修改job:dbms_job.what(jobno,what);
修改下次執(zhí)行時間:dbms_job.next_date(job,next_date);
修改間隔時間:dbms_job.interval(job,interval);
停止job:dbms.broken(job,broken,nextdate);
啟動job:dbms_job.run(jobno);
例子:
VARIABLE jobno number;
begin
DBMS_JOB.SUBMIT(:jobno,
’Procdemo;’,
SYSDATE, ’SYSDATE + 1/720’);
commit;
end;
