一、 Oracle 定时器(Job)各时间段写法汇总 对于 DBA 来说,数据库 Job 再熟悉不过了,因为经常要数据库定时的自动执行一些脚本,或做数据库备份,或做数据的提炼,或做数据库的性能优化,包括重建索引等等的工作
但是,Oracle 定时器 Job 时间的处理上,千变万化,今天我把比较常用写法汇总如下: 在总结之前,先把 Job 的参数一一说明一下: job 参数是由 Submit()过程返回的 binary_ineger
这个值用来唯一标识一个工作; what 参数是将被执行的 PL/SQL 代码块; next_date 参数指识何时将运行这个工作
写 Job 的时候可以不指定该值; interval 参数何时这个工作将被重执行
其中 Interval 这个值是决定 Job 何时,被重新执行的关键
例如:有存储过程 p_dosomethings,需要被不同的时间间隔执行
1 declare 2 jobno number; 3 begin 4 dbms_job
submit( 5 jobno, 6 'p_dosomething;', --what 7 to_date('20090101020000','yyyy-mm-dd hh24:mi:ss'),--next_date,可以不填 8 'Interval 时间字符串'--interval,关键设置 9 ); 10 commit; 11 end; 12 1、 每分钟执行 Interval => TRUNC(sysdate,’mi’) + 1 / (24*60) 2、 每天定时执行 例如:每天的凌晨 2 点执行 Interval => TRUNC(sysdate) + 1 +2 / 24 3、 每周定时执行 例如:每周一凌晨 2 点执