我想让JOBS在oracle 10g中使用DBMS_SCHEDULER,其中作业每分钟刷新一次,每天运行间隔为2分钟,从早上8点开始,到晚上8点结束 . 我试过这段代码,
BEGIN
SYS.DBMS_SCHEDULER.CREATE_JOB
(
job_name => 'UPDATE_REKAP_BALI'
,start_date => trunc(sysdate) + 8/24
,repeat_interval => 'freq=MINUTELY;interval=2'
,end_date => trunc(sysdate) + 20/24
,job_class => 'DEFAULT_JOB_CLASS'
,job_type => 'STORED_PROCEDURE'
,job_action => 'UPDATEREKAPBALI'
,comments => NULL
);
END
但是,当我第二天检查时,工作没有运行,我猜这些工作在第二天的08.00 AM再也没有运行 .
3 回答
确保在提交作业后提交 .
Edit 这是不正确的:DBMS_SCHEDULER执行隐式提交,与之前需要显式提交的DBMS_JOB不同 .
您必须将
auto_drop
设为false
,因为自动删除会使作业在运行后被删除一次,因此将其设为false默认情况下启用自动删除http://docs.oracle.com/cd/B28359_01/appdev.111/b28419/d_sched.htm#i1000363
答案是远远的两个环节
表中的