CICS 失败

如果 CICS® 失败,那么 DBCTL 将保留对不确定 UOW 更新的数据库记录的锁定。 在解决疑问之前,这些记录将保持不可用状态。 CICS 在其日志中记录有关 UOW 处置的信息。

CICS 热启动或紧急重新启动会重新构造描述可能不确定的 UOW 的信息。 当 CICS 重新连接到 DBCTL 时, DBCTL 将返回任何不确定 UOW 的列表。 CICS 将通知 DBCTL 所有疑问的解决方法,因此 DBCTL 可以根据需要落实或回退。

如果 CICS 失败,或者如果需要立即关闭,那么 CICS 会尝试与 DBCTL 断开连接。 此时, CICS 会提供正在进行的请求在发生关闭之前完成的时间。 该时间在 DRA 启动表参数 TIMEOUT 中指定。 (有关此参数的信息,请参阅 定义 IMS DRA 启动参数表。) 如果超过 TIMEOUT 并且当线程在 DBCTL 中仍处于活动状态时 CICS 终止,那么将发生 DBCTL 的 U113 异常终止。 如果发生这种情况,您将必须重新启动 DBCTL (IMS)。

选择 TIMEOUT 的值需要在重新启动过程的长度之间进行权衡,如果指定的值过高,那么可能会延迟重新启动过程,而导致 U113 异常终止的风险会增加,如果指定的值过低,那么可能会增加此风险。 一种可能的解决方案是指定大约等于 BMP 检查点之间的平均时间长度的 TIMEOUT 值。 如果已采用 BMP 检查点,那么 CICS 资源等待的可能性较小。 这将降低 U113 异常终止的可能性,而不会过多延长重新启动过程。

如果您希望 CICS 异常终止,并且 CICS 不响应立即关闭,请使用 MVS CANCEL 命令。 此命令和 CICS 异常终止的原因不同,不应导致 IMS U113 异常终止,因为 DBCTL 会捕获 CANCEL 和 MVS™ 系统异常终止代码08E而是发出。 将 MVS CANCEL 的影响从 U113 异常终止更改为 MVS 系统异常终止08E使 CANCEL 的效果更像 CICS 立即关闭的效果。 如果您必须以这种方式取消 CICS ,请不要使用 START = INITIAL 系统初始化参数来启动 CICS ,除非绝对必要,尤其是如果 DBCTL 可能存在不确定工作单元的情况,因为 CICS 将丢失其不确定工作单元的记录。

有关 DBCTL 环境中 CICS 故障的影响的更多信息,请参阅相应 IMS 产品文档中的 "出口例程"中有关 CCTL 终止的部分。