溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

oracle設(shè)置定時任務(wù)job調(diào)度執(zhí)行存儲過程或pl/sql代碼塊

發(fā)布時間:2020-06-29 03:33:31 來源:網(wǎng)絡(luò) 閱讀:5228 作者:zhanglunc 欄目:關(guān)系型數(shù)據(jù)庫

   目前oracle數(shù)據(jù)庫設(shè)置定時任務(wù)job調(diào)度一般有兩種方式,分別是dbms_scheduler創(chuàng)建job調(diào)度dbms_job創(chuàng)建job調(diào)度。dbms_scheduler創(chuàng)建job調(diào)度是在10g以后才有的,甲骨文公司為了用來替換dbms_job而提供了更強大的功能與更靈活的機制/管理。下面介紹這兩種方式。

       1. dbms_scheduler創(chuàng)建job調(diào)度。

--查詢
 select * from dba_scheduler_jobs;
--創(chuàng)建job
 begin
 dbms_scheduler.create_job (
 job_name => 'job_myjob', --job名
 job_type => 'STORED_PROCEDURE',--job類型
 job_action => 'proc_myproc', --存儲過程名
 start_date => sysdate,--開始執(zhí)行時間
 repeat_interval => 'FREQ=DAILY;BYHOUR=9;BYMINUTE=30;BYSECOND=0', -- 下次執(zhí)行時間,按天,每天09:30:00執(zhí)行存儲過程proc_myproc
 comments => '測試JOB',--注釋
 auto_drop=>false  --job禁用后是否自動刪除
 );
 end;
--運行
begin
dbms_scheduler.run_job('job_myjob');
end;
--啟用
begin
dbms_scheduler.enable('job_myjob');
end;
--禁用
begin
dbms_scheduler.disable('job_myjob');
end;
--刪除
begin
   dbms_scheduler.drop_job(job_name => 'job_myjob',force => TRUE);
  end;

2.dbms_job創(chuàng)建job調(diào)度。

--查詢
select * from dba_jobs;
select * from all_jobs;
select * from user_jobs;
select * from dba_jobs_running;
-- 創(chuàng)建job
declare      
   job_id number;--聲明一個out變量
begin
    -- 按天,每天09:30:00執(zhí)行這個存儲過程proc_myproc,并且輸出一個job_id變量,其值為該job的ID號
   dbms_job.submit(
       job_id, --參數(shù)是輸出參數(shù),由submit()過程返回的binary_ineger,這個值用來唯一標(biāo)識一個工作。一般定義一個變量接收,可以去user_jobs視圖查詢job值。 
       'proc_myproc;',  --參數(shù)是將被執(zhí)行的PL/SQL代碼塊,存儲過程名稱等。  
       sysdate, --參數(shù)指識何時將運行這個工作。 
       'TRUNC(SYSDATE+1)+(9*60+30)/(24*60)'    --參數(shù)何時這個工作將被重執(zhí)行。
    ); 
   -- 把job的ID號打印出來
   dbms_output.put_line(job_id);
end;
-- 運行job
begin
    -- 這個7為job_id,請換為你自己對應(yīng)的job號
   dbms_job.run(7);
end; 
-- 啟用job
begin
   dbms_job.broken(7,false);
end; 
-- 禁用job
begin
   dbms_job.broken(7,true);
end; 
-- 刪除一個job
begin
   dbms_job.remove(7);
end;

    總結(jié):推薦大家使用dbms_scheduler來創(chuàng)建job調(diào)度。job調(diào)度可以定時執(zhí)行PL/SQL代碼塊,存儲過程等。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI