Oracle DBMS_Scheduler 每天上午 9:10 和 11:30 运行 DBMS_JOB
Posted
技术标签:
【中文标题】Oracle DBMS_Scheduler 每天上午 9:10 和 11:30 运行 DBMS_JOB【英文标题】:Oracle DBMS_Scheduler RUN DBMS_JOB on 9:10AM and 11:30 AM Daily 【发布时间】:2021-10-21 12:43:26 【问题描述】:我想安排一个作业,应该在每个星期六上午 9:10 和 11:45 运行。
我正在尝试创建一个具有以下间隔的工作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 运行作业?
【问题讨论】:
【参考方案1】:创建两个计划。
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;
/
【讨论】:
是的,正确的,我想也许除了创建 2 个差异之外还有其他选择。时间表,,,但看起来这是唯一的选择......谢谢以上是关于Oracle DBMS_Scheduler 每天上午 9:10 和 11:30 运行 DBMS_JOB的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Oracle 中使用 DBMS_SCHEDULER 删除文件
Oracle DBMS_SCHEDULER sysdate 参数