1

嗨,我是 Oracle 调度程序的新手。我的问题是 - 我们可以在 Schedule 对象中为单个作业提供重复间隔和事件条件吗?

我在作业调度中有这个要求 - 作业应该在预定的时间运行,但前提是某个事件已经发生。

例如。

Job1 应该运行 - 每天上午 10 点 - 但前提是昨天的相同作业不再运行。(我将根据表格条目来计算。)因此,该事件将是表格 job_statuses 中的单元格条目,例如“ENDED”。

如果我可以在同一份工作中提供这两个信息会更容易。我要尝试的另一种方法是 - 根据时间安排工作。如果较早的实例仍在运行,请根据事件重新安排作业。但这看起来很笨拙。

提前致谢。

马扬克

4

2 回答 2

1

我会在过程本身的 PL/SQL 中对条件进行编码。即它每天上午 10 点运行,但它做的第一件事是检查上一个作业是否已成功完成。

于 2012-06-19T07:46:48.123 回答
1

你能做的是创造3个工作

  1. EVENT_JOB
  2. 重复作业
  3. ACTUAL_WORK_JOB

EVENT_JOB 和 REPEAT_JOB 只是启动 ACTUAL_WORK_JOB。如果它已经 - 或仍在 - 运行,您会收到一个错误,您可以做出相应的反应。

于 2012-06-19T16:03:27.950 回答