【问题标题】:dbms_scheduler job chain exceptionsdbms_scheduler 作业链异常
【发布时间】:2012-01-20 11:11:10
【问题描述】:

我想从 Oracle 调度程序作业链 (1​​1gR2) 中找到处理异常(任何步骤失败)的最佳方法。

假设我有一个包含 20 个步骤的链。如果在任何时候链以失败退出,我想做一组动作。这些操作特定于该链,而不是单个步骤(每个步骤的过程可以在调度程序之外或其他链中使用)。

感谢 11gR2,我现在可以设置关于链失败的电子邮件通知,但这只是我需要执行的几个操作中的一个,因此它只是我的部分解决方案。

我唯一能想到的就是让另一个轮询作业每 x 分钟检查一次我的链的状态,并在它看到链的最新作业以 FAILURE 状态退出时启动失败操作。但这充其量只是 imo。

处理给定作业链异常的最佳方法是什么?

谢谢

【问题讨论】:

    标签: oracle oracle11g scheduler dbms-scheduler


    【解决方案1】:

    一般来说,处理作业异常最灵活的方法是使用作业异常监控程序并定义作业以在作业状态更改时生成事件。作业异常监控程序应循环监视scheduler event queue,并以您定义的方式对事件作出反应。

    这样做消除了必须为链中的每个作业步骤创建失败步骤的负担。这是一个非常强大的机制。

    由于时间不足:in the book is a complete scenario 基于事件的调度。以后再挖一个。

    【讨论】:

    • 谢谢。所以我会使用 Oracle AQ 并从我的链中引发一个失败事件,然后使用该队列设置一个单独的基于事件的作业?对AQ没有太多经验,你能举个简单的例子吗?再次感谢
    • 嗨,见 cmets;现在必须运行,稍后!
    • 我很幸运,他们为这本书提供的一个免费章节是关于事件的!我不会从书中复制/粘贴示例,并且可能仍会购买电子书,看起来不错。谢谢@ik_zelf,如果你有一个简单的例子给大家,仍然不胜感激。
    • 有些人很幸运 ;-) 很高兴你可以使用它,我看到我的博客中缺少我想到的文章。我很快就会把它添加到那里。
    猜你喜欢
    • 2018-02-17
    • 2018-02-01
    • 2014-11-24
    • 2016-08-04
    • 2021-01-21
    • 2012-01-20
    • 2015-04-17
    • 2012-12-10
    • 2016-08-01
    相关资源
    最近更新 更多