>  기사  >  데이터 베이스  >  为Oracle增加计划任务

为Oracle增加计划任务

WBOY
WBOY원래의
2016-06-07 16:55:35871검색

经常在SQL Server上创建作业去定时执行某些任务,在Oracle下则一般都是通过编码的方式,通过项目自带的计划任务框架去调用存

  经常在SQL Server上创建作业去定时执行某些任务,,在Oracle下则一般都是通过编码的方式,通过项目自带的计划任务框架去调用存储过程。今天才发现,原来Oracle下创建一个计划任务要比SQL Server简单的多。

  1、创建计划任务:

  Sql代码

  X NUMBER;

  GIN

  SYS.DBMS_JOB.SUBMIT(job       => X,

  what      => 'PROC_YKTSJTB;',--存储过程名称

  next_date => trunc(sysdate+5/1440,'MI'),--下次执行时间

  interval  => 'trunc(sysdate+1440/1440,''MI'')',--间隔时间

  no_parse  => FALSE);

  SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));

  COMMIT;

  D;

  X NUMBER;

  BEGIN

  SYS.DBMS_JOB.SUBMIT(job       => X,

  what      => 'PROC_YKTSJTB;',--存储过程名称

  next_date => trunc(sysdate+5/1440,'MI'),--下次执行时间

  interval  => 'trunc(sysdate+1440/1440,''MI'')',--间隔时间

  no_parse  => FALSE);

  SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));

  COMMIT;

  END;

  以上主要注意三个参数:

  what  :需要计划任务执行的动作;

  next_date:下次计划任务执行的时间,具体时间可以根据oracle的trunc构造;

  interval:计划任务的执行周期;

  2、计划任务执行情况监控

  Sql代码

  select * from user_jobs;--查看调度任务

  select * from dba_jobs_running;--查看正在执行的调度任务

  select * from dba_jobs;--查看执行完的调度任务

linux

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.