当前位置:   article > 正文

ORACLE进阶(一)定时任务dbms_job_plsql查询dbms_job

plsql查询dbms_job

ORACLE进阶(一)定时任务dbms_job

plsql窗口下的dbms_job也可以新建job,但是我不推荐,一开始我也用工具创建,但因为很多时候,我没有plsql工具,只有sqlplus。

新建job定时执行:

  1. declare
  2. job number;
  3. BEGIN
  4. DBMS_JOB.SUBMIT(
  5. JOB => job, /*自动生成JOB_ID*/
  6. WHAT => 'delete from test;', /*需要执行的存储过程名称或SQL语句*/
  7. NEXT_DATE => trunc(sysdate)+(19/24), /*初次执行时间-立即执行*/
  8. INTERVAL => 'trunc(sysdate)+3+(19/24)' /*每隔3天 19点执行一次*/
  9. );
  10. commit;
  11. end;
  12. /

查看定时任务: 

select * from user_jobs where job in(65,66)

修改

 

  1. begin
  2. --间隔时间
  3. dbms_job.interval(job,interval); /*job job的ID,interval: 计算下一次任务执行的时间表达式*/
  4. dbms_job.next_date(job,next_date); /*job: job 的ID;nex_date:要修改后的计算下一次执行的时间表达式*/
  5. dbms_job.what('newProcedures();'); /*newProcedures(); 要更改的新操作名称*/
  6. commit;
  7. end;

删除job的正确方法: 

  1. begin
  2. dbms_job.remove(65);
  3. end;

手动执行定时任务
 

  1. begin
  2.   dbms_job.run(66);
  3.   end;

 

查看正在执行的定时任务
 

select * from dba_jobs_running

笔记

  • truncate清表操作。WHAT => 'truncate table test;' 会报错,改成WHAT => 'begin execute immediate ''truncate  table test''; end;'

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/203596
推荐阅读
相关标签
  

闽ICP备14008679号