DBMS_SCHEDULER日历语法

时间:2013-02-21 15:49:06

标签: oracle syntax scheduler

我是DBMS_SCHEDULER的新手,在阅读了Oracle的文档之后,我想知道是否有人可以检查重复间隔的语法?

每日凌晨3点

FREQ=DAILY;BYHOUR=3

星期日凌晨3点

FREQ=WEEKLY;BYDAY=SUN;BYHOUR=3

本月初,凌晨3点

FREQ=MONTHLY;BYMONTHDAY=1;BYHOUR=3

每季度(1月,4月,7月,10月初),凌晨3点

FREQ=YEARLY;BYDATE=0101,0401,0701,1001;BYHOUR=3

每年8月1日凌晨3点

FREQ=YEARLY;BYDATE=0801;BYHOUR=3

1 个答案:

答案 0 :(得分:3)

你的间隔很模糊,因此可能无法在你预期的时候开始。

例如,假设您在dbms_scheduler.create_job处运行了16:09:12。您的重复间隔FREQ=DAILY;BYHOUR=3意味着该作业将在第二天03:09:12开始。所以实际上你得到了你所要求的。

如果你想让工作从凌晨3点开始,那么

freq=DAILY;byhour=3; byminute=0; bysecond=0;

所有示例都是如此。虽然你拥有的东西还可以,但它们只能在一小时内完成,Oracle将从提交时间中选择分钟和秒钟。