调查不确定故障

此示例显示如何调查不确定失败的工作单元 (UOW)。 为了本示例的目的,已使用 CICS®提供的事务 CIND 来创建故障-已将其中一个 FILEA 样本应用程序事务 UPDT 设置为失败不确定。

有关 CIND 的更多信息,请参阅 CIND-indoubt 测试工具

要检索有关工作单元 (UOW) 的信息,可以使用 CEMT 或 EXEC CICSINQUIRE UOW 命令。 为了本插图的目的,使用了 CEMT 方法。 您可以过滤该命令以仅显示与特定事务关联的 UOW。 例如, 图 1 显示了一个与事务 UPDT 关联的 UOW (AC0CD65E5D990800)。
图 1。 显示与事务关联的 UOW 的 CEMT INQUIRE UOW 命令
 
INQUIRE UOW TRANS(UPDT)
STATUS:  RESULTS - OVERTYPE TO MODIFY
 Uow(AC0CD65E5D990800) Ind Shu Tra(UPDT) Tas(0003155)
    Age(00000680) Ter(S233) Netn(IGBS233 ) Use(CICSUSER) Con Lin(DFHINDSP)
 
 
每个 UOW 标识在本地 CICS 系统中都是唯一的。 要查看有关 UOW 的更多信息,请将光标移至 UOW 行并按 ENTER 键。 此屏幕显示以下屏幕:
图 2。 CEMT INQUIRE UOW-UOW AC0CD65E5D990800 的详细信息
 
INQUIRE UOW TRA(UPDT)
RESULT - OVERTYPE TO MODIFY
  Uow(AC0CD65E5D990800)
  Uowstate( Indoubt )
  Waitstate(Shunted)
  Transid(UPDT)
  Taskid(0003155)
  Age(00000826)
  Termid(S233)
  Netname(IGBS233)
  Userid(CICSUSER)
  Waitcause(Connection)
  Link(DFHINDSP)
  Sysid()
  Netuowid(..GBIBMIYA.IGBS233 .O;)r...)
 
 
此 UOW 的 UOWSTATE 为 不确定。 TRANSACTION 定义属性 WAIT (YES | NO) 控制当 UOW 失败不确定时 CICS 执行的操作。 CICS 执行以下两项操作之一:
  • 使 UOW 等待,暂挂从故障恢复。 (换言之, UOW 被搁置。) 对可恢复资源的更新已暂挂,
  • 立即决定落实或回退可恢复的资源更新。

已搁置 的 WAITSTATE 显示此 UOW 已暂挂。

图 2 显示有关 UOW 的其他信息:
  • 原始事务为 UPDT , taskid 为 3155 , termid 为 S233。 任何这些都可用于将此特定故障与写入 CSMT 的消息联系起来。
  • UOW 已不确定 826 秒 (AGE)。
  • 不确定故障的原因是 连接 故障。 (该连接是 CIND DFHINDSP所使用的哑元连接。)
当 UOW 被搁置不确定时, CICS 会保留对 UOW 已更新的可恢复资源的锁定。 这将阻止进一步的任务在资源更新处于不确定状态时更改这些资源更新。 要显示已搁置不确定的 UOW 持有的 CICS 锁定,请使用 CEMT INQUIRE UOWENQ 命令。 您可以过滤该命令以仅显示与特定 UOW 关联的锁定。 (请注意, INQUIRE UOWENQ 命令仅在 CICS 已排队的非 RLS 资源上运行,对于 RLS 访问的资源,您应该使用 INQUIRE UOWDSNFAIL 命令。) 例如:
图 3。 CEMT INQUIRE UOWENQ-用于显示与 UOW 关联的锁定
 
INQUIRE UOWENQ UOW(*0800)
STATUS:  RESULTS
 Uow(AC0CD65E5D990800) Tra(UPDT) Tas(0003155) Ret Dat Own
    Res(DCXISCG.IYLX.FILEA        ) Rle(018) Enq(00000003)
 
 
要查看有关此 UOWENQ 的更多信息,请将光标放在它旁边并按 ENTER 键:
图 4: CEMT INQUIRE UOWENQ-与 UOW 关联的锁定的详细信息
 
INQUIRE UOWENQ UOW(*0800)
RESULT
  Uowenq
  Uow(AC0CD65E5D990800)
  Transid(UPDT)
  Taskid(0003155)
  State(Retained)
  Type(Dataset)
  Relation(Owner)
  Resource(DCXISCG.IYLX.FILEA)
  Rlen(018)
  Enqfails(00000003)
  Netuowid(..GBIBMIYA.IGBS233 .O;)r...)
  Qualifier(000001)
  Qlen(006)
 
 
我们现在可以看到:
  • 此 UOW 是 数据集保留 锁定的 所有者 。 保留锁定与活动锁定不同,因为需要此锁定的其他任务不会暂挂; 相反,事务会接收 LOCKED 条件-如果应用程序未处理该条件,那么这将导致 AEX8 异常终止。
  • 数据集为 DCXISCG.IYLX.FILEA限定符 (在本例中,不确定记录的键) 为 000001
  • 其他三项任务已尝试更新不确定记录 (ENQFAILS)。

由于 CIND 用于创建此不确定故障,因此它也可用于解析不确定的 UOW。 有关如何解决实际不确定故障的示例,请参阅 问题确定示例