oracle 设置定时任务,JOB任务设置

1.新建一个定时任务,需要注意的是创建之时会自动启动

declare  
jobID number;   
begin  
 dbms_job.submit(

     job => jobID, /*自动生成的ID,也可以设置自定义ID,不推荐使用自定义可能会重复*/
     what => 'INTO_ERROR_LOG1;',/*执行的内容,存储过程或者sql语句*/
     next_date => sysdate,  /*立刻执行一次,可以设置第一次执行时间*/
     interval => 'trunc(sysdate,''mi'')+1/(24*60)'); /*执行间隔,这里是每分钟执行一次*/
   commit;  
end;

设置间隔时间公式:

trunc(sysdate,''mi'')+1/(24*60)') 每分钟执行一次

trunc(sysdate,''mi'')+2/(24*60)') 每两分钟执行一次,以此类推

--------

sysdate+1/(24*60*60) 每秒钟执行一次

sysdate+2/(24*60*60) 每两秒钟执行一次,以此类推

2.查询所有的定时任务。

select * from  dba_jobs;

3.启动定时任务,暂停定时任务。

begin   
  dbms_job.broken(123,true,sysdate);  /*第一个参数是job的ID,如123是一个ID。第二个是bool可以true,false,第三个参数是停止的时间,从什么时候开始停止*/
commit;
end;

begin
DBMS_JOB.RUN(123);/*使用job的ID进行任务启动*/
commit;
end;

4.修改定时任务的间隔时间。

begin
  dbms_job.interval(123,'sysdate+10/(24*60*60)');  /*第一个参数是job的ID,滴二个参数是重新设置间隔多久执行一次*/
  commit;
end;

----------------小尾巴分割----------------------------------------

菜鸟的记录也是进步~如果对你有所帮助,那就点赞一下吧。-----来自没有代码的程序员小萝卜

猜你喜欢

转载自blog.csdn.net/weixin_38801976/article/details/106396358