Oracle DBMS_Scheduler 运行 DBMS_JOB 在 9:10AM 和 11:30 AM Daily
Oracle DBMS_Scheduler RUN DBMS_JOB on 9:10AM and 11:30 AM Daily
我想安排一份工作,应该在每个星期六 运行 09:10AM 和 11:45AM。
我正在尝试创建一个具有以下间隔
的工作dbms_scheduler.create_job
,repeat_interval => 'FREQ=WEEKLY; BYDAY=THU; BYHOUR=9,11; BYMINUTE=10,45; BYSECOND=0'
但看起来它会创造 4 个工作岗位,每个星期四的 9 点和 11 点将 运行 30 分钟和 45 分钟。
有什么方法可以创建工作间隔,使每个星期六 9:10 和 11:45 的工作成为 运行 工作?
创建两个时间表。
BEGIN
dbms_scheduler.create_schedule (
schedule_name => 'SCHEDULE_9',
repeat_interval => 'FREQ=WEEKLY; BYDAY=SAT; BYHOUR=9; BYMINUTE=10; BYSECOND=00;');
dbms_scheduler.create_schedule (
schedule_name => 'SCHEDULE_11',
repeat_interval => 'FREQ=WEEKLY; BYDAY=SAT; BYHOUR=11; BYMINUTE=45; BYSECOND=00;');
dbms_scheduler.create_job (
job_name => 'MY_JOB',
job_type => 'STORED_PROCEDURE',
job_action => 'MY_PROCEDURE',
start_date => systimestamp,
repeat_interval => 'SCHEDULE_9,SCHEDULE_11',
end_date => NULL,
enabled => TRUE,
comments => 'Job that runs at 09:10 and 11:45 every Saturday ');
END;
/
我想安排一份工作,应该在每个星期六 运行 09:10AM 和 11:45AM。
我正在尝试创建一个具有以下间隔
的工作dbms_scheduler.create_job
,repeat_interval => 'FREQ=WEEKLY; BYDAY=THU; BYHOUR=9,11; BYMINUTE=10,45; BYSECOND=0'
但看起来它会创造 4 个工作岗位,每个星期四的 9 点和 11 点将 运行 30 分钟和 45 分钟。
有什么方法可以创建工作间隔,使每个星期六 9:10 和 11:45 的工作成为 运行 工作?
创建两个时间表。
BEGIN
dbms_scheduler.create_schedule (
schedule_name => 'SCHEDULE_9',
repeat_interval => 'FREQ=WEEKLY; BYDAY=SAT; BYHOUR=9; BYMINUTE=10; BYSECOND=00;');
dbms_scheduler.create_schedule (
schedule_name => 'SCHEDULE_11',
repeat_interval => 'FREQ=WEEKLY; BYDAY=SAT; BYHOUR=11; BYMINUTE=45; BYSECOND=00;');
dbms_scheduler.create_job (
job_name => 'MY_JOB',
job_type => 'STORED_PROCEDURE',
job_action => 'MY_PROCEDURE',
start_date => systimestamp,
repeat_interval => 'SCHEDULE_9,SCHEDULE_11',
end_date => NULL,
enabled => TRUE,
comments => 'Job that runs at 09:10 and 11:45 every Saturday ');
END;
/