针对 RLS 访问方式数据集 (DFH0BATx) 批量启用样本程序

如果您具有以 RLS 访问方式打开到 CICS ® 区域的可恢复 VSAM 数据集,并且要从批处理应用程序更新这些数据集,那么通常必须先停顿这些数据集,然后才能以批处理方式使用这些数据集。 本部分描述了一些过程,可用于帮助您自动执行批处理的准备过程。

开始之前

如果您不想停顿可恢复的 VSAM 数据集,那么可以使用 DFSMStvs 以允许联机更新 VSAM 可恢复数据集。 使用 DFSMtvs 允许 CICS 对它正在使用的任何 VSAM 数据集进行完全读写访问。 有关 DFSMStvs 的更多信息,请参阅 z/OS DFSMStvs Planning and Operating Guide

关于此任务

如果有任何文件以 RLS 访问方式打开,那么批处理程序无法以非 RLS 访问方式打开数据集。 要从批处理更新的 RLS 访问方式切换到非 RLS 访问方式,必须首先停顿数据集。 VSAM RLS 停顿机制会导致综合系统中的所有 CICS 区域关闭针对指定数据集打开的任何 RLS 方式文件。 在停顿机制下关闭数据集后,只能以非 RLS 方式打开数据集。 要重新启用以 RLS 方式重新打开已停顿的数据集,必须关闭所有打开的非 RLS 方式文件,然后必须取消停顿这些数据集。

注: 停顿机制无法通知以 RLS 访问方式打开数据集的批处理程序有关停顿请求的信息。 如果您有此类程序,那么应该使用 DFSMS SHCDS LIST 子命令来检查是否有任何非 CICS 作业针对数据集以 RLS 方式打开了文件。 有关 SHCDS LIST 子命令的信息,请参阅 z/OS DFSMS Access Method Services Commands

停顿数据集将在 ICF 目录中设置停顿标志,以便只能以非 RLS 方式打开数据集。 这是使数据集可用于批处理程序的建议方法。 但是,即使数据集已停顿,如果 SMSVSAM 对数据集持有保留锁定,那么仍无法以非 RLS 访问方式将其打开以进行更新。 这是因为需要锁定以保持数据完整性: 它们保护正在等待落实或回退的更改。

本节中描述的 DFH0BATx 样本程序由 CICS 提供,以帮助您处理任何保留的锁定。 成功处理这些文件后,可以使用 SPI 或 CEMT 命令停顿数据集以关闭 RLS 方式文件。

有关在切换到非 RLS 方式时应遵循的检查和处理保留锁定的过程的更多信息,请参阅 解决可恢复资源上的保留锁定