Oracle-DBMS 作业调度程序更改开始时间

Posted

技术标签:

【中文标题】Oracle-DBMS 作业调度程序更改开始时间【英文标题】:Oracle-DBMS jobs scheduler change the start time 【发布时间】:2014-02-21 12:04:41 【问题描述】:

我有一个 DBMS_jobs,它计划在每天早上 6 点运行一个过程 FINDING_PROCEDURE。谁能告诉我如何更改开始时间,以便安排在明天上午 9 点运行。提前致谢。

【问题讨论】:

这项工作并非每天早上 6 点运行 - 它每 21 小时运行一次。 【参考方案1】:

正如我在评论中已经提到的 - 你的工作不是每天早上 6 点运行,而是每 21 小时运行一次。

作为第二点,您应该认真考虑切换到 DBMS_SCHEDULER - 它比 DBMS_JOB 好得多。

无论如何,让这项工作在每天早上 9 点运行,这应该可以解决问题:

DBMS_JOB.CHANGE (
   job       => your_job_id,
   interval  => 'trunc(sysdate) + 1 + 9/24');

【讨论】:

嗨施密特..非常感谢。现在 intervakl 已更改为 'trunc(sysdate) + 1 + 9/24' 但 NEXT SEC 中的 te 值仍为上午 6 点。 Oracle 重新调度作业时(下一次执行后)将使用 INTERVAL 的新值。如果作业将在明天早上 6 点和之后的每一天早上 9 点运行是不可接受的,则您必须另外更改 next_date 属性并将其设置为明天早上 9 点。【参考方案2】:

您可以使用DBMS_JOB.CHANGE() 更改您的工作日程。

点击此链接获取完整参考

Oracle 文档:DBMS_JOB

然后找到DBMS_JOB.CHANGE()

【讨论】:

以上是关于Oracle-DBMS 作业调度程序更改开始时间的主要内容,如果未能解决你的问题,请参考以下文章

奇怪的预言机工作行为

调度应用程序中的约束图转换

Firebase 作业调度员是不是需要互联网访问来安排作业?

Kettle作业定时调度

作业调度—了解

Quartz 调度程序测试场景不工作