日期:2014-05-16  浏览次数:20704 次

如何创建定时任务?
本帖最后由 minl 于 2013-11-27 14:16:37 编辑
使用dbms_scheduler这个包,但是创建完后似乎不执行。


begin
DBMS_SCHEDULER.CREATE_SCHEDULE (
   schedule_name         =>'FETCH_P_SCHED',
   start_date             =>sysdate,
   repeat_interval        =>'freq=hourly; byminute=30'
);

DBMS_SCHEDULER.CREATE_PROGRAM (
   program_name            =>'FETCH_P_PRO',
   program_type            =>'STORED_PROCEDURE',
   program_action          =>'fetch_current_product',
   number_of_arguments     =>0,
   enabled                 =>TRUE
);

DBMS_SCHEDULER.CREATE_JOB (
   job_name                =>'FETCH_P_JOB',
   program_name            =>'FETCH_P_PRO',
   schedule_name           =>'FETCH_P_SCHED',
   enabled                 =>TRUE,
   auto_drop               =>FALSE
);

end;
dbms_scheduler

------解决方案--------------------
dbms_job.submit(:job1,'MYPROC;',sysdate,'sysdate+1/1440');  
没分钟定时执行procedure myproc
------解决方案--------------------
begin
DBMS_SCHEDULER.CREATE_SCHEDULE (
   schedule_name         =>'FETCH_P_SCHED',
   start_date             =>systimestamp,
   repeat_interval        =>'freq=hourly; byminute=30; BYSECOND=0'
);
...
end;

这样试试