、把init.ora中如下两个参数打开
JOB_QUEUE_INTERVAL=60
JOB_QUEUE_PROCESSES=4
job_queue_keep_connections=true
//位置位于:D:/oracle/admin/alpha/pfile下的init.ora文件内
2、定义job
variable job number;
begin
sys.dbms_job.submit(job => :job, --job编号,唯一标识
what => 'begin --job内容,调用存储过程,以begin和end开头
insert_t2;
end;',
--本次执行完后,下一次执行job时间
next_date => to_date('05-01-2005 10:22:05', 'dd-mm-yyyy hh24:mi:ss'),
--执行条件
interval => 'sysdate+1');
commit;
end;
/
删除job:dbms_job.remove(jobno);
修改job:dbms_job.what(jobno,what);
修改下次执行时间:dbms_job.next_date(job,next_date);
修改间隔时间:dbms_job.interval(job,interval);
3、常见的时间函数
30分钟:(sysdate+1)/48
1个小时:(sysdate+1)/24
一天:sysdate+1
一个星期: sysdate+7
每个星期五中午:
NEXT_DAY(TRUNC(SYSDATE),'星期五') + 12/24
一个月:add_months(sysdate,1) --可以为正负数
一年:add_months(sysdate,12)
月份加减:select to_char(add_months(sysdate,-1),'yyyymm') from dual;
日期加减:select to_char(sysdate-1,'yyyymmdd') from dual;