| 導購 | 订阅 | 在线投稿
分享
 
 
 

Oracle數據庫中如何根據時間來執行JOB

來源:互聯網  2008-06-01 03:26:03  評論

問題:假設有一個存儲過程p_test,如何才能每20分鍾執行一次?

解答:

1、把init.ora中如下兩個參數打開

JOB_QUEUE_INTERVAL=60

JOB_QUEUE_PROCESSES=4

job_queue_keep_connections=true

然後重啓一個庫,如果原來已經打開了則不用這步了

2、示例,以下由sqlplus 來執行,具體參照一下相關的文檔

VARIABLE jobno number;

BEGIN

DBMS_JOB.SUBMIT(:jobno,

』p_test;』

SYSDATE,』SYSDATE + 1/72』);

commit;

END;

DBMS_JOB.SUBMIT(:jobno,//job號

』your_procedure;』,//要執行的過程

trunc(sysdate)+1/24,//下次執行時間

』trunc(sysdate)+1/24+1』//每次間隔時間

);

刪除job:dbms_job.remove(jobno);

修改job:dbms_job.what(jobno,what);

修改下次執行時間: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;

問題:假設有一個存儲過程p_test,如何才能每20分鍾執行一次? 解答: 1、把init.ora中如下兩個參數打開 JOB_QUEUE_INTERVAL=60 JOB_QUEUE_PROCESSES=4 job_queue_keep_connections=true 然後重啓一個庫,如果原來已經打開了則不用這步了 2、示例,以下由sqlplus 來執行,具體參照一下相關的文檔 VARIABLE jobno number; BEGIN DBMS_JOB.SUBMIT(:jobno, 』p_test;』 SYSDATE,』SYSDATE + 1/72』); commit; END; DBMS_JOB.SUBMIT(:jobno,//job號 』your_procedure;』,//要執行的過程 trunc(sysdate)+1/24,//下次執行時間 』trunc(sysdate)+1/24+1』//每次間隔時間 ); 刪除job:dbms_job.remove(jobno); 修改job:dbms_job.what(jobno,what); 修改下次執行時間: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;
󰈣󰈤
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有