大型机:如何防止批处理作业和 CICS 事务之间的 DB2 争用?

问题描述

我有一个批处理作业和一个 CICS 事务,它们使用相同的 db2 表。两者都定期运行,并且由于与共享 DB2 表的争用,批处理作业偶尔会异常终止。

有没有办法在 CA7(作业调度工具)中调度作业以防止它在事务处于活动状态时运行?

解决方法

  1. 在开始批处理作业之前禁用 CICS 事务,在批处理作业结束时重新启用它。
  2. 修改批处理作业以使用提交间隔,类似于 this answer

检查 CICS 事务是否处于活动状态不太可能如您所愿。当您检查时它可能处于非活动状态,然后您开始批处理作业,然后 CICS 事务变为活动状态。

更新 #1


尽管您没有指定,但我的印象是这是一个长时间运行的 CICS 事务,不是在不到 0.10 秒的时钟时间内完成的普通 OLTP 样式事务。

如果是这种情况,那么创建一个使用 EXCI 的批处理程序来执行使用 CICS SPI INQUIRE TASKLIST 来定位您的事务的 CICS 程序可能是继续进行的方式。如果您拥有 CA-DADs PLUS,那么您或许可以使用该产品来执行此操作,而无需编写程序。

,

请参考下面的帖子,看看它是否能帮助您解决问题。

https://ibmmainframes.com/about12949.html

问候, 暗部。