Oracle 创建,查询,删除 job
生活随笔
收集整理的這篇文章主要介紹了
Oracle 创建,查询,删除 job
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一 . 創(chuàng)建job
? 1. 通過(guò)創(chuàng)建存儲(chǔ)過(guò)程的方式創(chuàng)建job
? 調(diào)用該存儲(chǔ)過(guò)程使其開(kāi)始執(zhí)行? call?PRO_DSJ_XJTJ_JOB();?
create or replace procedure PRO_DSJ_XJTJ_JOB as-- 每天凌晨2:00執(zhí)行 begindeclarejob number;BEGINdbms_job.submit(job,'PRO_DSJ_XJTJ(sysdate-1);', -- 需要執(zhí)行的任務(wù)
sysdate, -- 第一次執(zhí)行的時(shí)間
'TRUNC(SYSDATE+1)+2/24' -- 下一次執(zhí)行時(shí)間
);COMMIT;DBMS_JOB.RUN(job);END; end PRO_DSJ_XJTJ_JOB;
? 2.直接創(chuàng)建job
declare jobno number; begin dbms_job.submit(jobno,--定時(shí)器ID,系統(tǒng)自動(dòng)獲得'PRC_INSERT;', --what執(zhí)行的過(guò)程名sysdate,--next_date,定時(shí)器開(kāi)始執(zhí)行的時(shí)間,這樣寫(xiě)表示立即執(zhí)行'sysdate + 15/1440'--interval,設(shè)置定時(shí)器執(zhí)行的頻率,這樣寫(xiě)每隔15分鐘執(zhí)行一次 ); commit; end;二.? 查詢job
select * from user_jobs;--查看調(diào)度任務(wù) select * from dba_jobs_running;--查看正在執(zhí)行的調(diào)度任務(wù) select * from dba_jobs;--查看執(zhí)行完的調(diào)度任務(wù)三. 刪除job
exec dbms_job.remove(83);--刪除一個(gè)定時(shí)器,83為定時(shí)器ID--也可以這樣
begin
dbms_job.remove(83);
commit;
end;
四. 運(yùn)行job
exec dbms_job.run(84);--運(yùn)行一個(gè)定時(shí)器--也可以這樣 begin dbms_job.run(84); commit; end;
五. 停止job
exec DBMS_JOB.BROKEN(83,SYS.DIUTIL.INT_TO_BOOL(1));--停止一個(gè)定時(shí)器-- sysdate (某一時(shí)刻停止)
exec dbms_job.broke(83,true,sysdate); --停止job begin dbms_job.broken(83,true); commit; end;
六. 修改job
exec DBMS_JOB.INTERVAL(84, 'sysdate + 60/1440');--改變一個(gè)定時(shí)器的執(zhí)行頻率成每隔一小時(shí)執(zhí)行一次--修改某個(gè)job名 修改下一次運(yùn)行時(shí)間 exec dbms_job.next_date(84,sysdate);七. 執(zhí)行間隔
描述 INTERVAL參數(shù)值 每天午夜12點(diǎn) 'TRUNC(SYSDATE + 1)' 每天早上8點(diǎn)30分 'TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)' 每星期二中午12點(diǎn) 'NEXT_DAY(TRUNC(SYSDATE ), ''TUESDAY'' ) + 12/24' 每個(gè)月第一天的午夜12點(diǎn) 'TRUNC(LAST_DAY(SYSDATE ) + 1)' 每個(gè)季度最后一天的晚上11點(diǎn) 'TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), 'Q' ) -1/24' 每星期六和日早上6點(diǎn)10分 'TRUNC(LEAST(NEXT_DAY(SYSDATE, ''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×60+10)/(24×60)'?
create or replace procedure PRO_DSJ_XJTJ_JOB as--巡檢統(tǒng)計(jì)定時(shí)任務(wù) 每天凌晨2:00執(zhí)行begin? declare? ? job number;? ? BEGIN? ? ? dbms_job.submit(job, 'PRO_DSJ_XJTJ(sysdate-1);', sysdate,? 'TRUNC(SYSDATE+1)+2/24');? ? ? COMMIT;? ? ? DBMS_JOB.RUN(job);? ? END;end PRO_DSJ_XJTJ_JOB;
轉(zhuǎn)載于:https://www.cnblogs.com/Lixiaogang/p/9973041.html
總結(jié)
以上是生活随笔為你收集整理的Oracle 创建,查询,删除 job的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Soring冲刺计划第三天(个人)
- 下一篇: 多线程《一》线程理论