1

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

每天凌晨 3 点

FREQ=DAILY;BYHOUR=3

周日,凌晨 3 点

FREQ=WEEKLY;BYDAY=SUN;BYHOUR=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
4

1 回答 1

3

你的间隔是模糊的,因此可能不会在你期望的时候开始。

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

如果您希望工作在凌晨 3 点整开始,那么

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

您的所有示例也是如此。虽然你有什么是好的,但它们只精确到小时,Oracle 会从提交时间中选择分钟和秒。

于 2013-02-21T16:15:28.147 回答