crespo09 发表于 2018-9-23 13:39:33

oracle如何删除job

  sys用户
  set line 400
  col WHAT for a50
  select job,PRIV_USER,NEXT_DATE,what from dba_jobs;
  切换到建立job的用户:mcc2
  begin
  dbms_job.remove(41);//41为Job 的ID值
  end;
  /
  commit;
  只有以建立该job的用户登陆,进行删除操作,删除后记得commit;
  JOB在运行结束之后才会更新next_date,但是计算的方法是JOB刚开始的时间加上interval设定的间隔。
  即使interval的时长短于JOB执行的时间,整个作业仍然会继续进行,只是执行间隔变为了JOB真实运行的时长。
  JOB的下一次运行时间是会受上一次影响的,如果我们的interval仅仅是sysdate+1/24这样的形式的话,无疑,
  上次执行的时间再加上1小时就是下次执行的时间。那么如果JOB因为某些原因延迟执行了一次,
  这样就会导致下一次的执行时间也同样顺延了。解决方法很简单,只需要设定正确的interval就可以了。
  参考了 这个哥们的文章
  http://blog.chinaunix.net/uid-374372-id-3251920.html

页: [1]
查看完整版本: oracle如何删除job