标题 | ORACLE数据库定时任务—DBMS_JOB |
范文 | 创建 DBMS_JOB 使用以下语句: VARIABLE jobno number; begin DBMS_JOB.SUBMIT( :jobno, --job号,ORACLE自动分配 'your_procedure;', --执行的存储过程或SQL语句,';'不能省略 next_date, --下次执行时间 'interval' --每次间隔时间,以天为单位 ); commit; end; 例子: 作为示范,先创建一张简单的表: CREATE TABLE T_TIME( JOB_TIME DATE not null ); 每分种为 T_TIME 表插入一条数据: VARIABLE jobno number; begin DBMS_JOB.SUBMIT( :jobno, 'insert into T_TIME values (sysdate);', Sysdate, 'sysdate+1/24/60' ); commit; end; 每天删除前一天的数据: VARIABLE jobno number; begin DBMS_JOB.SUBMIT( :jobno, 'delete T_TIME where JOB_TIME < sysdate-1;', Sysdate, 'sysdate+1/24' ); commit; end; 查看所有的 JOB select * from user_jobs; job : job what : 执行的存储过程或SQL语句 failures : 失败次数 broken : 状态 停止 JOB BEGIN DBMS_JOB.BROKEN(jobno, TRUE); END; 参数 jobno 为对应的JOB号,如 BEGIN DBMS_JOB.BROKEN(2, TRUE); END; 启动 JOB BEGIN DBMS_JOB.run(jobno); END; 参数 jobno 为对应的JOB号 删除 JOB BEGIN DBMS_JOB.remove(jobno); END; 参数 jobno 为对应的JOB号 修改 JOB 修改运行的内容 BEGIN DBMS_JOB.what( jobno, --对应的job号 'your_procedure;' --执行的存储过程或SQL语句,';'不能省略 ); END; 修改时间间隔 BEGIN DBMS_JOB.interval( jobno, --对应的job号 'interval' --每次间隔时间,以天为单位 ); END; 修改下一次执行时间 BEGIN DBMS_JOB.next_date( jobno, --对应的job号 next_date, --下次执行时间 ); END; 关于 interval 的一些设置技巧 关于job运行时间 1:每分钟执行 Interval => TRUNC(sysdate,'mi') + 1/(24*60) 2:每天定时执行 例如:每天的凌晨1点执行 Interval => TRUNC(sysdate) + 1 +1/(24) 3:每周定时执行 例如:每周一凌晨1点执行 Interval => TRUNC(next_day(sysdate,'星期一'))+1/24 4:每月定时执行 例如:每月1日凌晨1点执行 Interval =>TRUNC(LAST_DAY(SYSDATE))+1+1/24 5:每季度定时执行 例如每季度的第一天凌晨1点执行 Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24 6:每半年定时执行 例如:每年7月1日和1月1日凌晨1点 Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24 7:每年定时执行 例如:每年1月1日凌晨1点执行 Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'), 12)+1/24 job的运行频率设置 1.每天固定时间运行,比如早上8:10分钟:Trunc(Sysdate+1) + (8*60+10)/24*60 2.Toad中提供的: 每天:trunc(sysdate+1) 每周:trunc(sysdate+7) 每月:trunc(sysdate+30) 每个星期日:next_day(trunc(sysdate),'星期日') 每天6点:trunc(sysdate+1)+6/24 半个小时:sysdate+30/(24*60) 3.每个小时的第15分钟运行,比如:8:15,9:15,10:15…:trunc(sysdate,'hh')+(60+15)/(24*60)。 |
随便看 |
|
在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。