ORACLE创建定时任务

创建三个定时任务,每个小时调用一次REPORT_HOUR,每天调用一次REPORT_DAY,每个月调用一次REPORT_MONTH

DECLARE
  JOB1 NUMBER;
  JOB2 NUMBER;
  JOB3 NUMBER;
BEGIN
  SYS.DBMS_JOB.SUBMIT(JOB       => JOB1,
                      WHAT      => 'REPORT_HOUR;',
                      NEXT_DATE => TO_DATE('01-01-2014 00:00:00',
                                           'dd-mm-yyy hh24:mi:ss'),
                      INTERVAL  => 'sysdate+1/24');

  SYS.DBMS_JOB.SUBMIT(JOB       => JOB2,
                      WHAT      => 'REPORT_DAY;',
                      NEXT_DATE => TO_DATE('01-01-2014 00:00:00',
                                           'dd-mm-yyy hh24:mi:ss'),
                      INTERVAL  => 'sysdate+1');

  SYS.DBMS_JOB.SUBMIT(JOB       => JOB3,
                      WHAT      => 'REPORT_MONTH;',
                      NEXT_DATE => TO_DATE('01-01-2014 00:00:00',
                                           'dd-mm-yyy hh24:mi:ss'),
                      INTERVAL  => 'TRUNC(LAST_DAY(SYSDATE)+1)');
END;
创建完成后,可通过查询DBA_JOBS表查询当前数据库的定时任务。

SELECT * FROM DBA_JOBS

删除定时任务,通过上一条语句查询要删除任务的JOB字段值,通过此值来删除对应任务。

SYS.DBMS_JOB.REMOVE(JOB1); 



你可能感兴趣的:(数据库工具,配置,问题等)