1 创建job chain
链是一个命名的一系列程序,它们为了一个组合的目标而链接在一起。这就是所谓的“依赖调度”。“链的一个例子可能是以下:
先运行程序A,再运行程序B,但只有在程序A和程序B成功完成时才运行程序C,否则运行程序D。
在一个相互依赖的程序链中的每个位置被称为一个步骤。通常,在启动了一组初始链步骤之后,后续步骤的执行取决于前面一个或多个步骤的完成。要创建和使用链,请按顺序完成以下步骤。所有提到的过程都是DBMS_SCHEDULER包的一部分,除非另有说明。
1. 使用CREATE_CHAIN过程创建一个链。链名可以用模式名(例如,myschema.myname)选择性地限定。 2. 定义(一个或多个)链步骤。定义步骤为其提供一个名称,并指定步骤期间发生的事情。每个步骤都可以指向以下其中一个: 一个程序 另一条链(嵌套链) 一个事件 通过调用DEFINE_CHAIN_STEP过程来定义指向程序或嵌套链的步骤。 要定义等待事件发生的步骤,可以使用DEFINE_CHAIN_EVENT_STEP过程。过程参数可以指向事件计划,也可以包括内联队列规范和事件条件。指向事件的步骤将一直等待,直到引发指定的事件。如果发生事件,则该步骤成功完成。 3. 在创建chain对象之后,可以定义chain规则。链规则定义步骤何时运行,并定义步骤之间的依赖关系。每个规则都有一个条件和一个动作: 如果条件的结果为TRUE,则执行操作。条件可以包含SQL WHERE子句中有效的任何语法。条件通常基于前面一个或多个步骤的结果。例如,如果前面两个步骤成功,可能希望运行一个步骤,如果前面两个步骤中的任何一个失败,则运行另一个步骤。 动作指定在触发规则后要执行的操作。 典型的操作是运行指定的步骤。可能的操作包括启动或停止一个步骤。还可以选择结束作业链的执行,返回一个值或步骤名和错误代码。 添加到链中的所有规则一起工作,以定义链的整体行为。当作业开始时以及在每个步骤结束时,将评估所有规则,以查看下一步发生什么操作。使用DEFINE_CHAIN_RULE过程将规则添加到链中。对于想要添加到链中的每个规则,只需调用此过程一次。 4. 启动链包含两个操作: 使用Enable过程启用链。(创建链时总是禁用的,因此可以在任何作业执行链之前向链添加步骤和规则。)启用已经启用的链不会返回错误。 要运行链,必须创建类型为“chain”的作业。作业操作必须引用链名。对于此作业,可以使用基于事件或基于时间的调度。
复制
2 示例:依懒性调度
考虑批量数据加载期间发生的所有任务和条件。首先,必须有要加载的数据。然后加载数据,观察文件系统,以确保在加载期间不会耗尽空间。数据加载完成后,需要重新构建在更新后的表上定义的索引。然后针对新加载的数据运行报告。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
817次阅读
2025-04-18 14:18:38
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
610次阅读
2025-04-20 10:07:02
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
553次阅读
2025-04-22 00:13:51
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
543次阅读
2025-04-17 17:02:24
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
513次阅读
2025-04-22 00:20:37
一页概览:Oracle GoldenGate
甲骨文云技术
509次阅读
2025-04-30 12:17:56
火焰图--分析复杂SQL执行计划的利器
听见风的声音
478次阅读
2025-04-17 09:30:30
OR+DBLINK的关联SQL优化思路
布衣
388次阅读
2025-05-05 19:28:36
Oracle数据库Hint大全,31个使用案例,速来下载!
陈举超
372次阅读
2025-04-16 21:25:19
Oracle19C低版本一天遭遇两BUG(ORA-04031/ORA-00600)
潇湘秦
340次阅读
2025-04-16 17:05:16