如何為Oracle數(shù)據(jù)庫增加相應的計劃任務
我經(jīng)常在SQL Server上創(chuàng)建一些作業(yè)來定時執(zhí)行一些相關任務,在Oracle數(shù)據(jù)庫下一般都是通過相關編碼的方式,通過某些項目自帶的實際計劃任務框架去對存儲過程進行調(diào)用。今天才發(fā)現(xiàn),原來Oracle下創(chuàng)建一個計劃任務要比SQL Server簡單的多。
1、創(chuàng)建計劃任務:
Sql代碼
- X NUMBER;
- GIN
- SYS.DBMS_JOB.SUBMIT(job => X,
- what => 'PROC_YKTSJTB;',
存儲過程名稱
- next_date => trunc(sysdate+5/1440,'MI'),
下次執(zhí)行時間
- interval => 'trunc(sysdate+1440/1440,''MI'')',
間隔時間
- no_parse => FALSE);
- SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
- COMMIT;
- D;
- X NUMBER;
- BEGIN
- SYS.DBMS_JOB.SUBMIT(job => X,
- what => 'PROC_YKTSJTB;',
存儲過程名稱
- next_date => trunc(sysdate+5/1440,'MI'),
下次執(zhí)行時間
- interval => 'trunc(sysdate+1440/1440,''MI'')',
間隔時間
- no_parse => FALSE);
- SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
- COMMIT;
- END;
以上主要注意三個參數(shù):
what :需要計劃任務執(zhí)行的動作;
next_date:下次計劃任務執(zhí)行的時間,具體時間可以根據(jù)Oracle數(shù)據(jù)庫的trunc構造;
interval:計劃任務的執(zhí)行周期;
2、計劃任務執(zhí)行情況監(jiān)控
Sql代碼
- select * from user_jobs;
查看調(diào)度任務
- select * from dba_jobs_running;
查看正在執(zhí)行的調(diào)度任務
- select * from dba_jobs;
查看執(zhí)行完的調(diào)度任務 ,上述的相關內(nèi)容就是對為Oracle數(shù)據(jù)庫增加相應的計劃任務的描述,希望會給你帶來一些幫助在此方面。
【編輯推薦】
- Oracle提高SQL的執(zhí)行效率的3種好用方法
- Oracle通過其實際存儲過程中返回相關數(shù)據(jù)集
- Oracle數(shù)據(jù)庫中的時間處理的實際操作步驟
- Oracle臨時表用法的經(jīng)驗心得
- Oracle數(shù)據(jù)文件的特性介紹