Oracle Scheduler - 单个作业既可以基于事件,也可以基于时间

时间:2012-06-19 07:16:41

标签: oracle events scheduler jobs schedule

您好我是Oracle Scheduler的新手。我的问题是 - 我们可以在Schedule对象中为单个作业提供重复间隔和事件条件吗?

我在作业安排中有这个要求 - 作业应该在预定的时间运行,但只有在某个事件发生时才会运行。

例如。

Job1应该运行 - 每天上午10点 - 但是只有昨天的同一份工作不再运行。 (这个我会根据表条目弄清楚。)所以事件将是一个单元格条目,在表job_statuses中说'ENDED'。

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

提前致谢。

Mayank

2 个答案:

答案 0 :(得分:1)

我在程序本身的PL / SQL中编码条件。即它每天上午10点运行,但它首先要做的是检查以前的工作是否成功完成。

答案 1 :(得分:1)

你可以做的是创造3个工作

  1. EVENT_JOB
  2. REPEAT_JOB
  3. ACTUAL_WORK_JOB
  4. EVENT_JOB和REPEAT_JOB刚刚启动ACTUAL_WORK_JOB。如果已经 - 或者仍然 - 正在运行,则会出现错误,您可以据此做出相应的反应。