Skip to content

查询作业

定时作业创建后,可通过以下系统视图查询定时作业详细信息:

示例

创建立即启用的示例定时作业,1分钟后结束,每5秒执行一次:

sql
EXEC DBMS_SCHEDULER.CREATE_JOB('job1',
'PLSQL_BLOCK',
'DECLARE BEGIN SELECT SLEEP(3000); END;',
0,
SYSDATE,
'FREQ=SECONDLY;INTERVAL=5;',
SYSDATE+1/24/60,
'DEFAULT_CLASS',
TRUE,
FALSE,
NULL);
  • 示例1
    查询定时作业当前是否已启用,ENABLE为TRUE即已启用。

    sql
    SELECT JOB_NAME, ENABLE FROM ALL_JOBS WHERE JOB_NAME='job1';
  • 示例2
    查询定时作业当前是否正在执行,STATE为RUNNING表示运行状态,IDLE表示闲置状态。

    sql
    SELECT STATE FROM ALL_JOBS WHERE JOB_NAME='job1';
  • 示例3
    查询定时作业是否已完成结束时间前最后一次执行。
    STATE为IDLE,且结束时间END_T与最后运行时间LAST_RUN_T之差的绝对值小于间隔时间,则定时作业已完成结束时间前最后一次执行;若大于间隔时间,则定时作业后续还会继续触发执行。

    sql
    SELECT STATE,END_T,LAST_RUN_T,REPET_INTERVAL FROM ALL_JOBS WHERE JOB_NAME='job1';