我在oracle中创建了一个将在每分钟运行的作业,但问题是作业创建成功但未按时运行
execute PACKAGE_BATCH.USP_TERMIANTE_SUSPENSION;
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => '"LTR"."TERMINATE_SUSPENSION_JOB"',
job_type => 'STORED_PROCEDURE',
job_action => 'LTR.PACKAGE_BATCH.USP_TERMINATE_SUSPENSION',
number_of_arguments => 0,
start_date => sysdate,
repeat_interval => 'FREQ=MINUTELY;BYMINUTE=1',
end_date => NULL,
enabled => TRUE,
auto_drop => TRUE,
comments => 'Terminate Suspension When End Date is equal to Current Date');
DBMS_SCHEDULER.set_attribute
( name => '"LTR"."TERMINATE_SUSPENSION_JOB"',
attribute => 'job_action',
value => 'LTR.PACKAGE_BATCH.USP_TERMINATE_SUSPENSION');
DBMS_SCHEDULER.SET_ATTRIBUTE(
name => '"LTR"."TERMINATE_SUSPENSION_JOB"',
attribute => 'logging_level', value => DBMS_SCHEDULER.LOGGING_RUNS);
DBMS_SCHEDULER.enable(
name => '"LTR"."TERMINATE_SUSPENSION_JOB"');
END;
FREQ=MINUTELY;BYMINUTE=1
这将使作业每“ 1”分钟运行一次。所以12:01、1:01、2:01等
如果您需要使其每分钟运行一次-FREQ=MINUTELY
足够了,或者可以添加BYSECOND=0
以确保它恰好在12:01:00、12:02:00、12:03:00等运行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句