Oracle定时任务处理


一.查看oracle数据库中的job

select job,what from user_jobs;

二.删除oracle中的job

execute dbms_job.remove(jobID);

三.如何设定oracle任务

任务号:43

定时任务:

declare  

  JOB_BACKUP number ;  

begin  

  dbms_job.submit(JOB_BACKUP,   -- 任务ID号

                  'autopayt1;', --执行的事务         

                   sysdate,     --开始日期

                  'TRUNC(sysdate) + 1 +1/ (24) + 10/(24*60)'   --执行的周期该周期:每日

);  

  dbms_output.put_line(JOB_BACKUP);

  commit;  

end;  

/  


周期解释:

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


你可能感兴趣的:(Oracle学习笔记)