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