我正在使用以下语句创建调度程序
BEGIN
SYS.DBMS_SCHEDULER.CREATE_SCHEDULE
(
schedule_name => 'CLEAN_TABLE_EVERYDAY'
,start_date => trunc(SYSDATE)
,repeat_interval => 'FREQ=DAILY; BYHOUR=23;'
,end_date => NULL
,comments => 'Clean table at 11 PM everyday'
);
END;
/
但是当我运行以下查询时
SELECT *
FROM dba_scheduler_jobs
where owner = 'DB_USER_NAME';
我看到repeat_interval
列的值为空。
我已经离开这份工作将近3天,我没有看到任何结果。这有什么不对?
答案 0 :(得分:0)
如果您使用参数schedule_name
而不是repeat_interval
创建了作业,请执行以下操作:
begin
DBMS_SCHEDULER.create_job (
job_name => 'my_job_name',
job_type => 'PLSQL_BLOCK',
job_action => 'begin null; end;',
enabled => TRUE,
schedule_name => 'CLEAN_TABLE_EVERYDAY');
end;
然后在dba_scheduler_jobs
视图中,您应该查找列schedule_name
。 repeat_interval
为空是正常的。
为什么你的工作运行2-3天是另一个问题。你必须调试它。首先尝试通过SQL + / TOAD / SQLDeveloper运行该过程,看看是否有任何错误。