Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 如何基于失败的步骤回滚整个链作业_Oracle - Fatal编程技术网

Oracle 如何基于失败的步骤回滚整个链作业

Oracle 如何基于失败的步骤回滚整个链作业,oracle,Oracle,我有一个40个步骤的链式作业,最近从计划作业转换而来。当计划作业的一部分失败时,整个事务将回滚 根据我的理解,列车的每一步都是它自己的事务,当某件事情失败时,只有失败的一步会被回滚 我可以让链的第一步创建一个恢复点,并让一步等待回滚失败,但这似乎太多工作了。有更好的办法吗?一些我不知道的链定义 如果有必要,这将适用于Oracle 12环境,但测试是在Oracle 11环境中进行的。将一个单片过程重组为40个步骤的好处当然是,您可以控制哪些部分在出现故障时重新启动。@WilliamRobertso

我有一个40个步骤的链式作业,最近从计划作业转换而来。当计划作业的一部分失败时,整个事务将回滚

根据我的理解,列车的每一步都是它自己的事务,当某件事情失败时,只有失败的一步会被回滚

我可以让链的第一步创建一个恢复点,并让一步等待回滚失败,但这似乎太多工作了。有更好的办法吗?一些我不知道的链定义


如果有必要,这将适用于Oracle 12环境,但测试是在Oracle 11环境中进行的。

将一个单片过程重组为40个步骤的好处当然是,您可以控制哪些部分在出现故障时重新启动。@WilliamRobertson它不是一个单片过程,它最初是一个过程,它调用了所有其他过程,现在是链步骤。有人告诉我,如果任何一步都失败了,他们不希望他们中的任何一个在这种情况下,我看不出练习的意义。捕捉步骤计时?我从未将dbms_调度器用于任何复杂的事情,但我非常确定每个作业都必须在其自己的会话中运行,并且没有任何设置可以改变它。@WilliamRobertson这不是一个练习,这是我得到的要求,不管它是否准确,它是一个全有或全无的要求