介紹幾種數據字典視圖:
Dba_jobs該數據庫將任務定義到任務隊列中。
dba_jobs_running當前正在運行的任務。
當前用戶擁有的User_jobs任務
時間間隔參數的間隔設置
每天運行壹次'系統日期+1 '
每小時運行壹次'系統日期+1/24 '
每10分鐘運行壹次'系統日期+10/(24*60)'
每30秒運行壹次'系統日期+30/(24*60*60)'
每周壹次'系統日期+7 '
停止運行任務並將其刪除為空。
上述時間間隔不能保證任務的下壹次運行將在特定的時間,只能指定任務兩次運行之間的時間間隔。
特定日期或時間的示例
每晚午夜' trunc(sysdate+1)'
每天早上8:30 ' trunc(sysdate+1)+(8 * 60+30)/(24 * 60)'
每個星期二中午12 '第二天(trunc (sysdate),"星期二"+12/24)'
12每月第壹天的午夜' trunc(last _ day(sysdate)+1)'
在總結之前,請逐壹解釋Job的參數:
作業參數是Submit()過程返回的binary_ineger。該值用於唯壹標識作業;
要執行的PL/SQL代碼塊的參數是什麽;
next_date參數指示作業將在何時運行。寫作業時不需要指定這個值;默認值為“4000-1-1”;
重新執行該作業的時間間隔參數。
Interval的值是決定何時重新執行作業的關鍵
附上兩個我自己寫的例子:
-每天淩晨1點
聲明
x數;
開始
sys . DBMS _ job . submit(job = & gt;x,
what = & gtbegin pro _ job _ test.pro _ job _ day結束;',
next _ date = & gtto _ date(' 13-07-2011 01:00:00 ',' dd-mm-yyyy hh24:mi:ss '),
interval = & gtTRUNC(系統日期+1)+1/24 ');
SYS。DBMS_OUTPUTPUT_LINE('作業號為:' | | to _ char(x));
提交;
結束;
-65438+每月0天。
聲明
x數;
開始
sys . DBMS _ job . submit(job = & gt;x,
what = & gtbegin pro _ job _ test . pro _ job _ month;結束;',
next _ date = & gtto _ date(' 01-08-2011 01:00:00 ',' dd-mm-yyyy hh24:mi:ss '),
interval = & gttrunc(last _ day(sysdate)+1)');
SYS。DBMS_OUTPUTPUT_LINE('作業號為:' | | to _ char(x));
提交;
結束;