VSAM RLS
记录级共享 (RLS) 是 VSAM 功能,使 VSAM 数据能够在许多 CICS® 区域中运行的许多应用程序之间共享,并具有完全更新功能。
通过实现文件拥有区域 (FOR) ,可以从具有完整数据完整性的单独 CICS 区域同时访问 VSAM 文件。 对 VSAM 数据集的所有访问都是通过 FOR 进行的。 CICS 事务在应用程序拥有区域 (AOR) 中运行, VSAM 文件请求将传递给 FOR。 此实现有几个问题,例如:
- FOR 是单点故障。
- FOR 可能是 CPU 和吞吐量的瓶颈。
- AOR 和 FOR 之间的函数输送是额外的开销。
VSAM RLS 旨在允许在并行综合系统 ® 中的一个或多个 z/OS® 映像中运行的许多应用程序之间共享 VSAM 数据 (具有完全更新完整性) ,而无需 CICS中的 FOR。 VSAM RLS 提供到多个 CICS 区域 (包括在不同 LPAR 上运行的区域) 的事务接口。 这对于可用性很重要,因为与单个 LPAR 相比,多 LPAR 综合系统提供了更好的弹性。 VSAM RLS 在每个 LPAR 中使用 SMSVSAM 地址空间。 区域中的 AOR 连接到 SMSVSAM 地址空间,而不是连接到 FOR。
VSAM RLS 组件
DFSMS VSAM 提供:
- N 路数据共享
- 综合系统范围的记录级锁定
- 每个 z/OS 系统中具有共享缓冲池的 SMSVSAM 地址空间
- 目录条目中的恢复属性- LOG(ALL)的 LOG(NONE | UNDO | ALL) 和 LOGSTREAMID 。 恢复成为数据集属性而不是文件属性
- 读完整性选项
- 将日志记录合并到正向恢复日志流
CICS 提供:
- 记录 VSAM 数据集更改以进行回退和恢复。
- 在事务异常中止, AOR 重新启动等情况下回退未落实的更改。
- 正向恢复日志记录和文件自动日志记录。
CICS VSAM Recovery for z/OS (CICS VR) (或等效的正向恢复产品) 提供:
- 映像副本和 CICS 日志的清单。
- 自动数据集复原和正向恢复。
- 使用必需的 RLS 命令来取消绑定和重新绑定任何未解析的锁定等。
从非 RLS 访问方式迁移到 RLS 访问方式的注意事项
当您从非 RLS 迁移到 RLS 访问方式时,如果事务发出一系列文件控制请求会导致文件本身死锁,那么可能会发生潜在的 AFCG 异常终止。 要帮助迁移,请启用以下功能切换以避免 AFCG 异常终止:
com.ibm.cics.rls.delete.ridfld=true- 为什么在 RLS 迁移之后可能会发生 AFCG 异常终止?
- 如果正在以非 RLS 方式访问文件,那么 AFCG 异常终止是由事务针对同一控制时间间隔 (CI) 发出冲突请求所导致的。 例如,如果正在以 LSR 方式访问文件,那么当事务对 CI 中也是同一事务发出的 READ UPDATE 请求主体的记录发出 DELETE 请求时,可能会发生自死锁。 但是,如果系统初始化参数 CILOCK=NO 生效以防止非 RLS VSAM 在执行 READ UPDATE 命令后保留 CI 锁定,那么不会返回 AFCG 异常终止,因为在 DELETE 请求上不会发生自死锁情况。 但是, CILOCK 与 RLS 无关,因此在文件迁移到 RLS 访问模式后,AFCG 可能会因为上述原因而中止。
- 解决方案是什么?
- 为了帮助您进行迁移,您可以启用功能切换
com.ibm.cics.rls.delete.ridfld=true以实现 RLS 文件的本地 VSAM CILOCK=NO 行为。 这允许 DELETE 请求在此类情况下成功。请参阅 指定功能切换 ,以获取有关如何指定功能切换的指示信息。
了解更多信息
有关在 CICS中设置 VSAM RLS 支持的信息,请参阅 VSAM RLS 支持所需的定义。
有关 CICS VR的更多信息,请参见 CICS VSAM Recovery for z/OS。