工作单元恢复

CICS® 中的工作单元也是恢复单元-即,它是事务的原子组件,在该事务中进行的任何更改都必须落实,或者必须全部回退。

事务可以由单个工作单元或多个工作单元组成。 在 CICS中,在工作单元级别管理恢复。

出于恢复目的, CICS 恢复管理器仅关注由于某些故障而尚未完成同步点的工作单元。 本主题讨论 CICS 如何处理这些失败的工作单元。

CICS 恢复管理器必须管理以下类型的工作单元故障的恢复:
进行中-失败
由于任务异常终止或 CICS异常终止,事务在当前工作单元到达同步点之前失败。 事务异常终止,并且恢复管理器启动对工作单元所做的任何更改的回退。

请参阅 事务回退 (Transaction backout)

落实失败
执行同步点时,工作单元在落实处理期间失败。 当问题得到解决时,工作单元的部分副本将被舍去等待落实进程的重试。

不会 导致事务异常终止。

请参阅 落实-失败恢复

回退-失败
工作单元在回退对文件控制可恢复资源的更新时失败。 (回退失败的概念原则上适用于执行回退恢复的任何资源,但 CICS 文件控制是提供回退失败支持的唯一资源管理器。) 工作单元的部分副本将在问题解决时被延迟,以等待回退进程的重试。
注: 虽然可能由于事务异常终止而尝试了失败的回退,但回退失败本身 不会 导致事务异常终止。

例如,如果事务通过 EXEC CICS SYNCPOINT ROLLBACK 命令启动回退,那么 CICS 将返回正常响应 (不是异常情况) ,并且该事务将继续执行。 由恢复管理器来确保保留锁定,直到最终完成回退为止。

如果工作单元中涉及的某些资源发生回退失败,而其他资源发生落实失败,那么将整个 UOW 标记为回退失败。

请参阅 回退-失败恢复

不确定-失败
分布式工作单元在处于两阶段落实过程的不确定状态时失败。 事务异常终止。 如果通常有更多工作单元跟在失败不确定的工作单元后面,那么这些工作单元将不会因异常终止而执行。

当 CICS 与工作单元的协调程序重新建立通信时,会将工作单元的部分副本舍入为等待再同步。 仅当事务资源定义指定在不确定时发生故障时将等待工作单元时,才会执行此操作。 如果使用 WAIT (NO) 定义它们,那么 CICS 将执行在 ACTION 参数上指定的操作,并且工作单元不会变为失败的不确定单元。

请参阅 不确定故障恢复 (Indoubt failure recovery)