查询作业
定时作业创建后,可通过以下系统视图查询定时作业详细信息:
示例
创建立即启用的示例定时作业,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即已启用。sqlSELECT JOB_NAME, ENABLE FROM ALL_JOBS WHERE JOB_NAME='job1';
示例2
查询定时作业当前是否正在执行,STATE
为RUNNING表示运行状态,IDLE表示闲置状态。sqlSELECT STATE FROM ALL_JOBS WHERE JOB_NAME='job1';
示例3
查询定时作业是否已完成结束时间前最后一次执行。
若STATE
为IDLE,且结束时间END_T
与最后运行时间LAST_RUN_T
之差的绝对值小于间隔时间,则定时作业已完成结束时间前最后一次执行;若大于间隔时间,则定时作业后续还会继续触发执行。sqlSELECT STATE,END_T,LAST_RUN_T,REPET_INTERVAL FROM ALL_JOBS WHERE JOB_NAME='job1';