StorageTek Enterprise Library Software

管理 HSC 和 VTCS

发行版 7.3

E63453-02

2016 年 9 月

StorageTek Enterprise Library Software 管理 HSC 和 VTCS, 发行版 7.3

E63453-02

版权所有 © 2015，2016， Oracle 和/或其附属公司。保留所有权利。

本软件和相关文档是根据许可证协议提供的，该许可证协议中规定了关于使用和公开本软件和相关文档的各种限制，并受知识产权法的保护。除非在许可证协议中明确许可或适用法律明确授权，否则不得以任何形式、任何方式使用、拷贝、复制、翻译、广播、修改、授权、传播、分发、展示、执行、发布或显示本软件和相关文档的任何部分。除非法律要求实现互操作，否则严禁对本软件进行逆向工程设计、反汇编或反编译。

此文档所含信息可能随时被修改，恕不另行通知，我们不保证该信息没有错误。如果贵方发现任何问题，请书面通知我们。

如果将本软件或相关文档交付给美国政府，或者交付给以美国政府名义获得许可证的任何机构，则适用以下注意事项：

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

本软件或硬件是为了在各种信息管理应用领域内的一般使用而开发的。它不应被应用于任何存在危险或潜在危险的应用领域，也不是为此而开发的，其中包括可能会产生人身伤害的应用领域。如果在危险应用领域内使用本软件或硬件，贵方应负责采取所有适当的防范措施，包括备份、冗余和其它确保安全使用本软件或硬件的措施。对于因在危险应用领域内使用本软件或硬件所造成的一切损失或损害，Oracle Corporation 及其附属公司概不负责。

Oracle 和 Java 是 Oracle 和/或其附属公司的注册商标。其他名称可能是各自所有者的商标。

Intel 和 Intel Xeon 是 Intel Corporation 的商标或注册商标。所有 SPARC 商标均是 SPARC International, Inc 的商标或注册商标，并应按照许可证的规定使用。AMD、Opteron、AMD 徽标以及 AMD Opteron 徽标是 Advanced Micro Devices 的商标或注册商标。UNIX 是 The Open Group 的注册商标。

本软件或硬件以及文档可能提供了访问第三方内容、产品和服务的方式或有关这些内容、产品和服务的信息。除非您与 Oracle 签订的相应协议另行规定，否则对于第三方内容、产品和服务，Oracle Corporation 及其附属公司明确表示不承担任何种类的保证，亦不对其承担任何责任。除非您和 Oracle 签订的相应协议另行规定，否则对于因访问或使用第三方内容、产品或服务所造成的任何损失、成本或损害，Oracle Corporation 及其附属公司概不负责。

目录

插图清单

表格清单

标题和版权信息

前言

- 目标读者

- 先决条件

- 文档可访问性

- 关于本书

新增内容

1 工具包

- HSC 工具包

- VTCS 工具包

2 管理 CDS

- 备份 CDS

- 备份频率

- 使用 PITCOPY 备份 CDS

- 使用 BACKup 实用程序备份 CDS

- 管理 CDS 日志记录

- 定期转移日志文件

- 扩展或重新分配日志文件

- 手动切换到其他 CDS 副本

- 扩展 CDS

- 轮转 CDS

- 重命名 CDS

- 使用 CDS Disable 和 Enable 命令重命名 CDS

- 重定位 CDS

- 重定位已取消编目的 CDS 副本

- 交换 CDS

- 恢复 CDS

- 从备份副本恢复 CDS

3 管理 TapePlex

- 管理磁带库硬件

- 管理 ACS

- 管理 SL8500 冗余电子设备

- 双磁带库控制器配置

- SL8500 冗余电子设备环境

- SL8500 LC 操作

- 显示 ACS 状态

- 冗余 LC 操作概述

- LC 切换概述

- LC 切换的后果

- 自动 LC 切换

- 操作员启动的 LC 切换

- CAP 手动恢复

- 当装入功能处于活动状态时发生切换

- 当弹出功能处于活动状态时发生切换

- 将 CAP 设置为自动模式时发生切换

- 管理 CAP

- 定义手动 RTD

- 保护磁带数据

- 保护本机磁带数据

- 保护 VTV 数据

- 保护 MVC 数据

- 管理磁带库卷

- 使用卷报告

- 有错误或已选择的卷

- 不匹配的 VOLPARM 和外部标签状态

- 未包含在 VOLPARM 中的卷

- 管理暂存子池

- 使用 VOLRPT 跟踪清洗磁带使用情况

- 优化挂载性能

- 使用卷访问安全性

- RACF 属性

- 一次写入多次读取 (Write Once/Read Many, WORM) 支持

- 管理暂存卷

- 添加暂存卷

- 定义 Nearline 卷

- 填充新 LSM

- 将卷装入现有的 LSM

- 装入磁带

- 弹出卷

- 弹出暂存卷

- 管理清洗磁带

- 清洗磁带选择

- 弹出清洗磁带

- 手动弹出使用过的清洗磁带

- 解决问题

- 恢复有错误的磁带

- 装入重复和无法读取的卷序列号

- 装入重复的卷

- 装入具有缺失或无法读取的外部标签的磁带

- 清除 CAP 上的恢复状态

- 释放分配的 CAP

- 恢复主机到主机通信服务

- 解决可能的丢失挂载请求

- 解决丢失的挂载响应 (Lost Mount Response, ORH)

- 逾期响应处理程序

- 挂载、卸载、移动和交换所需的操作员响应

- 使用软件诊断

4 使用 VTCS 系统信息显示板

- 检查虚拟磁带状态（每日）

- 检查虚拟磁带状态：

- 检查 Nearline 磁带状态（每日）

- 检查 Nearline 磁带状态：

- 查看重点（每周）

- 使用 VTV 报告

- 使用 MVC 报告

- 总结

5 使用 VTCS 必须执行（有时）琐碎事务列表

- 执行需求空间回收、迁移和撤回

- 执行需求 MVC 空间回收

- 执行需求 VTV 迁移

- 执行需求 VTV 撤回

- 使用 RTD

- 更改 RTD 设备类型

- 使用 MVC

- 添加 MVC

- 定义 VTV

- 验证和应用卷定义

- 从池中移除 MVC。

- 永久移除 MVC

- 临时移除 MVC

- 排出 MVC

- 使用 MVCMAINT 更改 MVC 属性

- 验证 MVC 或 VMVC

- 针对单个 VMVC 执行 MV

- 按 MVC 池执行 MV

- 按 MVC 卷序列号执行 MV

- 按存储类执行 MV

- 使用 VTSS

- 停顿 VTSS 以进行维修

- 移除 VTSS

- 使用 VTV

- 删除暂存 VTV

- DELTSCR JCL 示例

- 使用 VTVMAINT 更改 VTV 属性

- 更改 VTV 管理类并从 MVC 取消 VTV 的链接

- 在脱机 VTSS 中逻辑卸载 VTV

- 管理通过跨 TapePlex 复制 (Cross-TapePlex Replication, CTR) 复制的 VTV

- 使用 RECONcil 更改 VTV 存储类

- 运行 RECONcil 作业

- 使用 FOR_LOSTMVC 恢复 VTV

- FOR_LOSTMVC 恢复过程

6 使用管理类和存储类的前沿解决方案

- VTCS CDS 级别

- 什么是管理类和存储类？

- 创建和使用 VTCS 管理类和存储类：基础知识

- 创建和使用 VSM 管理类和存储类：

- 维护管理类和存储类

- 可以通过管理类和存储类实现的前沿技术

- 在共享 MVC 上分组多个工作负荷

- 在单独的 MVC 集上分离各个工作负荷

- 归档数据

- 归档使用说明

- 调节 VTV 介质和位置

- RECONcil 示例

- RECONcil 使用说明

- 是否使用命名 MVC 池？

- 创建和使用命名 MVC 池

7 查找和修复 VTCS 问题

- 修复常见问题

- VTV 挂载性能差

- 迁移性能差

- 迁移故障

- 消息增强

- Display STORCLas

- 增强的 MVC 池验证

- 增强的存储类验证

- RTD/MVC 故障

- 它是错误的 MVC 吗？

- 恢复具有数据检查的 MVC

- 使用 RTV 实用程序

- RTV 实用程序可以恢复的内容

- 安全注意事项

- JCL 示例

- 列出 MVC 上的 VTV

- 通过指定单个 VTV 的卷序列号来转换该 VTV

- 通过指定单个 VTV 的卷序列号和块 ID 来转换该 VTV

A LCM 控制语句

索引

插图清单

- 3-1 双 LC 配置

- 3-2 卷报告（不匹配的 VOLPARM 和外部标签）

- 3-3 卷报告（暂存子池）

- 3-4 卷报告（清洗磁带）

- 4-1 Display MVCPool 的示例输出（未指定池名称）

- 4-2 Display MVCPool 的示例输出－ACS01 中的问题

- 4-3 VTVRPT 的示例输出

- 4-4 VTVRPT（UNAVAIL 选项）的示例输出

- 4-5 示例 MVC 摘要报告

- 4-6 示例 MVC 详细报告（附加字段）

表格清单

- 1-1 HSC 操作员命令

- 1-2 HSC PARMLIB 控制语句

- 1-3 HSC 实用程序（SLUADMIN，除非另外指明）

- 1-4 诊断

- 1-5 HSC 性能工具

- 1-6 VTCS 工具包

- 3-1 暂存卷管理任务和工具

- 3-2 HSC 软件诊断工具

- 4-1 Display VTSS 的示例输出－良好 VTSS 状态

- 4-2 Display VTSS 的示例输出－具有主要运行问题的 VTSS

- 4-3 Display VTD 的示例输出－正常运行

- 4-4 Display SCRATCH 的示例输出

- 4-5 VT Display RTD 命令的示例输出－一切良好

- 4-6 VT Display RTD 命令的示例输出－陷于困境的 RTD

- 5-1 VTSS 状态

- 5-2 替代 VTV 副本和恢复过程

- 6-1 支持的 VTCS 版本的 CDS 级别

- A-1 LCM 控制语句

前言

Oracle StorageTek Enterprise Library Software (ELS) 是包含以下基本软件的解决方案：

- StorageTek Storage Management Component (SMC)

- StorageTek Host Software Component (HSC)

- StorageTek Virtual Tape Control Software (VTCS)

- StorageTek Concurrent Disaster Recovery Test (CDRT)

此外，以下软件也随 ELS 软件包提供：

- StorageTek Library Content Manager (LCM)（原 ExLM）。LCM 包括一个以前称为异地保管库功能 (Offsite Vault Feature) 的产品的增强版本。

- StorageTek Client System Component for MVS Environments (MVS/CSC)

- StorageTek LibraryStation

目标读者

本手册适用于负责管理 ELS 的 Oracle 或客户人员。

先决条件

要执行本指南中介绍的任务，您应该已了解以下内容：

- MVS 操作环境

- JES2 或 JES3

- Enterprise Library Software (ELS)

文档可访问性

有关 Oracle 对可访问性的承诺，请访问 Oracle Accessibility Program 网站 http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc。

获得 Oracle 支持

购买了支持服务的 Oracle 客户可通过 My Oracle Support 获得电子支持。有关信息，请访问 http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info；如果您听力受损，请访问 http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs。

关于本书

本书专为任何负责保持 HSC 和 VTCS 启动并运行的人员而编写。HSC/VTCS 本质上是一个服务器，与所有服务器一样，如果您正确对其进行安装和配置、构建有效的策略并适度地进行细致的管理，HSC/VTCS 会对其自身进行维护。HSC 和 VTCS 具有一些共同的常见任务（如维护 CDS），还具有一些类似但彼此独立的任务（如使用实际卷与使用 VTV 和 MVC）。有关管理三者的分配成员的信息，请参见管理 SMC。

需要何种“认真的管理”？“管理 HSC 和 VTCS”需要执行哪些操作？以下列表介绍了本书的各个部分以及对应的管理任务：

- 工具包 以表格形式介绍了用于管理 HSC 和 VTCS 的工具。本节介绍了这些工具的特定任务和功能。要了解详细信息，您需要具有能够轻松获取的《ELS Command, Control Statement, and Utility Reference》。

- 管理 CDS 介绍如何保护 CD 以及如何在丢失 CDS 的一个或多个副本时将其恢复。

- 管理 TapePlex 介绍管理 TapePlex 所需的定期任务和按需任务。

- 使用 VTCS 系统信息显示板 介绍需要持续执行的任务。除监视 VTCS 系统的运行状况之外，您还需要将多个关键项目（如需求 MVC 空间回收批处理作业）落实到位。

- 使用 VTCS 必须执行（有时）琐碎事务列表 包含您为 VTCS 执行的项目（当其需要执行时）。
定期管理和按需管理之间存在一些重叠，正如这两个类别和解决问题之间存在一些重叠。如果您很小心地执行管理任务，则您很可能不必解决很多问题，反之亦然。“定期”和“按需”是两个一般类别，您必须根据您企业的需要进行调整。

- 使用管理类和存储类的前沿解决方案 介绍关于管理类和存储类的内容，这两者是 VTCS 领域中任何前沿技术的基础。

- 查找和修复 VTCS 问题 介绍当发生问题时应如何解决。

- LCM 控制语句 是关于您既可以使用 HSC 也可以使用 LCM 执行的操作的便利交叉参考。

新增内容

本修订版包括以下更新：

- 向 CAP 大小列表添加了批量 CAP 大小（36 个单元）
请参见“管理 CAP”。

- 从配置中删除 MVC 或 VTV 时新增了一些规定。
请参见使用 MVC和“使用 VTV”。

- 将 I 级别 CDS 添加到支持的 VTCS 版本的 CDS 级别表。此 CDS 级别对于 32 GB VTV 支持是必需的。
请参见“VTCS CDS 级别”。

1 工具包

以下各表介绍了管理 HSC 和 VTCS 所需的工具（按接口进行分组）。有关这些工具的更多信息，请参见《ELS Command, Control Statement, and Utility Reference》。

注:
重要提示：注册以获取 HIPER 通知。为了帮助您在维护方面获取最新信息并主动避免问题，Oracle 作为知识库预警文档发布了 HIPER 通知。可以通过在 My Oracle Support (MOS) 主页中搜索关键字 "HIPER" 来检索 HIPER 通知的完整列表。您还应注册以通过 MOS 热门话题电子邮件自动接收新 HIPER 通知预警文档。知识库文章 793436.1（可在 MOS 主页中按照编号进行搜索）介绍了热门话题电子邮件功能以及如何订阅。确保将您感兴趣的所有 Oracle StorageTek 产品添加到热门话题电子邮件配置文件中。只需单击 Add（添加）以包含特定的产品，然后从您在 Add Product（添加产品）框的 "Product"（产品）字段中键入 StorageTek 时显示的列表中选择一个产品。在选择每个文档时，确保选中 "Alert"（预警）文档类型。

HSC 工具包

表 1-1 HSC 操作员命令

命令：

功能：

请参见此主题：

CDS ENABLE/DISABLE

切换、扩展或移动 CDS 副本。

手动切换到其他 CDS 副本

COMMPATH

更改通信设置。

添加暂存卷

DISPLAY ACS

显示 ACS 的状态，其中包括 ACS、LMU 和站的硬件状态以及可用的暂存卷和空闲单元。

管理 ACS

DISPLAY ALL

所有 DISPLAY ACS 以及 LSM 和 CDS 状态。

管理 ACS

DISPLAY CAP

显示 CAP 信息。

添加暂存卷

DISPLAY EXCEPTNS

显示磁带库硬件问题。

管理磁带库硬件

DISPLAY LSM

显示 LSM 状态。

装入磁带

DISPLAY SCRATCH

根据子池显示暂存计数信息。

添加暂存卷

DISPLAY THRESHLD

显示由 Warn 命令设置的阈值。

添加暂存卷

DISPLAY VOLUME

显示物理卷信息。

有错误或已选择的卷

EJECT

弹出最多 9999 个磁带。

装入磁带

ENTER

装入一个或多个卷。

装入磁带

MNTD AUTOCLN EJCTAUTO

确定自动磁带机清洗和超出 MAXCLEAN 值的清洗磁带自动弹出。

管理清洗磁带

MODIFY

更改 LSM 和 CAP 状态。

- 管理 ACS

- 添加暂存卷

OPTION ENTDUP

确定对装入重复卷的响应。

装入重复的卷

RELEASE

发布 CAP 并使其可供使用。

释放分配的 CAP

SMC RESYNCH

重新驱动丢失的挂载。

添加暂存卷

SCRATCH

暂存特定的卷。

添加暂存卷

UNSCRATCH

取消暂存特定的卷。

添加暂存卷

WARN

建立暂存警告阈值。

添加暂存卷

表 1-2 HSC PARMLIB 控制语句

控制语句：

功能：

请参见此主题：

CDSDEF

指定 CDS 副本的数据集名称。

- 扩展 CDS

- 重命名 CDS

- 重定位 CDS

表 1-3 HSC 实用程序（SLUADMIN，除非另外指明）

实用程序：

功能：

请参见此主题：

BACKUP

备份主 CDS。

使用 BACKup 实用程序备份 CDS

FMTLOG

预设日志文件格式。

管理 CDS 日志记录

LOGUTIL

使用日志文件帮助恢复 CDS。

从备份副本恢复 CDS

OFFLOAD LOGFILE

转移任何当前日志文件中的事务并激活新日志文件。

管理 CDS 日志记录

RESTORE

从备份副本恢复 CDS。

从备份副本恢复 CDS

Scratch Conversion(SLUCONDB)

从 TMS 暂存列表更新 HSC 暂存列表。

添加暂存卷

SCREDIST

在 ACS 中指定的 LSM 之间平衡暂存卷的数量。提供通过子池进行平衡的选项。

添加暂存卷

SET LOGFILE

指定日志文件数据集。

管理 CDS 日志记录

SET VOLPARM

定义所有类型的卷和池。

- 添加暂存卷

- 定义 Nearline 卷

- 添加暂存卷

PITCOPY

备份主 CDS（时间点）。

使用 PITCOPY 备份 CDS

UNSELECT

重置卷选择状态。

有错误或已选择的卷

VOLRPT

提供物理卷报告。

使用卷报告

表 1-4 诊断

诊断工具：

功能：

请参见此主题/文档：

全面跟踪工具

全面跟踪工具 (Generalized Trace Facility, GTF) 提供低级别的最近过去的历史记录。

添加暂存卷

管理员调用和异常终止转储 (ABEND)

会在适当的情况下进行 SVC 和 ABEND 转储，以诊断软件故障。

添加暂存卷

错误记录数据集记录

会将软件故障记录在这些错误记录数据集中。由 MVS 例程写入 4480 磁带子系统和 3278 终端子系统错误记录数据集 (Error Recording Data Set, ERDS) 记录。

添加暂存卷

HSC LIST 命令

LIst 命令用于显示 HSC 数据结构并为 HSC 提供诊断支持。在 Oracle 支持人员的指导下使用该命令。

《ELS Command, Control Statement, and Utility Reference》

表 1-5 HSC 性能工具

性能工具：

功能：

请参见此主题：

活动报告

生成用于确定各种磁带库活动的性能值的详细报告。

优化挂载性能

暂存再分发实用程序

在特定 ACS 内的 LSM 上再分发暂存卷。

- 优化挂载性能

- 添加暂存卷

WARN 命令

建立用于控制 HSC 何时向操作员通知 ACS 中的暂存磁带数量不足的阈值。

添加暂存卷

CAPPREF 命令

指定 CAP 的优先级值。

添加暂存卷

SMF 记录

记录用于分析的 ACS 活动和性能数据。

优化挂载性能

VTCS 工具包

表 1-6 VTCS 工具包

命令：

功能：

请参见此主题/文档：

AUDIT

更新 HSC CDS 中的 MVC 和 VTV 信息。

- 更改 RTD 设备类型

- 更改 RTD 设备类型

- 在脱机 VTSS 中逻辑卸载 VTV

DELETSCR

从 VTSS 中删除暂存 VTV 并从 MVC 取消任何迁移的 VTV 的链接。

执行需求 MVC 空间回收

DISPLAY

显示所有对象的状态，因此 VTCS 是您的主要工具之一。

- 检查虚拟磁带状态（每日）

- 检查虚拟磁带状态（每日）

- 执行需求 MVC 空间回收

- 执行需求 MVC 空间回收

- VTV 挂载性能差

- VTV 挂载性能差

- RTD/MVC 故障

- VTV 挂载性能差

MIGRATE

需求迁移 VTV 至 MVC。

执行需求 MVC 空间回收

MVCDRAIN

从某个 MVC 撤回所有当前和暂存 VTV 并“虚拟”弹出该 MVC（可选）（在不将其从磁带库中物理弹出的情况下使其不可供 VSM 使用）。

执行需求 MVC 空间回收

MVCMAINT

设置 MVC 属性。

更改 RTD 设备类型

MVCPLRPT

管理 MVCPOOLS 和存储类。

《ELS Command, Control Statement, and Utility Reference》

MVCRPT

报告 VSM 系统的 MVC 的状态，为 Primary Wellness Meter #2。

- 检查虚拟磁带状态（每日）

- 执行需求 MVC 空间回收

- 使用 PITCOPY 备份 CDS

- 修复常见问题

RECALL

执行需求 VTV 撤回。

执行需求 MVC 空间回收

RECLAIM

执行需求 MVC 空间回收。

执行需求 MVC 空间回收

RECONCIL

调节 VTV 介质和位置（将 VTV 从一个存储类移动到另一个存储类）。

使用 VTSS

RTV 实用程序

将 MVC 中包含的 VTV 转换为 Nearline 卷上的数据集（实际磁带卷）。

修复常见问题

SET MIGOPT

更改以下迁移参数：

- 最大和最小并发自动迁移、立即迁移和迁移至阈值任务数。

- 高 AMT 和低 AMT。

- 检查虚拟磁带状态（每日）

- 执行需求 MVC 空间回收

VARY RTD

更改 RTD 状态。

- 检查虚拟磁带状态（每日）

- 使用 VTSS

VARY VTSS

更改所有主机上的 VTSS 状态。

使用 VTSS

2 管理 CDS

由于 CDS 包含关键数据，因此管理 CDS 是一项关键任务。以下各节介绍如何保护 CDS 以及在丢失 CDS 的一个或多个副本时如何恢复 CDS。有关规划和创建 CDS 的信息，请参见 Configuring HSC and VTCS。

备份 CDS

如果 CDS 的所有副本都失败（即，丢失了主副本、辅助副本和备用副本），则必须从备份恢复 CDS。可以使用非 ELS 工具（如磁盘镜像）、第三方备份软件（如 IBM DFSMSdss 和 Innovation FDR）或第三方时间点复制软件（如 IBM FlashCopy）备份 CDS。不过，Oracle 不建议使用这些方法，因为这些方法不保证 CDS 的一致性和完整性。

Oracle 建议使用以下工具进行 CDS 备份：

- 如果您有用于创建快照备份的工具，请使用 HSC PITCOPY 实用程序，该实用程序会在确保 CDS 的一致性后调用这些实用程序。与标准 BACKUP 实用程序相比，可极大地减少备份时间（尤其是对于大型 CDS）。

- 如果您没有用于创建快照备份的工具，请使用 HSC BACKUP 实用程序。

备份频率

Oracle 建议至少每天备份 CDS 一次。如果使用 CDS 日志记录，则还应在备份 CDS 之后立即运行日志文件负载转移，以便在恢复过程中可以选择与用于恢复的备份文件相对应的日志负载转移文件。

还应在配置更改和其他重要事件之前备份 CDS，这些事件包括但不限于：

- 运行 SLUADMIN SET 实用程序

- 运行 VTCS CONFIG 实用程序

- 移动 CDS

- 扩展 CDS

- 合并 CDS

PITCOPY 功能不要求 HSC 是活动的。不过，如果 HSC 不是活动的，则必须为 CDS 数据集提供 DD 语句。

使用 PITCOPY 备份 CDS

PITCOPY 实用程序支持以下快照方法：

- StorageTek SVAA SnapShot (SIBBATCH)

- DFSMSdss SnapShot/DFSMSdss FlashCopy (ADRDSSU)

- FDR 调用的快照 (FDRSNAP)

有关所需的 JCL DD 语句和控制卡，请参考适用于您的环境的实用程序文档。

除 SLUADMIN 实用程序和快照实用程序要求的 DD 语句之外，PITCOPY 功能还需要以下 DD 语句：

- SLSPARMP，一个数据集，其中包含用于备份在您的环境中定义为 SLSCNTL 的数据集的快照控制语句。

- SLSPARMS，一个数据集，其中包含用于备份在您的环境中定义为 SLSCNTL2（如果有）的数据集的快照控制语句。

- SLSPARMB，一个数据集，其中包含用于备份在您的环境中定义为 SLSSTBY（如果有）的数据集的快照控制语句。

- SYSIN，必须定义为可由 PITCOPY 实用程序写入和读取的数据集。

PITCOPY 功能不要求 HSC 是活动的。不过，如果 HSC 不是活动的，则必须为 CDS 数据集提供 DD 语句。

以下示例显示了所有 PIT 复制方法需要的一般 JCL。

//PITCOPY EXEC PGM=SLUADMIN,PARM='MIXED'
//STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
//* If HSC IS NOT OR MAY NOT BE ACTIVE, INCLUDE THE
//* FOLLOWING:
//SLSCNTL DD DSN=primary.cds.name,DISP=SHR
//SLSCNTL2 DD DSN=secondary.cds.name,DISP=SHR
//SLSSTBY   DD DSN=standby.cds.name,DISP=SHR
//SLSPARMP DD DSN=hlq.PARMLIB(BKPCNTL),DISP=SHR
//SLSPARMS DD DSN=hlq.PARMLIB(BKPCNTL2),DISP=SHR
//SLSPARMB DD DSN=hlq.PARMLIB(BKPSTBY),DISP=SHR
//SYSIN          DD UNIT=SYSDA,SPACE=(TRK,1)
//* THE FOLLOWING IS USED BY THE SNAPSHOT UTILITY:
//SYSPRINT  DD  SYSOUT=*
//SLSPRINT   DD SYSOUT=*
//SLSIN         DD *
PITCOPY METHOD=(SIBBATCH|ADRDSSU|FDRSNAP)

有关您要用于其他 JCL 要求的快照实用程序，请参考用户指南。

- SLSPARMP、SLSPARMS 和 SLSPARMB 中的控制卡是调用快照工具所需的控制卡。有关您要用于所需控制卡的格式的快照实用程序，请参考用户指南。应使用不在数据集上请求入队的控制卡选项，因为 PITCOPY 实用程序可确保序列化。

使用 BACKup 实用程序备份 CDS

运行 BACKup 实用程序：

1. 分配 SLSBKUP 数据集。
该数据集应稍大于 CDS。大小取决于找到的差异的数量。不过，建议的大小为比当前 CDS 大 5%。

备份数据集格式化为 RECFM=F、BLKSIZE=4096。逻辑记录长度可能为 LRECL=0。在这种情况下，LRECL=0 指示默认为块大小。

2. 运行 BACKup 实用程序。
将 CDS 置于保留状态的时间仅够将数据复制到 SLSBKUP 数据集中。在备份处理期间，任何其他功能都不能访问 CDS 数据集：

- 如果 HSC 不是活动的，则必须通过在 JCL 中指定 SLSCNTL、SLSCNTL2 和 SLSSTBY DD 语句来确定要用于备份的主 CDS、辅助 CDS 和备用 CDS。

- 如果 HSC 是活动的并且您通过在 JCL 中指定 SLSCNTL、SLSCNTL2 和 SLSSTBY DD 语句来确定要用于备份的主 CDS、辅助 CDS 和备用 CDS，则即使在执行该实用程序的主机上 HSC 是活动的，也会使用 DD 语句。如果 HSC 是活动的并且省略这些 DD 语句，则使用执行该实用程序的主机上活动 HSC 所使用的数据集。
用于备份主 CDS、辅助 CDS 和备用 CDS 的示例 JCL：

//JOBBKUP   job (account),programmer
//S1        EXEC PGM=SLUADMIN,PARM=MIXED
//STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
//SLSBKUP   DD DSN=backup.dataset.name(+1),DISP=(NEW,CATLG,DELETE),
//             UNIT=SYSDA,SPACE=
//SLSCNTL   DD DSN=primary.dataset.name,DISP=SHR
//SLSCNTL2 DD DSN=secondary.dataset.name,DISP=SHR
//SLSSTBY DD DSN=standby.dataset.name,DISP=SHR
//SLSPRINT  DD SYSOUT=A
//SLSIN     DD *
BACKUP

管理 CDS 日志记录

HSC 事务日志记录服务是用于将信息记录到一个或两个（可选）日志文件中的内部 HSC 服务。如果 CDS 的所有副本都失败（即，丢失了主副本、辅助副本和备用副本），则从备份进行恢复可能会很耗时。从备份进行恢复时，CDS 日志记录可能有助于将 CDS 与 VSM 子系统的数据内容重新同步。如果您要在配置中初次设置日志记录，请参见 Configuring HSC and VTCS。以下各节介绍了如何管理 CDS 日志记录。

注:
使用日志文件进行恢复涉及日志数据分析和所需的 MVC 审计语句构建，以恢复对最新版本的数据的访问。这不会将 CDS 恢复至与其发生故障前的状态完全相同的状态！例如，一个 VTV 可能存在于多个 MVC 上。审计会恢复对该 VTV 的所有副本的访问，但这些副本可能不位于与 CDS 丢失之前的 MVC 完全相同的 MVC 上。CDS 日志记录的目标是恢复对数据的访问，这不是逐位的 CDS 恢复！

定期转移日志文件

需要定期转移日志文件，以防止其填满，否则会停止进行日志记录。以下是执行该操作的一些最佳做法：

- 将 PROC 设置为定期转移日志文件。试验一会儿，以查看日志文件在常规操作或高峰操作下填充所需要的时间，然后在该时间间隔运行日志负载转移。

- 还需要考虑将自动操作软件包设置为拦截 SLS1781E 消息，该消息从日志文件数据集填充 70% 开始显示。

- 还应安排一个要在运行定期 CDS 备份时运行的日志文件负载转移，以便在恢复过程中可以选择与用于恢复的备份文件对应的日志负载转移文件。

- 如果 CDS 丢失（全部三个副本都已丢失）或不可靠（出于任何原因），请勿尝试转移日志文件，而应参见“恢复 CDS”。

扩展或重新分配日志文件

如果需要扩展日志文件或重新分配这些日志文件（出于任何原因），请执行以下操作：

1. 创建并格式化新日志文件。
分配的日志文件的大小取决于系统生成的事务的数量以及执行负载转移的频率。Oracle 建议您在确定生产日志文件大小之前分配并激活一些测试日志文件并确定其填充比率。

样例 JCL：

//FMTLOG  JOB (account),REGION=1024K
//S1 EXEC PGM=SLUADMIN,PARM=MIXED
//STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
//SLSLOG1 DD DSN=hlq.CDSLOG1,DISP=(,CATLG,DELETE),
// UNIT=SYSDA,SPACE=(CYL,100)
//SLSLOG2 DD DSN=hlq.CDSLOG2,DISP=(,CATLG,DELETE),
// UNIT=SYSDA,SPACE=(CYL,100)
//SLSPRINT DD SYSOUT=*
//SLSIN DD *
FMTLOG

2. 运行 SET LOGFILE 以指定新日志文件。
样例 JCL：

//SETLOG  JOB (account),REGION=1024K
//S1 EXEC PGM=SLUADMIN,PARM=MIXED
//STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
//SLSPRINT DD SYSOUT=*
//SLSIN DD *
SET LOGFILE(hlq.CDSLOG1,hlq.CDSLOG2)

3. 运行 OFFLOAD LOGFILE 以转移旧日志文件。

//JOBOFFL job (account),programmer
//S1        EXEC PGM=SLUADMIN,PARM=MIXED
//STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
//SLSOFFLD DD DSN=offload.dataset.name(+1),DISP=(NEW,CATLG,DELETE),
//             UNIT=SYSDA,SPACE=
//SLSCNTL   DD DSN=primary.dataset.name,DISP=SHR
//SLSCNTL2 DD DSN=secondary.dataset.name,DISP=SHR
//SLSSTBY DD DSN=standby.dataset.name,DISP=SHR
//SLSPRINT  DD SYSOUT=A
//SLSIN     DD *
OFFLOAD LOGFILE

这会自动导致 HSC 切换到新日志文件。

手动切换到其他 CDS 副本

如“备份 CDS”中所述，如果指定多个 CDS 副本，则如果主 CDS 失败，HSC 会自动切换到其他 CDS 副本。您为何需要手动切换到其他 CDS 副本？基本而言，发生以下情况之一时执行该操作：

- 您需要移动 CDS 和/或扩展 CDS。

- HSC 自动切换 CDS 副本之后，您需要删除旧的主副本，重新分配该副本并对其进行重新填充。启用重新分配的主 CDS 之后，HSC 会将备份副本中的有效 CDS 数据重新复制到该主 CDS 中。

使用 CDS ENABLE/DISABLE 命令切换、扩展或移动 CDS 副本。有关更多信息，请参见《ELS Command, Control Statement, and Utility Reference》。

扩展 CDS

可以使用 CDS EXpand 命令将 VOLPARM 数据、VTCS CONFIG 数据或已保管的卷数据添加到 CDS 中。要进行可能要求增加 CDS 大小的其他配置更改（如在 LIBGEN 未使用 FUTRACS 和 FUTRLSM 参数时添加新 ACS 和 LSM），必须使用其他方法代替 CDS EXpand。有关更多信息，请参见 Configuring HSC and VTCS 中的 "Reconfiguring a TapePlex"。

注意:
Oracle 建议在发出 CDS EXpand 命令之前备份所有 CDS 副本。如果在扩展操作期间失败，则通常会导致 CDS 变得不可用。需要在调用 CDS EXpand 命令之前备份 CDS 以确保在扩展操作期间失败时 CDS 的最新副本可用，这一点很重要。

以下是 CDS EXpand 的准则：

- 在使用 CDS EXpand 时，HSC 必须是活动的并且磁带活动可以持续。

- 请勿同时从多个主机发出 CDS Enable 和/或 Disable 命令。执行该操作可能会导致 HSC 发出错误消息。如果发生该情况，请参阅《ELS 消息和代码》以确定是否需要用户操作。

- 根据需要在 HSC PARMLIB 中更新 CDSDEF 控制语句，以使其与任何扩展操作的结果保持一致。

- 将 CDS 恢复至更大的预分配数据集不能用于动态扩展 CDS；额外的空间没有格式化，因而不能按原样使用。

- Oracle 建议为所有 CDS 分配相同的 DASD 空间量。CDS 中的可用空间由使用最小 DASD 空间分配置于 CDS 中的 4096 字节块的数量决定。

扩展所有 CDS：

1. 使用 CDS DISABLE 命令禁用每个 CDS（一次一个）。

2. 使用更大的主空间量重新分配每个 CDS。
请勿指定辅助空间量；所有 CDS 必须仅具有单个盘区。

3. 使用 CDS ENABLE 命令重新启用每个 CDS。

4. 输入 CDS EXpand 命令。
会通过单个 CDS EXpand 命令调用同时扩展 HSC 可识别的所有 CDS（即，已启用）。

轮转 CDS

CDS 名称不会因 CDS 自动或手动切换而更改。可以使用 CDS Disable 和 Enable 命令序列恢复顺序并将数据集名称与其所需的角色相匹配。

轮转 CDS：

1. 输入 Display CDS 命令以查看 CDS 的当前状态和分配：

SYS000001 = ELS.SYSCNTL2
PRIVOL = PROD02 FLAGS(40) ACTIVE
SYS000002 = ELS.SYSCNTL
SECVOL = PROD01 FLAGS(40) ACTIVE

上面的内容显示了 SYSCNTL（原始主 CDS）现在是辅助 CDS，SYSCNTL2（原始辅助 CDS）现在是主 CDS。

2. 禁用当前主 CDS：

CDS DISABLE PRIMARY

已禁用 ELS.SLSCNTL2，ELS.SLSCNTLT 成为新的主 CDS。

3. 重新启用 ELS.SLSCNTL2 作为新的活动辅助 CDS：

CDS ENABLE DSN(ELS.SLSCNTL2)

4. 输入 Display CDS 命令以确认已轮转 CDS：

SYS000001 = ELS.SYSCNTL
PRIVOL = PROD02 FLAGS(40) ACTIVE
SYS000002 = ELS.SYSCNTL2
SECVOL = PROD01 FLAGS(40) ACTIVE

重命名 CDS

可通过两种方法重命名 CDS：

- 使用 CDS Disable 和 Enable 命令在不停止 HSC 的情况下执行重命名。

- 停止 HSC 并使用 BACKup 和 RESTore 实用程序执行重命名。

使用 BACKup 和 RESTore 实用程序的明显劣势是必须停止 HSC；不过，优势在于会创建 CDS 的备份。

使用 CDS Disable 和 Enable 命令重命名 CDS

使用命令重命名 CDS：

1. 在所有主机上禁用要重命名的 CDS。
例如：

CDS DISABLE DSN(ACS.DBASEOLD)

2. 重命名包含该 CDS 的数据集。
例如，将 ACS.DBASEOLD 重命名为 ACS.DBASECPY。

3. 使用该 CDS 的新名称启用该 CDS。
例如：

CDS ENABLE DSN(ACS.DBASECPY)

如果对于重命名的 CDS，Enable 命令失败，CDS 定义将恢复为发出该命令之前这些定义的状态。在 HSC PARMLIB 中修改 CDSDEF 控制语句，以使其与活动 CDS 保持一致。

在数据库心跳 (Database Heartbeat, DHB) 记录中记录 CDS 名称。在 HSC 初始化过程中，会将 DHB 中的数据集名称与在 HSC PARMLIB 中 CDSDEF 控制语句上指定的数据集名称进行比较。

如果在 CDSDEF 语句上指定的数据集名称与 DHB 中记录的任何 CDS 名称不匹配，则禁用该 CDS。如果禁用了所有指定的 CDS，则 HSC 不初始化。根据数据库心跳记录中记录的 CDS 分配执行启用的 CDS 到主 CDS、辅助 CDS 和备用 CDS 的特定分配。

如果需要重命名 CDS，请按照下面的重命名过程中所述使用 HSC BACKup 和 RESTore 实用程序。请勿在不运行 BACKup 和 RESTore 实用程序的情况下使用 MVS、TSO ISPF 或第三方实用程序重命名 CDS。

重定位 CDS

重定位 CDS：

1. 在所有主机上禁用要重定位的 CDS。
例如：

CDS DISABLE DSN(ACS.DBASECPY)

2. 使用相应的 CDS 属性分配新的数据集。

有关更多信息，请参见 Configuring HSC and VTCS。

3. 使用在步骤 2 中分配的数据集启用 CDS：
例如：

CDS ENABLE DSN(ACS.DBASENEW)NEWLOC

注:
MVS 使用目录服务解析卷和单元定义（如果未指定）。

如果重命名或重定位操作失败，则 CDS 定义将恢复为发出该命令之前这些定义的状态。修改 CDSDEF 控制语句，以使其与活动 CDS 保持一致。

重定位已取消编目的 CDS 副本

假设已禁用并删除 ACS.DBASECPY（或已取消编目）并且已分配 ACS.NOTCATLG 并将其编目。以下命令重定位已取消编目的 CDS 副本：

CDS ENABLE DSN(ACS.NOTCATLG) NEWVOL(HSC001),NEWUNIT(ABC)

修改 CDSDEF 控制语句，以使其与该命令中的 CDS 定义保持一致。如果重命名或重定位操作失败，则 CDS 定义将恢复为发出该命令之前这些定义的状态。

交换 CDS

与使用 HSC 命令或实用程序形成对比，有大量第三方软件产品，这些产品允许在不影响这些数据集的用户的情况下将磁盘数据集从一个位置交换到另一个位置。HSC 已得到增强，可以在发生 TDMF、FDRPAS 或 P/DAS 操作之后的几秒内动态更新存储在 CDS 中的单元地址信息，以便 HSC 和 VTCS 实用程序始终使用新 CDS 位置。

该增强不提供不受限制的移动 CDS 的功能。通过 PPRC 或交换操作以外的方法移动 CDS 要求对 CDS 的卷序列号进行更改。如果 CDS 的卷序列号发生更改，必须使用 CDS 的传统 SLUADMIN BACKup 和 RESTore 过程来重置单元地址和卷序列信息。

恢复 CDS

如果 CDS 的所有副本都失败（即，丢失了主副本、辅助副本和备用副本），则必须从备份恢复 CDS。如果您丢失单个 CDS 副本（您具有多个副本），则可以使用 CDS ENABLE/DISABLE 命令继续在有效副本上运行并重新创建有错误的副本。有关更多信息，请参见“手动切换到其他 CDS 副本”。

注意:
如果您认为已丢失所有 CDS 副本，请联系 Oracle 软件支持，以确保确实需要从备份恢复 CDS 并在必要的情况下帮助执行恢复过程。

注:

- 无论您是使用 PITCOPY 还是 SLUADMIN BACKUP 创建 CDS 备份，RESTORE 过程都是相同的。

- 在执行恢复之前，应对损坏的 CDS 进行新备份，或重命名所有当前 CDS 副本以保留这些副本，供以后进行分析。

从备份副本恢复 CDS

从备份副本恢复 CDS：

1. 如果 HSC 仍在任何主机上处于活动状态，则停止活动的 HSC 系统。
如果启用了日志记录，则继续执行步骤 2 以重新同步 VSM 数据。否则，请转至步骤 3。

2. 如果可以访问 CDS，则运行常规日志文件负载转移作业。

该负载转移将捕获自从您上次负载转移以来的 VSM 活动。

//JOBOFFL job (account),programmer
//S1        EXEC PGM=SLUADMIN,PARM=’execution parameters’
//STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
//SLSOFFLD DD DSN=offload.dataset.name(+1),DISP=(NEW,CATLG,DELETE),
//             UNIT=SYSDA,SPACE=
//SLSCNTL   DD DSN=primary.dataset.name,DISP=SHR
//SLSCNTL2 DD DSN=secondary.dataset.name,DISP=SHR
//SLSSTBY DD DSN=standby.dataset.name,DISP=SHR
//SLSPRINT  DD SYSOUT=A
//SLSIN     DD *
OFFLOAD LOGFILE

如果无法访问 CDS，则使用 LOGDSN 参数转移日志文件。常规 CDS 日志记录过程使用存储在 CDS 中的日志信息。如果 CDS 不可访问，则需要使用当前日志文件（您使用 LOGDSN 参数进行指定）中的日志记录信息。

//JOBOFFL job (account),programmer
//S1        EXEC PGM=SLUADMIN,PARM=’execution parameters’
//STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
//SLSOFFLD DD DSN=offload.dataset.name(+1),DISP=(NEW,CATLG,DELETE),
//             UNIT=SYSDA,SPACE=
//SLSPRINT  DD SYSOUT=A
//SLSIN     DD *
OFFLOAD LOGFILE LOGDSN(hsc.log1)

注:
如果 CDS 不可访问，请注意，如果您在恢复 CDS 之后尝试运行 OFFLOAD LOGFILE 实用程序，但不使用 LOGDSN 选项，则负载转移可能不会成功，或者可能创建错误的日志负载转移文件。

3. 从上次正常的备份恢复 CDS。

//JOBREST job (account),programmer
//S1        EXEC PGM=SLUADMIN,PARM=’execution parameters’
//STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
//SLSBKUP   DD DSN=backup.dataset.name(0),DISP=SHR
//SLSCNTL   DD DSN=primary.dataset.name,DISP=SHR
//SLSCNTL2 DD DSN=secondary.dataset.name,DISP=SHR
//SLSSTBY DD DSN=standby.dataset.name,DISP=SHR
//SLSPRINT  DD SYSOUT=A
//SLSIN     DD *
RESTORE

注意:
RESTORE JCL 应指定正在使用中的所有 HSC 数据集（主数据集、辅助数据集和备用数据集），这一点很关键。

有关更多信息，请参见《ELS Command, Control Statement, and Utility Reference》。

注:
当本地/远程链接的磁带库运行彼此独立的 CDS 时，需要针对运行 BACKup 和 RESTore 采取特殊的预防措施。当连接本地磁带库和远程磁带库的链接损坏时，应采取这些预防措施。有关更多信息，请参见《ELS Legacy Interfaces Reference》。

如果使用日志文件进行恢复，请继续执行步骤 4。否则，请转至步骤 9。

4. 确保恢复的 CDS 引用正确的日志文件信息：

- 运行 SET LOGFILE(OFF)。

//SETLOG  JOB (account),REGION=1024K
//S1 EXEC PGM=SLUADMIN,PARM=’execution parameters’
//STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
//SLSPRINT DD SYSOUT=*
//SLSIN DD *
SET LOGFILE(OFF)

- 运行 FMTLG 实用程序以执行日志文件。

//FMTLOG  JOB (account),REGION=1024K
//S1 EXEC PGM=SLUADMIN,PARM=’execution parameters’
//STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
//SLSLOG1 DD DSN=hlq.CDSLOG1,DISP=(,CATLG,DELETE),
// UNIT=SYSDA,SPACE=(CYL,100)
//SLSLOG2 DD DSN=hlq.CDSLOG2,DISP=(,CATLG,DELETE),
// UNIT=SYSDA,SPACE=(CYL,100)
//SLSPRINT DD SYSOUT=*
//SLSIN DD *
FMTLOG

- 再次运行 SET LOGFILE（指定新初始化的日志文件的名称）。

//SETLOG  JOB (account),REGION=1024K
//S1 EXEC PGM=SLUADMIN,PARM=’execution parameters’
//STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
//SLSPRINT DD SYSOUT=*
//SLSIN DD *
SET LOGFILE(hlq.CDSLOG1,hlq.CDSLOG2)

5. 运行 LOGUTIL 命令以生成数据集（需要使用 AUDIT MVC 命令进行恢复）并在该数据集中运行这些命令。

在下面的示例中，假设上次已知的正常 CDS 备份是在 2009 年 5 月 12 日晚上 10 点执行的：

- LOGIN 语句为每个负载转移日志文件指定 DD 语句，并且以使用上次已知的正常备份开始，以您在步骤 2 中创建的日志文件结束。

- LOGUTIL GENAUDIT 将 RECVCMD 指定为包含用于恢复 VSM 数据的数据集的 DD 名称。

//JOBLOGR job (account),programmer,REGION=1024k
//S1 EXEC PGM=SLUADMIN,PARM=’execution parameters’
//STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
//LOGIN        DD DSN=offload.dataset.name(-2),DISP=OLD
//             DD DSN=offload.dataset.name(-1),DISP=OLD
//             DD DSN=offload.dataset.name(0),DISP=OLD
//RECVCMD      DD DSN=offload.dataset.genaudit,DISP=(,CATLG,DELETE),
//                UNIT=SYSDA,SPACE=
//SLSPRINT DD SYSOUT=*
//SLSIN DD *
LOGUTIL FROMDATE(2009-5-12) FROMTIME(22:00:00)  LOGDD(LOGIN)
GENAUDIT COMMANDS(RECVCMD)

6. 如果当前在 VTCS 配置中指定了 LOGPOL=REQUIRED：

在 CONFIG GLOBAL 语句中指定 LOGPOL=OPTIONAL 并运行 CONFIG 以在 VTCS 配置中临时禁用日志记录。对于在 HSC/VTCS 未处于活动状态时执行 MVCMAINT 命令而言，这是必需的。

7. 将要审计的 MVC 设置为只读状态：
针对要审计的 MVC 执行 MVCMAINT READONLY(ON) 命令（HSC/VTCS 处于不活动状态）。这可以确保当 HSC/VTCS 处于不活动状态时不会使用 MVC。

//JOBAUDIT job (account),programmer,REGION=1024K
//S1 EXEC PGM=SLUADMIN,PARM='execution parameters'
//STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
//SLSPRINT DD SYSOUT=*
//SLSIN DD *
MVCMAINT READONLY(ON) MVC( +
mvc1 +
mvc2 +
…    +
mvcn +
)

8. 如果在 VTCS 配置中需要 LOGPOL=REQUIRED：
在 CONFIG GLOBAL 语句中指定 LOGPOL=REQUIRED 并运行 CONFIG（如果在上面的步骤 6 中临时指定了 LOGPOL=OPTIONAL）。

9. 在一个主机上重新启动 HSC，但不启动磁带活动。

10. 要恢复 CDS 的非 VSM 部分，请在所有 ACS 上运行 SLUADMIN AUDIT。

//JOBAUDIT job (account),programmer,REGION=1024k
//S1 EXEC PGM=SLUADMIN,PARM=’execution parameters’
//STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
//SLSPRINT DD SYSOUT=*
//SLSIN DD *
AUDIT ALL

注:
启动磁带库审计之后，可以同时运行步骤 11、步骤 12 和步骤 13。

11. 审计所有 VTSS。

//JOBAUDITV job (account),programmer,REGION=1024k
//S1 EXEC PGM=SLUADMIN,PARM=’execution parameters’
//STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
//SLSPRINT DD SYSOUT=*
//SLSIN DD *
AUDIT VTSS(VTSS0,VTSS1)

12. 运行暂存同步。

运行 SLUCONDB 以便将 HSC 暂存状态与 TMS 同步。有关更多信息，请参见《ELS Command, Control Statement, and Utility Reference》。如果您正在使用 LCM，请参见《LCM User’s Guide》以了解等效的 LCM 实用程序。

13. 如果您正在使用日志记录，请从在步骤 5 中创建的数据集使用恢复命令审计受影响的 MVC。

//JOBRMVC job (account),programmer,REGION=1024k
//S1 EXEC PGM=SLUADMIN,PARM=’execution parameters’
//STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
//SLSIN DD DSN=offload.dataset.genaudit,DISP=SHR
//SLSPRINT DD SYSOUT=*

如果您未使用日志记录，请联系 Oracle 软件支持以在确定需要审计哪些 MVC 方面获取帮助。

14. 在所有主机上启动 HSC。

15. 重新启动磁带活动。

3 管理 TapePlex

一般而言，管理 TapePlex 与管理 VTCS 类似，需要 (1) 定期和持续地监视您的 TapePlex 的运行状况以及 (2) 处理按需琐碎事务（当需要处理这些事务时）。不过，本章在介绍 TapePlex 的物理元素以及为保持其正常运行所需执行的操作时会同时涉及定期任务和按需任务。SMC/HSC/VTCS 是服务器软件，因此可以进行自我更正。类似地，磁带库硬件本身中内置了冗余和弹性。只要您经常检查软件和硬件的状态并修复任何问题，就可以完成大部分 TapePlex 管理任务。

管理磁带库硬件

最佳状态工具之一是名称很普通的 DISPLAY EXCEPTNS 命令，其中“异常”是非最佳硬件条件。您需要看到的命令输出是一系列内容为 "No name of hardware component problems were detected" 的消息。如果您遇到系统问题，则此类输出表明硬件是正常的，但可能出现了软件问题。

另一方面，如果输出为 "CAP Not Operational"、"Robot Hand needs Maintenance" 和 "LSM is Offline" 等，则需要更多信息才能确定该问题是软件问题还是硬件问题。因此，如果收到任何此类消息，请在《ELS 消息和代码》查找这些消息，您可以在其中找到详细解释和用户响应。在某些情况下，响应很明显易懂。如果机械手需要维护，请致电 CSE。不过，有时响应不是很清晰易懂。如果某个 LSM 脱机，显而易见的操作是对其进行修改以使其重新联机，除非该 LSM 停机进行维护或您要更改磁带机单元地址（在该情况下，您需要等待该工作完成，然后才能使 LSM 重新联机）。

如果您已使用 DISPLAY EXCEPTNS 作为您的首个诊断工具，未发现问题或发现了问题并加以解决，并且您使用活动和 ACS 每日报告对磁带库性能进行调优，则管理磁带库硬件的下一步操作是什么？以下各节详细介绍了状态命令以及对其显示的条件的响应。

管理 ACS

您应了解并使用的其他两个命令是 DISPLAY ACS 和 DISPLAY ALL。DISPLAY ACS 显示 ACS 的状态，其中包括 ACS、LMU 和站的硬件状态以及可用的暂存卷和空闲单元。DISPLAY ALL 显示含 LSM 和 CDS 状态的所有信息。您可能会看到未处于联机或运行状态的组件：断开连接的 ACS、脱机或处于待机模式的站、脱机的 LSM 等。使用 MODIFY 命令更改 LSM 和 CAP 的状态，使用 VARY 命令更改 ACS 的状态。但是，如上面的介绍中所述，在输入相应的命令之前，需要知道为何要更改硬件状态以及如何进行更改。如果您需要将某个 LSM 修改为脱机以进行维护，请确保在执行该操作之前已使该 LSM 的磁带活动停顿，并相应地确保在将 LSM 更改为联机之前完成维护。

管理 SL8500 冗余电子设备

提供了冗余电子设备选项，以便通过自动实现磁带库控制器切换使磁带库控制器 (Library Controller, LC) 故障导致的控制路径停机时间减至最短。在该配置中，通过电缆将第二个磁带库控制器连接到局域网，从而将其连接到 LSM。HSC 将所有工作定向至一个磁带库控制器（称为活动 LC），同时将第二个 LC（称为备用 LC）作为就绪备份保持通电状态。活动 LC 和备用 LC 的指定是动态的，其角色会根据环境条件进行更改。

有关本节中介绍的命令和实用程序的信息，请参见《ELS Command, Control Statement, and Utility Reference》。

双磁带库控制器配置

对于该实现，双 LC 配置是在一个字符串中安装并通过网络连接到一个磁带库的一对 LC。这是唯一的有效配置。图 3-1 显示了该配置示例。

图 3-1 双 LC 配置

以下规则适用于双 LC 配置。两个 LC

- 应连接到所有主机

- 可以随时打开电源

- 必须连接到 LAN 0 和 LAN 1。

如果活动 LC 发生故障，则会发生自动切换，备用 LC 将承担活动 LC 角色。HSC 会获知该切换并将该切换通知操作员。会重新驱动大多数未解决的请求，将所有未来的磁带库请求发送到新激活的 LC。修复失败的 LC 并为其通电之后，该 LC 将承担备用 LC 角色。

为这些情况提供了操作员 SWitch 命令，当需要动态激活备用 LC 时可以使用该命令。操作员发出 Switch 命令，在指示以前的活动 LC 启动重新引导后，备用 LC 将承担活动 LC 角色。如果以前的活动 LC 成功重新引导，则承担备用 LC 角色。

注:
警告和预防措施适用于双 LC 环境中的操作。请参见冗余 LC 操作概述 并熟悉这些要求。

安装 HSC 时，必须为活动 LC 和备用 LC 指定网络连接。

SL8500 冗余电子设备环境

如果 LC 的所有网络连接路径都脱机或所有网络连接路径都无效，则无法自动实现磁带库请求。在冗余电子设备环境中，如果活动 LC 的所有网络连接路径都无效，请使用 HSC SWitch 命令将工作负荷移到备用 LC 上。

SL8500 LC 操作

磁带库控制器 (Library Controller, LC) 通过 HSC 响应来自主机的挂载和卸载请求并将每个请求传递到相应的 LSM，以执行请求的物理操作。

本节介绍了以下过程：

- 显示 ACS 状态

- “冗余 LC 操作概述”

注:

- 重新引导 LC 时，会在以下消息之前显示错误消息：

... ACS AA LSM LL ready; ...

可以将其忽略。请勿忽略在该消息之后显示的错误消息。

- 有关磁带库控制面板的说明以及有关如何打开、关闭和引导磁带库控制器（在独立 LC 配置和冗余 LC 配置中）的信息，请参阅相应的 Oracle 硬件操作员指南。

显示 ACS 状态

要确定 LC 的状态，请发出以下命令：

Display Acs acsid

命令响应将列出以下内容：

- ACS 的当前状态

- 冗余 LC 的当前状态（如果已配置），包括：

- HSC/LC 兼容性级别

- 活动 LC

- 备用 LC

- 每个 LC 的联机、脱机或备用状态

冗余 LC 操作概述

冗余电子设备配置提供可以在活动 LC 失败时进行接管的备份 LC。（有关双 LC 选项的说明，请参阅双磁带库控制器配置。）两个 LC 都可以是活动 LC，但在任何给定的时刻只有一个 LC 可以是活动 LC。每个 LC 定期通过 LAN 检查另一个 LC 的状态。HSC 将所有 I/O 定向至活动 LC。

在双 LC 配置中为某个 LC 通电时，该 LC 会将其自身置于备用状态并检查活动 LC。如果存在活动 LC，则第二个 LC 作为备用 LC 保持就绪。如果不存在活动 LC，则第一个完全初始化的 LC 将承担活动 LC 角色。

如果两个 LC 都成功通电，则显示以下 HSC 消息：

... ACS AA: RE LIBID C1 is configured; Active is y, Standby is ready

其中 y 是配置的 LC 标识符："A" 或 "B"。

LC 切换概述

可以通过以下方法切换活动 LC 功能：

- 从活动 LC 中自我检测到的故障或电源问题进行的自动切换。

- 在所有联机站能够通信后操作员启动的切换（使用 SWitch 命令）。

- 在联机站仍能够与活动 LC 进行通信时操作员启动的切换（使用 SWitch 命令）。

- 当在活动 LC 上按重新引导开关时。

- 当关闭活动 LC 的电源时。

LC 切换的后果

发生 LC 切换时，一系列控制台消息会跟踪活动 LC 和备用 LC 的更改状态。关键状态更改显示为突出显示的消息，在更正条件或取代消息之前，这些消息会一直保留在屏幕上。

当状态发生更改并且备用 LC 已就绪时，会显示以下消息：

... ACS AA: RE LIBID C1 is configured; Active is y, Standby is ready

当状态发生更改并且发生 LC 错误时，会显示以下消息：

... ACS AA: : RE LIBID C1 Is Not configured; Active Is y, Standby is not ready

当状态发生更改并且备用 LC 未就绪时，会显示以下消息：

... ACS AA: : RE LIBID C1 Is configured; Active Is y, Standby is not ready

在上面的消息中，y 是配置的 LC 标识符（"A" 或 "B"）。

发生 LC 切换时，HSC 询问每个 LC 以确定当前状态。会将每个站的状态保持为联机、脱机、备用、暂挂联机、暂挂脱机或暂挂强制脱机。使用 Display Acs acsid 命令确定每个站和 LC 的状态。

注:
在 LC 切换期间会锁定自动模式 CAP，直到 LSM 完成初始化。

自动 LC 切换

LC 微代码检测、报告 LC 故障并对这些故障作出反应（根据需要），以使 ACS 保持正常运行。请注意，这是自动发生的，因此 LC 中可能在进行某项工作。当备用 LC 承担活动角色时，该 LC 会向 HSC 通知其更改的状态并发送 LC 就绪信号。HSC 读取新活动 LC 提供的恢复信息，该信息与 ACS 中各个 LSM 内传输中的磁带相关。然后 HSC：

- 将排队的请求修改或标记为“已完成”，从而反映传输中的磁带的当前位置。

- 将所有未完成的请求发送到活动 LC

- 当无法成功完成请求时，将磁带标记为有错误。

注:
在 LC 切换之后，可能必须重新启动装入和弹出操作。

操作员启动的 LC 切换

在启动 LC 切换之前，如果某些网络连接正在通信，请确定切换 LC 的需求是否紧迫，或者是否可以在启动切换之前完成处理。如果切换 LC 的需求不紧迫，请等待 LSM 变得相对空闲。

通过发出以下命令针对某个磁带库 ID 启动 LC 切换：

SWitch Acs acsid LIB libid

该命令通过备用 LC 路由到断开连接的 LC，导致其重新引导。将发生以下事件序列：

1. HSC 发出消息

... ACS AA: Switch initiated, expect notification in 20 seconds

2. 备用 LC 承担活动 LC 角色（"ACTIVE" 指示灯变亮）。

3. 联机 LSM 执行快速初始化。

4. 当每个 LSM 就绪时，HSC 发出以下消息：

... ACS AA LSM LL Ready; Temp Outage Queue Will Be ReDriven

5. 如果以前的活动 LC 成功完成重新引导，则该 LC 承担备用 LC 角色。

如果在处理处于活动状态时发出 SWitch 命令，则在各个 LSM 中磁带可能处于正在传输状态。将按照“自动 LC 切换”中所述自动发生恢复过程。一收到 LC 就绪信号，HSC 就等待 LSM 完成快速初始化，然后通过处理临时中断队列重新驱动请求。

CAP 手动恢复

当发生 LC 切换并且某些 CAP 功能正在处理请求（装入/弹出）时，在完成切换之后需要对恢复进行手动介入。下面是各种 CAP 情形以及针对每个情形的相应解决过程。

当装入功能处于活动状态时发生切换

当发生切换并且装入功能处于活动状态时，切换完成之后，可能会同时或单独发生两个可能的事件：

- HSC/ELS 选择一个磁带，但发生切换时不将其移动到 LSM 起始单元。切换完成后，会选择该磁带，但无法将其移动到 LSM 单元中。

- CAP 中要移动到 LSM 中的磁带在移动过程中从磁带库收到消息 SLS0699I（03/01）。磁带库保留 CAP，因为在切换完成之后 CAP 中有磁带。在移除这些磁带之前，磁带库始终保留对 CAP 的拥有权。这是 SL8500 磁带库的正常行为。

解决过程：

- 使用 SL8500 操作员指南中的过程，通过 SLC 从 CAP 中手动移除这些磁带。

- 针对受影响的特定 CAP 发出 Display Cap aa:ll:cc 命令。

- 如果 CAP 处于脱机状态，则发出 Modify CAP aa:ll:cc,online 命令。

- 发出 ENter aa:ll:cc 命令以重新启动 CAP 的装入功能。

- 如果 CAP 是自动 CAP，则发出：

CAPP x aa:ll:cc MANual
CAPP x aa:ll:cc AUTO

以将其重置为自动模式。

- 将从上一个装入功能中移除的磁带的平衡装置插入 CAP。

- 如果 SLS0251E 消息指出该卷序列号重复，则运行 Unselect 实用程序取消选择该卷序列号。然后，可以将该卷序列号装入 LSM。
装入该卷序列号时，会显示消息 SLS0694D，询问您希望如何处理重复项，您应响应逻辑删除。

当弹出功能处于活动状态时发生切换

当发生切换并且弹出功能处于活动状态时，LSM 中要移动到 CAP 中的磁带针对移动操作从磁带库收到 SLS0699I 消息（03/01 错误）。磁带库保留 CAP，因为在切换完成之后 CAP 中有磁带。在移除这些磁带之前，磁带库始终保留对 CAP 的拥有权。这是 SL8500 磁带库的正常行为。

解决过程：

- 使用 SL8500 操作员指南中的过程，通过 SLC 从 CAP 中手动移除这些磁带。

- 针对受影响的特定 CAP 发出 Display Cap aa:ll:cc 命令。

- 如果 CAP 处于脱机状态，则发出 Modify CAP,online 命令。

- 再次发出 EJECT vol-list 或 vol-range aa:ll:cc 命令或重新启动弹出实用程序以弹出磁带的平衡装置。

- 如果在执行弹出功能之前 CAP 是自动 CAP，则发出 CAPP x aa:ll:cc manual，然后以 CAPP x aa:ll:cc auto 重新发出，以将其重置为自动模式。

将 CAP 设置为自动模式时发生切换

如果发生切换并且将 CAP 设置为自动模式，则当切换完成时，在保留 CAP 的过程中可能会显示来自磁带库的 SLS0699I 消息和 07/05 错误返回/原因代码。这是因为在切换完成后 CAP 尚未完全初始化。这是 SL8500 磁带库的正常行为。

解决过程：

- 等待针对切换的磁带库中的最后一个 LSM 发出 SLS0668I 消息。

- 针对每个自动 CAP 发出 CAPPref prefvalue aa:ll:cc MANual。

- 针对要成为自动 CAP 的每个 CAP 发出 CAPPref prefvalue aa:ll:cc AUTO。

管理 CAP

DISPLAY CAP 显示 CAP 设置和状态；MODIFY CAP 更改 CAP 状态。除基本状态之外，DISPLAY CAP 还提供其他一些有助于确定是否需要更改 CAP 状态的有价值信息，如果需要更改，则涉及：

- CAPID

- CAP 大小：PCAP（优先 CAP）；21 个单元或 14 个单元 9740（标准 CAP）；40 个单元（增强的 CAP）；20 个单元 (9360 CAP)；30 个单元（9360 可选 CAP）；36 个单元批量 CAP (SL8500)；或 39 个单元 (SL8500 CAP)

- 拥有 CAP 的主机的主机 ID

- 优先级：CAP 优先级值

- CAP 模式：清洗、排出、弹出、装入或空闲

- CAP 状态：活动、自动模式、手动模式、脱机、联机和/或需要恢复

通过 CAPPREF 命令可以设置 CAP 模式（手动或自动）和供选择的优先级（0-9，其中 9 是最高优先级）。处于手动模式的 CAP 需要使用 ENTER 命令对其进行解锁；处于自动模式的 CAP 则不需要。一般而言，在 HSC PARMLIB 成员中进行配置时在 CAPPREF 命令中指定 CAP 模式和优先级并使用这些设置运行。如果需要更改某个 CAP 的设置，则可以通过输入 CAPPREF 命令动态进行更改。例如，如果系统正在进行高级别的装入和弹出操作，则可能需要针对增强的 CAP 提升 CAP 优先级。有关 CAP 首选项的警告是：优先 CAP (Priority CAP, PCAP) 始终具有优先级 0，（除非明确请求，否则从不会选择），因此其通常处于可用状态。

定义手动 RTD

在 DR 情况下，您可能没有可用的自动化磁带资源。要支持非磁带库 VSM 配置，必须在不存在的 ACS 中定义手动 RTD。

定义手动 RTD：

1. 创建 LIBGEN 宏以定义不存在的 ACS。
SLIDRIVS 宏定义手动 RTD 的设备地址。

注:
可以将不存在的 ACS 中的 LSM 定义为 SL8500 或 SL3000 以利用 MODIFY CONFIG 命令。

2. 运行 SLICREAT 实用程序以格式化新 CDS。

3. 运行 SET SLIDRIVS 实用程序以设置手动 RTD 的 MODEL，例如：
SET SLIDRIVS(400,401,402,403) MODEL(T9840C)

注:
同一面板上的手动 RTD 必须具有同一磁带机类型。

4. 运行 VTCS CONFIG 实用程序以定义 VSM 系统。

5. 使用 VTCS IMPORT 实用程序将 MVC 导入新 CDS 以便与手动 RTD 一起使用。
会将这些 MVC 视为非磁带库卷。

保护磁带数据

本节介绍了可用于防止在实际磁带卷和虚拟磁带卷上进行数据覆写的 ELS 工具。

保护本机磁带数据

可以订购具有 VOLSAFE 安全介质技术的 Oracle/StorageTek T9840、T9940B 和 T10000 盒式磁带，该技术可为驻留在磁带上的数据提供不可重写的保护解决方案。VOLSAFE 磁带也称为 WORM（Write Once Read Many，一次写入多次读取）磁带。

将数据写入 VOLSAFE 保护的介质后，可以对其进行附加，但无法对其进行修改或删除。这些磁带具有将其与非 VOLSAFE 磁带进行区分的物理、可视化和电子功能。

保护 VTV 数据

VSM 系统现在为 VTV 提供 VOLSAFE 保护。当暂存挂载时，会为 VTV 分配保护属性，只要 VTV 是非暂存的，就会保留该属性。需要使用 TAPEVOL 类上的 RACF ALTER 权限来暂存 VOLSAFE 保护的 VTV。

VTCS 通过 MGMTclas WRITE 参数来启用该保护，该参数用于指定 VTV VOLSAFE 策略，如下所示：

MANY

默认值，不指定任何 VOLSAFE 写入保护。

ONCE

提供只读保护，VTV 在成为非暂存 VTV 之后，就无法对其进行修改。

保护 MVC 数据

尽管 HSC 不允许将 MVC 标记为暂存，但可以考虑其他用于保护 MVC 数据的方法，如：

- 建立 RACF 权限以确保仅可以将 HSC 任务写入 MVC 卷。

- 使用 MVCMAINT 实用程序将 MVC 设置为只读。

- 使用 VOLSAFE 保护的介质作为 MVC。与本机磁带一样，将数据写入 VOLSAFE 保护的 MVC 后，可以对其进行附加，但无法对其进行修改或删除。

- 为任何具有 VOLSAFE 卷的 MVC 池指定 POOLPARM MVC NORECLAM 参数，以防止对池进行空间回收。这可以保证可写入 EOT 位置。

- VOLSAFE MVC 的所有 VTV 撤回处理过程都不会受到影响。

管理磁带库卷

管理磁带库卷涉及到各种不同的任务，从使用卷报告（从该任务开始）到管理清洗磁带。

使用卷报告

VOLRPT 实用程序提供可帮助您管理磁带库中的物理卷的卷信息。VOLRPT 实用程序功能使用统一用户接口，因此提供文本、XML 或逗号分隔值 (Comma Separated Value, CSV) 输出格式。有关如何请求 XML 和 CSV 格式和输出说明的更多信息以及命令语法详细信息，请参见《ELS Command, Control Statement, and Utility Reference》和《ELS Programming Reference》。

您可能需要定期运行 VOLRPT 以显示并解决卷异常情况或仅显示卷状态，如以下各节中所述：

- 有错误或已选择的卷

- 不匹配的 VOLPARM 和外部标签状态

- 未包含在 VOLPARM 中的卷

- 管理暂存子池

- “管理清洗磁带”

VOLRPT 还有许多其他用法。有关选择卷和对 VOLRPT 输出进行排序的其他方法，请参见《ELS Command, Control Statement, and Utility Reference》。

有错误或已选择的卷

样例 VOLRPT 控制卡：

VOLRPT SORT(LOC) INCLUDE(SEL,ERR)

该请求生成有关位置序列中所有有错误和已选择的磁带的报告。

“已选择”状态通常是暂存的，表示要进行暂存或从一个位置移动到另一个位置的磁带。对于报告中的每个“已选择”卷，应发出 DISPLAY VOLUME 控制台命令以确定该卷的状态是否已变为已取消选择。如果该卷仍处于已选择状态，则可能表示在已选择该卷时主机异常终止。如果您确定该卷当前未在使用中，则可以运行 UNSELECT 实用程序以重置已选择状态。

有错误的卷是未处于其最后已知位置的卷。尝试弹出或挂载有错误的卷会导致 HSC 查找位于其起始单元、其最后已知源位置及其最后已知目标位置中的卷。如果该卷未处于这些位置中的任何位置，则可能需要运行 ACS 审计以定位该卷。

不匹配的 VOLPARM 和外部标签状态

样例 VOLRPT 控制卡：

VOLRPT INCLUDE(NONMEDEQ)

该请求生成有关磁带上的介质标签与 VOLPARM 介质类型不匹配的所有卷的报告。

介质前面的字符指示所检测到的不匹配类型。字符 '*' 表示该标签与 VOLPARM 介质编码不匹配。字符 '-' 表示没有与该卷匹配的 VOLPARM。请注意，这些卷还具有 '*NON-VOLPARM*' 暂存子池。'@' 字符表示该卷没有物理介质标签。

图 3-2 中显示了该命令的样例输出。

图 3-2 卷报告（不匹配的 VOLPARM 和外部标签）

未包含在 VOLPARM 中的卷

如果子池总计仅显示 *NON-VOLPARM* 池中的卷，则需要获取这些卷的详细列表。没有用于选择这些卷的特殊控制卡，但可以使用 INCLUDE(NONMEDEQ)。您还看到 VOLPARM 介质与卷标签上的介质不匹配的所有卷。

管理暂存子池

您可以通过运行以下命令来获取按子池、磁带库位置和介质类型显示子池总计但不列出各个卷的报告：

VOLRPT SUMM(SUBPOOL) NOVOL

图 3-3 中显示了该命令的样例输出。

图 3-3 卷报告（暂存子池）

使用 VOLRPT 跟踪清洗磁带使用情况

可以使用以下命令生成仅包含清洗磁带（按使用计数进行排序）的报告：

VOLRPT VOL(CLN%%%) SORT(USE) DESCEND

图 3-4 中显示了样例输出。

图 3-4 卷报告（清洗磁带）

清洗使用计数实际是最右侧标记为 "Times Selected" 的字段。当某个清洗磁带过度使用时，该报告中间标记为 "Cln Use" 的字段将指示 Y。

优化挂载性能

通过挂载和卸载实际磁带卷的速度来测量“最佳挂载性能”。在这里，您的最佳工具是活动报告，该报告从 SMF 记录拉取数据并提供可帮助您在 ACS 和 LSM 之间平衡挂载/卸载活动的信息。该报告显示了按以下方式列出的总挂载和卸载活动：

- 暂存挂载/总挂载和每个挂载的平均时间

- 非暂存挂载/总挂载和每个挂载的平均时间

- 不同 LSM 中的暂存挂载/总挂载、每个挂载的平均时间和平均直通数量

- 不同 LSM 中的非暂存挂载/总挂载、每个挂载的平均时间和平均直通数量。

如果活动报告揭示由暂存挂载导致的性能问题，则可以使用 HSC 暂存再分发实用程序或 LCM 在特定 ACS 内的 LSM 上再分发暂存卷。如果暂存卷即将用尽，则可以运行暂存同步以暂存具有非当前数据的卷或将更多暂存卷装入 ACS。如果看到过多的直通活动或非暂存卷挂载时间较长，则可以使用 LCM 再分发非暂存卷。

使用卷访问安全性

HSC 卷访问用户出口 (SLSUX14) 执行卷安全检查。启用 SLSUX14 时，将针对挂载、弹出和暂存请求执行卷安全检查。不针对 LibraryStation set_scratch 请求调用卷访问用户出口。

有关编程详细信息，请参见《ELS Programming Reference》中的卷访问用户出口 (SLSUX14)。

SLSUX14 可允许完成或拒绝请求。SLSUX14 中的编码可发出 RACROUTE 宏或使用其他方法来确定是继续处理请求还是拒绝请求。还可以选择让 SLSUX14 指示 HSC 使用 RACROUTE 和 RACF 定义执行安全检查，以确定请求成功/被拒绝。一个 SLSUX14 返回代码指定为卷访问检查使用 TAPEVOL 类。另一个 SLSUX14 返回代码指定用户出口已将 RACF 类放置在参数列表中，以用于卷访问检查。然后 HSC 将该 RACF 类用于卷安全性检查。

RACF 属性

当 HSC 执行 RACROUTE 宏时，发出以下卷请求的用户需要不同的 RACF 权限才能使请求成功。

- MOUNT－RACF UPDATE 权限允许继续执行挂载。

- MOUNT－RACF READ 权限允许继续执行挂载。将以写保护方式挂载卷。

- EJECT－对于弹出请求，用户需要 RACF UPDATE 权限。

- SCRATCH－对于暂存请求，用户需要 RACF CONTROL 权限。

下面显示了用于设置 RACF 权限的命令示例。

RDEFINE TAPEVOL 111111 UACC(NONE)
PERMIT 111111 CLASS(TAPEVOL) ID(USER1) ACCESS(READ)
PERMIT 111111 CLASS(TAPEVOL) ID(USER2) ACCESS(UPDATE)
PERMIT 111111 CLASS(TAPEVOL) ID(USER3) ACCESS(CONTROL)

如该示例中所示，USER1 可以针对读取访问挂载卷 111111（写保护）。USER2 可以针对写入访问挂载卷 111111。对于所有其他用户，将拒绝针对 111111 的任何挂载请求。USER3 可以执行暂存请求。

一次写入多次读取 (Write Once/Read Many, WORM) 支持

要支持 WORM 方案，可以使用 SLSUX14 执行“从不暂存”策略，如以下示例中更新的命令集所示。

RDEFINE TAPEVOL 111111 UACC(NONE)
PERMIT 111111 CLASS(TAPEVOL) ID(USER1) ACCESS(READ)
PERMIT 111111 CLASS(TAPEVOL) ID(USER2) ACCESS(UPDATE)

在该示例中，USER3 不再具有对卷 111111 的 CONTROL 访问权限。因此，对于卷 111111，对拒绝所有用户的 SCRATCH 请求（定义 RACF 配置并获取 CONTROL 权限的用户除外）。

注:
不针对 LibraryStation set_scratch 请求调用 UX14。对于 LibraryStation set_scratch 请求，由 LSINIT 命令的 LibraryStation VOLAUTH 和 VOLACC 参数控制卷访问安全性。

管理暂存卷

管理暂存卷基本来说意味着拥有足够的暂存卷（但不是太多），并将其置于正确的位置（最好位于具有与卷介质兼容的足够磁带机类型的 LSM 中）。表 3-1 介绍了暂存卷管理任务和关联的工具。

表 3-1 暂存卷管理任务和工具

任务

工具

说明

保持足够量的暂存磁带

- Warn 命令－建立暂存警告阈值。

- Display THReshld 命令－按子池名称、ACS ID、LSM ID、介质和记录技术显示暂存计数和暂存阈值信息。

一般而言：

使用 Warn 命令设置暂存警告阈值，使用 Display THReshld 命令监视暂存卷级别与阈值。

如果暂存卷即将用尽，则运行暂存同步，再分发暂存卷，然后按照该顺序添加更多暂存卷。有关更多信息，请参见“添加暂存卷”。

将 CDS 暂存状态与 TMS 状态进行同步

- 适用于客户机/服务器配置的 HSC SLUCONDB 暂存转换实用程序与 SMC 磁带管理提取实用程序 (SMCUDBX)。

或

- LCM OPTIONS SYNC 参数处理。

如上所述，暂存同步可以释放暂存卷。通常，在每日 TMS 运行之后执行暂存同步。

再分发暂存卷

使用 HSC 暂存再分发实用程序或 LCM 在特定 ACS 内的 LSM 中再分发暂存卷。

如“优化挂载性能”中所述，较差的暂存分发可能会阻碍实现最佳磁带库性能。暂存再分发在 ACS 中指定的 LSM 之间平衡暂存卷的数量，可以按子池执行。

暂存特定的卷

- HSC SCRAtch 命令暂存一个或多个卷。

- HSC UNSCratch 命令取消暂存一个或多个卷。

是的，如果您拥有该命令权限，则可以实际暂存和取消暂存特定的卷。不过，一般而言，请勿显式暂存特定的卷，除非您确实了解您所执行的操作。让 TMS 管理卷暂存状态并执行暂存同步。

显示暂存子池信息

Display SCRatch

这仅显示执行该命令的主机的暂存子池信息；要显示所有暂存子池信息，请使用 VOLRPT 实用程序。

添加暂存卷

将暂存卷添加到磁带库是一个总任务，可分解为两种独立的情况：

- 填充新 LSM

- 将卷装入现有的 LSM

在这两种情况中，您首先需要按照“定义 Nearline 卷”中所述为新卷创建 POOLPARM 和 VOLPARM 定义。

定义 Nearline 卷

定义 Nearline 卷：

1. 创建 POOLPARM 语句以定义卷暂存池。
例如，定义供主机 MVS1 和 MVS2 使用的暂存池：

POOLPARM NAME(SYS19840P22)TYPE(SCRATCH)HOSTID(MVS1,MVS2)LABEL(SL

2. 创建 VOLPARM 语句以定义卷。
例如，定义一系列 9840C 卷：

VOLPARM VOLSER(C2000-C2999)MEDIA(STK1R)RECTECH(STK1RC)

3. 输入 SET VOLPARM 命令以应用卷定义。

SET VOLPARM APPLY(YES)

填充新 LSM

完成 POOLPARM 和 VOLPARM 定义之后，要填充新 LSM，请使用以下方法之一：

- 将一个或多个 CAP 设置为自动模式，重复打开 CAP 并使用新磁带进行填充。

- 如果该 LSM 是非简化磁带库，并且足够大，您可以进入，则：

1. 打开 LSM 检修门。

2. 手动将磁带放入 LSM 中的存储单元。

3. 关闭并锁上检修门。

4. 对该 LSM 运行 HSC 审计。
完整的 LSM 审计可能会花费大量的时间，但这样可以通过 CAP 装入磁带，因此您必须判断哪种方法更快。

将卷装入现有的 LSM

完成 POOLPARM 和 VOLPARM 定义之后，按照“装入磁带”中所述装入磁带。

装入磁带

在将磁带装入 ACS 之前，磁带仅仅是磁带；在装入 ACS 之后，磁带成为 CDS 中的卷。可以装入暂存磁带、非暂存磁带、要用作 MVC 的磁带或清洗磁带。

装入磁带：

1. 验证您要在其中装入磁带的 LSM 是否联机。
例如，查看 LSM 00:00 的状态：

DISPLAY LSM 00:00

SLS0054I 消息 "SM 00:00 now online" 指示验证成功。否则，您必须找出问题所在，并至少输入 MODIFY LSM aa:cc ONLINE 命令使其重新联机。

2. 检查 CAP 模式：

例如，查看 LSM 00:00 上的 PCAP 的状态：

DISPLAY CAP 00:00:02

如果 CAP 模式为自动，则转至步骤 4。否则，请继续执行步骤 3。

3. 如果 CAP 模式为手动，则有两种选择，具体取决于您的站点的做法：

- 将 CAP 模式更改为自动。
例如，对于步骤 2 中的 PCAP，将 CAP 优先级设置为零（对于 PCAP，始终要求为零）并将模式设置为自动：

CAPPREF 0 00:00:02 AUTO

- 使用 ENTER 使 CAP 为磁带装入做好准备（模式保持为手动）。
例如，对于步骤 2 中的 PCAP，使 CAP 为装入做好准备并针对装入的磁带将暂存状态设置为打开：

ENTER 00:00:02 SCRATCH

注:
如果所有 CAP 当前都用于弹出，则可以使用 SENter 命令安排一个 CAP 用于磁带装入。

4. 按照操作员指南中所述针对您的 LSM 类型装入磁带。

弹出卷

如以下各节中所述，需要弹出卷的原因基本有三种：

- 您定义了过多的暂存卷，并暂存需要一些用于特定卷的空间；请参见“弹出暂存卷”。

- 您具有不再处于使用状态的特定卷，并且需要对其进行保管。有关更多信息，请参见《ELS Disaster Recovery and Offsite Data Management Guide》。

- 您具有其介质保修期快结束的特定 9x40 或 T10000 卷。图 3-2显示了在最右侧包含 %MWL 列的卷报告。该列显示了用于卷的介质保修期百分比，其中 %100 表示卷已超过其介质保修期。

注:
对于 9x40 或 T10000 卷，介质信息记录 (Media Information Record, MIR) 存储在磁带的生命周期内挂载磁带的次数。在卸载处理过程中，HSC 使用从 MIR 读取的挂载计数值计算 %MWL。要使 HSC 报告驻留在磁带库中的某个卷的 MWL%，必须已在将该卷装入磁带库中之后至少挂载和卸载该卷一次。弹出某个卷时，会删除关联的 CDS VAR 记录，当该卷处于磁带库之外时，HSC 不再能够报告该卷的 MWL%。不过，MIR 中会维护挂载计数，下次将该卷装入磁带库并至少挂载和卸载一次时，当该卷驻留在磁带库中时 HSC 可以再次报告该卷的 MWL%。
如果某个传输无法读取或写入 MIR，则磁带机可以在卷上的其他位置重新初始化新 MIR。在处理 MIR 时很少发生错误，尽管磁带机会在必要的时候重建新 MIR，但磁带机有可能无法将挂载计数从失败的 MIR 传输到替换 MIR，在这种情况下，磁带机会在替换 MIR 中将挂载计数初始化为零。如果对于某个卷您观察到非零计数变为零（例如，通过监视卷报告上的 MWL%），应检查 SYSLOG 以便对该卷进行数据检查并检查磁带机，还应考虑将该卷报废。

介质保修期功能要求以下条件：

- 磁带库 LMU 兼容性级别 21

- 具有 1.42 磁带机固件的 T9x40 传输

注:
由于内存约束，不支持 T9840B。

- 具有 1.38 磁带机固件的 T10000A 和 T10000B

- PTF SES700 L1H154V

- 您具有已超出其使用寿命并必须更换的清洗磁带。请参见“手动弹出使用过的清洗磁带”。

弹出暂存卷

弹出暂存卷：

1. 验证您要从中弹出卷的 LSM 是否联机。
例如，查看 LSM 00:00 的状态：

DISPLAY LSM 00:00

SLS0054I 消息 "SM 00:00 now online" 指示验证成功。否则，您必须找出问题所在，并至少输入 MODIFY LSM aa:cc ONLINE 命令使其重新联机。

2. 使用 EJECT 启动弹出操作。
例如，从池 SYS19840P1 中弹出 100 个具有介质 STK1R 和记录技术 STK1RC 的暂存卷。

EJECT SCRTCH SUBPOOL(SYS19840P1)VOLCNT(100) MEDIA(STK1R) RECTECH(STK1RC)

WAITCAP(YES) 是默认值。

3. 当您获取清空 CAP 的操作员消息时，从 CAP 中移除卷。

管理清洗磁带

您有望在配置 ELS 时定义了足够的清洗磁带。若非如此，Configuring HSC and VTCS 中介绍了操作方法。定义清洗磁带后，按照“装入磁带”中所述将其装入。可以使用 MNTD（通过 PARMLIB 成员或命令）执行其他一些操作来管理清洗磁带。

注:
为了管理清洗磁带，HSC 要求清洗磁带具有包含前缀 CLN 并后跟 3 个数字的外部标签。不过，某些 LTO 磁带具有不使用该格式的外部标签。在这种情况下，请联系您的 Oracle 代表以了解有关获取 LTO 清洗磁带的外部标签的信息。

清洗磁带选择

要在磁带机需要清洗时自动选择清洗磁带，请将“自动清洗”选项设置为打开：

MNTD AUTOCLN(ON)

磁带机清洗进程将在离需要清洗的磁带机最近的 LSM 中选择一个清洗磁带。清洗操作完成之后，“浮动”选项决定是将磁带返回其起始单元（浮动关闭）还是在当前 LSM 中为其分配一个新起始单元（浮动打开）。将浮动设置为打开可减少直通操作，因此可提高性能：

MNTD FLOAT(ON)

弹出清洗磁带

POOLPARM MAXCLEAN 参数指定一组给定的清洗磁带的最大清洗操作数。要使 ELS 自动弹出已超出其 MAXCLEAN 值的清洗磁带，请输入：

MNTD EJCTAUTO(ON)

如果您正在运行 ExLM，您可能希望让 ExLM 按照安排管理弹出清洗磁带。在这种情况下，请将“自动弹出”设置为关闭。这对于“快速远程”数据中心很有用。

如果没有 ExLM，则建议使用自动弹出技术，否则必须使用 CLEAN 命令手动安排清洗并在磁带用完（耗尽）后手动将其弹出，如“手动弹出使用过的清洗磁带”中所述。自动弹出需要可用的 CAP。如果没有可用的 CAP，则需要执行手动弹出。

较新的磁带机可确定耗尽的清洗磁带并通知 ELS，无论 MAXCLEAN 使用计数是多少都是如此。如果“自动弹出”打开，则在磁带库检测到“耗尽”条件时会弹出磁带。否则，可以使用 ExLM 安排“耗尽”清洗磁带的弹出。

弹出清洗磁带后，通常需要装入新磁带以替换使用过的磁带。如果您希望将尚未定义其卷序列号的清洗磁带装入 ELS，请参见 Configuring HSC and VTCS 以了解有关定义清洗磁带的信息。

手动弹出使用过的清洗磁带

更换使用过的清洗磁带：

1. 验证您要从其中弹出磁带的 LSM 是否联机。
例如，查看 LSM 00:00 的状态：

DISPLAY LSM 00:00

SLS0054I 消息 "SM 00:00 now online" 指示验证成功。否则，您必须找出问题所在，并至少输入 MODIFY LSM aa:cc ONLINE 命令使其重新联机。

2. 使用 EJECT 启动弹出操作。
例如，弹出一系列 9840 清洗磁带：

EJECT (CLN300-CLN310) SEQ(YES)

WAITCAP(YES) 是默认值，会将卷按顺序放置在 CAP 中。

3. 当您获取清空 CAP 的操作员消息时，从 CAP 中移除清洗磁带。

4. 检查您要在其中装入替换清洗磁带的 CAP 的 CAP 模式：

例如，查看 LSM 00:00 上的 PCAP 的状态：

DISPLAY CAP 00:00:02

5. 如果 CAP 模式为手动，则有两种选择，具体取决于您的站点的做法：

- 将 CAP 模式更改为自动。
例如，对于步骤 4 中的 PCAP，将 CAP 优先级设置为零（对于 PCAP，始终要求为零）并将模式设置为自动：

CAPPREF 0 00:00:02 AUTO

- 使用 ENTER 使 CAP 为磁带装入做好准备（模式保持为手动）。
例如，对于步骤 4 中的 PCAP，使 CAP 为装入做好准备并针对装入的磁带将暂存状态设置为打开：

ENTER 00:00:02 SCRATCH

解决问题

以下各节提供了潜在问题的解决方案。

恢复有错误的磁带

当 HSC 不确定卷在 LSM 中的位置时，磁带将变得有错误。以下情况可能导致磁带变得有错误。

- 操作员使用 FORCE 选项将 LSM 修改为脱机。

- 卷没有位于 CDS 指定的单元位置。

- LMU 中发生不可恢复的错误。

- LSM 中发生不可恢复的错误。

在以下情况下，会自动执行有错误的卷恢复：

- HSC 尝试使用标记为有错误的磁带（任何时候）。

- 连接 ACS。

- 将 LSM 修改为联机。

- 执行跨主机恢复。

HSC 发出以下消息：

... Attempting to locate errant volume VVVVVV

如果通过检查该磁带的原始源位置或其目标位置定位到该磁带，HSC 会将其从有错误状态删除。

如果无法定位该磁带，则通过以下消息提示操作员：

... Volume VVVVVV not found; Eject or Ignore (E|I)?

使用以下内容之一进行响应：

- 如果您确定该磁带未在磁带库中，则回复 "E"。将从 CDS 中删除（逻辑弹出）该磁带。

- 如果您不知道该磁带的位置，则回复 "I"，使该磁带保持在有错误状态。会为该磁带维护审计跟踪，在有必要手动定位该磁带时这可能很有用。
如果在以后定位到该磁带，HSC 会将其识别为有错误并将其从有错误状态删除。会将该磁带返回到其起始单元位置或将其标记为已选择用于某个请求。

装入重复和无法读取的卷序列号

下面讨论与卷序列号相关的问题。

装入重复的卷

尝试装入已经在 CDS 中记录的卷时，HSC 会通过检查原始磁带的起始单元位置或目标位置来尝试定位该磁带。如果找到该卷，HSC 将弹出重复的磁带。

如果未找到该卷，则由 OPTion ENTdup 命令设置确定 HSC 响应。

- 如果将 OPTion ENTdup 设置为 Auto，HSC 将自动从 CDS 中删除原始卷并装入新卷。

- 如果将 OPTion ENTdup 设置为 Manual，HSC 将通过发出以下消息来请求操作员帮助：

... ENTER of volume VVVVVV encountered missing duplicate volser;
(Logically) Delete, or Ignore (D,I)?

回复 "D" 从 CDS 中删除原始卷并装入新卷。

注:
有关命令语法和参数的详细信息，请参阅《ELS Command, Control Statement, and Utility Reference》中的 OPTION 命令和控制语句。只要对简化磁带库进行分区并将重复的卷装入不同的分区，就可以将重复的卷装入简化库。

装入具有缺失或无法读取的外部标签的磁带

无法通过 CAP 将具有无法读取的标签的盒式磁带装入磁带库。如果您尝试装入没有标签或具有机械手无法读取的标签的磁带，将发出以下 HSC 消息：

... UnNamed Cartridge in CAP CELL AA:LL:RR:CC;
reply "V,volser" or "EJECT"

执行以下操作之一：

- 回复 "V,volser" 以通过为该磁带分配卷序列号来装入该磁带。在 CDS 中，会将指定的卷序列号永久分配给该磁带。

注:
如果将未标记的磁带或具有不可读取的标签的磁带手动装入磁带库，则在审计过程中会将其弹出。Oracle 建议用户为所有磁带提供外部介质标签。

- 当 CAP 未锁定时，回复 "EJECT" 并从 CAP 中移除该磁带。

清除 CAP 上的恢复状态

当 CAP 状态为 RECOVERY 时，请使用以下过程执行 CAP 恢复。

注:
如果该过程不能清除恢复状态，请尝试“释放分配的 CAP”。

清除 CAP 上的恢复状态：

1. 发出以下命令：

ENTER capid

其中 capid 是您要恢复的 CAP。

将发生以下事件：

1. LSM 机械手移动到 CAP 并执行 CAP 编目。

2. 如果在 CAP 中检测到磁带，HSC 将发出指示操作员移除磁带的消息。

3. HSC 发出消息：

... Open CAPid AA:LL:CC for entering when unlocked

4. CAP ENTER 指示灯亮起或显示面板上出现 "Enter"。

2. 针对该 CAP 发出 DRAin 命令。
将锁定该 CAP 并将状态设置为 INACTIVE。

释放分配的 CAP

注意:
仅当 CAP 未在使用时使用该过程。通过活动的命令或实用程序释放 CAP 可能会产生不可预测的结果。例如：

- CAP 清除

- 有错误的磁带

- 磁带仍位于 HSC 无法识别的 CAP 中

如果在活动进程正在使用某个 CAP 时某主机在未执行恢复的情况下终止，该 CAP 将仍分配给该主机并且对所有其他主机不可用。如果在该主机上重新启动 HSC，则 HSC 会在初始化后释放该 CAP。否则，您可以通过从任何连接的主机发出以下命令来释放该 CAP：

RELEASE capid

其中：

capid 指定您要释放的 CAP。

HSC 发出提示您确认要释放该 CAP 的消息。

- 回复 "N" 取消释放。

- 继续释放：

1. 通过以视觉方式检查该 CAP、在其他主机上发出 Display Cap 命令并检查其他人员来确认该 CAP 是否未在使用中。

2. 为该消息回复 "Y"。
另一条消息将确认已释放该 CAP。

恢复主机到主机通信服务

通过 COMMPath 命令和控制语句可以定义 HSC 主机之间的分层通信服务。随着该类服务的就位，如果主机在尝试通过当前通信路径发送消息时收到错误，HSC 可自动执行路径切换。自动切换可能切换到等效的路径类型（从一个 LMU 路径到另一个 LMU 路径），也可能切换到性能较低的方法（例如，从 VTAM 到 LMU），具体取决于所定义的路径。

切换发生时，HSC 会通过向两个主机上的控制台发出以下消息来通知您：

... A communications path switched from XXXX1 to XXXX2; ...

其中：

XXXX1 指定以前的通信路径。

XXXX2 指定当前通信路径。

该消息还确定启动切换或遇到故障的主机。

在 HSC 执行向下切换之后，您仅可以使用 COMMPath 命令执行向上切换。

执行向上切换：

1. 找到并更正提示切换的问题。

2. 通过发出以下命令返回到以前的通信方法：

COMMPATH HOSTID(hostid) METHOD(method)

其中：

hostid 指定该命令影响的主机。

method 指定您要使其成为当前方法的方法。

解决可能的丢失挂载请求

挂载可能会因为以下某种原因而丢失：

- 如果在 HSC 处于活动状态时 SMC 是不活动的，则不会拦截 MVS 和/或 TMS 消息。

- 如果在 SMC 处于活动状态时 HSC 是不活动的，则会拦截 MVS 和/或 TMS 消息，但没有要接收挂载请求的自动化磁带库控制系统。

- 可能会发生硬件 LMU 错误。

一般而言，要解决这些问题，请使用 SMC RESYNC 命令重新驱动所有丢失的挂载请求。

解决丢失的挂载响应 (Lost Mount Response, ORH)

挂载请求偶尔会因为未从 LMU 接收到响应而滞留在某个 HSC 队列中。发生该情况时，卷仍处于所选的状态，逾期响应处理程序 (Overdue Response Handler, ORH) 会通知操作员。

逾期响应处理程序

每 30 秒，ORH 都会针对每个 ACS 扫描所有请求，以确定具有响应等待时间间隔已到期的序列号的请求。当时间间隔到期时，HSC 会发出以下消息

... ORH interval expired: ...

并且 ORH 将检查请求类型代码。对于挂载、卸载、移动和交换以外的所有请求类型代码，ORH 会自动将请求的等待时间再延长 3 分钟、5 分钟、10 分钟或 60 分钟并发出以下消息：

... ORH interval extended: ...

挂载、卸载、移动和交换所需的操作员响应

对于挂载、卸载、移动和交换请求，会通过以下消息对操作员进行提示：

... ORH: ABORT/EXTEND...

使用以下内容之一进行响应：

- ABORT－向请求操作员的任务通知 ORH 已异常终止该请求。这会将卷从所选的状态中移除并让您根据需要发出 HSC Mount 或 DISMount 命令以使工作继续。对于与传输相关的故障，应使用 ABORT 响应。此类示例包括直通端口、SL8500 升降装置、机械手或传输故障。

- EXTEND－ORH 为请求再添加十分钟的增量并仍使其位于其当前所在的同一队列。对您可以请求的延长次数没有限制。

使用软件诊断

有些问题超出了您自己解决的能力范围，通常需要致电 Oracle 软件支持，支持人员会要求您使用表 3-2 中介绍的一个或多个 HSC 软件诊断工具。

表 3-2 HSC 软件诊断工具

诊断工具

说明

全面跟踪工具 (Generalized Trace Facility, GTF) 跟踪 (GTRACE)

全面跟踪工具 (Generalized Trace Facility, GTF) 提供低级别的最近过去的历史记录。HSC 在操作期间针对重要事件发出 GTRACE 请求。将格式 ID 和事件 ID（FID 和 EID）指定为 HSC JCL 过程的 EXEC 语句上的参数 (PARM=)（有关示例过程，请参阅 HSC 配置指南中的“创建 HSC START 过程”）。

管理程序调用 (SVC)、转储 (SDUMP) 和异常终止 (ABEND)

转储

会在适当的情况下进行 SVC 和 ABEND 转储，以诊断软件故障。请勿在 HSC JCL 中使用 SYSUDUMP、SYSMDUMP 或 SYSABEND DD 语句。这些 ABEND 类型不提供有关 HSC 地址空间的足够信息。

错误记录数据集 (Error Recording Data Set, ERDS)

会将软件故障记录在这些错误记录数据集中。由 MVS 例程写入 4480 磁带子系统和 3278 终端子系统错误记录数据集 (Error Recording Data Set, ERDS) 记录。

LIst 命令

LIst 命令用于显示 HSC 数据结构并为 HSC 提供诊断支持。在 Oracle 支持人员的指导下使用该命令。

Display 命令

Display 命令提供多个有助于诊断的选项。

4 使用 VTCS 系统信息显示板

“使用 VTCS 系统信息显示板”基本涉及查看您的 MVC 和 VTC 报告。虚拟磁带配置的主要部分为 VTSS、VTD、VTV、RTD 和 MVC，因此您的大量每日和每周例行工作是确保其全部正常运行并不让人感到奇怪。

检查虚拟磁带状态（每日）

将 VTSS 视为 Nearline ACS 的虚拟对等产品，将 VTD 视为 Nearline 真实磁带机的虚拟对等产品，将 VTV 视为 Nearline 卷的虚拟对等产品，很容易理解为何确保所有 VTSS、VTD 和 VTV 正常运行很重要。

检查虚拟磁带状态：

1. 输入 Display VTSS 命令。

您应看到与表 4-1 类似的内容。

表 4-1 Display VTSS 的示例输出－良好 VTSS 状态

VTSS NAME

CAPACITY (MB)

DBU

HI AMT

LOW AMT

VTV COUNT

MX MT

MN MT

DEF ACS

AUTO MIG

STATE

HBVTSS16

56,209

55

80

60

2440

6

3

02

-

ONLINE

HBVTSS17

56,209

50

80

60

2180

6

3

02

-

ONLINE

HBVTSS18

56,209

52

80

60

2288

6

3

01

-

ONLINE

HBVTSS19

93,184

45

80

60

1900

6

3

01

-

ONLINE

表 4-1 显示了四个“正常运行”的 VTSS 的状态：

- 首先，所有 VTSS 都是联机的，这通常是很好的。

- LAMT 都是 60，HAMT 都是 80，这是可以优化 VTSS 使用并促进有效自动迁移的良好范围。

- DBU 都远低于 HAMT，这意味着在自动迁移开始之前 VTSS 上仍有增长的空间。您甚至可以考虑将更多工作路由到这些 VTSS 以优化在虚拟磁带上的投资。

- 假设每个 VTSS 上连接了八个 RTD。MX MT（最大迁移任务数）设置为 6，MN MT（最小迁移任务数）设置为 3，这些是很好的数量。最大数量 6 可以为撤回/回收保留 2 个 RTD，最小数量 3 可确保在突然开始大量迁移时有足够的任务处理负载。

如果 Display VTSS 看起来不是良好的，应怎么办？可能出现如表 4-2 中所示的情况。

表 4-2 Display VTSS 的示例输出－具有主要运行问题的 VTSS

VTSSNAME

CAPACITY (MB)

DBU

HI AMT

LOW AMT

VTV COUNT

MX MT

MN MT

DEF ACS

AUTOMIG

STATE

HBVTSS16

56,209

90

80

60

27,888

4

2

02

-

ONLINE

HBVTSS17

56,209

92

80

60

28,974

4

2

02

-

ONLINE

HBVTSS18

56,209

90

80

60

22,005

4

2

01

-

ONLINE

HBVTSS19

93,184

92

80

60

26,009

4

2

01

-

ONLINE

表 4-2 显示了四个具有某些主要运行问题的 VTSS：

- 这些 VTSS 至少全部是联机的。如果未联机，除非您知道其应该脱机或处于维护模式的原因，否则请输入某些 Vary VTSS 命令使其重新联机。

- DBU 都太高。处于 90 以上范围中的数量意味着 VTSS 正努力自动迁移 VTV，这并不让人感到奇怪，原因如下所示。

- 假设每个 VTSS 上连接了八个 RTD。MX MT（最大迁移任务数）设置为 4，MN MT（最小迁移任务数）设置为 2，这些肯定比当前迁移负载要轻一点。
要修复该问题，请转至步骤 2。

2. 如果您对在步骤 1 中看到的内容不满意，则调整操作参数。

首先，运行更多迁移任务：

set migopt vtss(vtssname) maxmig(8) minmig(8) high(70) low(40)

您现在使所有 VTSS 上的所有 RTD 完全参与了迁移。保持该状态，直到您能够控制 DBU，然后返回到 6 个最大数量、3 个最小数量等。还将 LAMT 更改为 40，将 HAMT 更改为 70。这可以使您摆脱麻烦，下一次迁移启动会更快并使缓冲区恢复至更低的 DBU。

接下来，输入 Display VTD 以获取系统 VTD 的情况。

表 4-3 显示了 Display VTD 输出示例。

表 4-3 Display VTD 的示例输出－正常运行

DRIVE

LOCATION

VTV

STATUS

A800

HBVTSS16

X00778

MOUNTED

A801

HBVTSS16

X00775

MOUNTED

A802

HBVTSS16

-

AVAILABLE

A803

HBVTSS16

-

AVAILABLE

如上所述，您在表 4-3 中处于良好的状态，某些 VTD 正在使用中，其他 VTD 已准备好进行使用。

如果所有 VTD 都显示已挂载的 VTV，应怎么办？情况不大妙，因为如果没有可用的磁带机，您将面临作业分配失败的风险。如果是类似步骤 2 中发生的问题导致该情况，则接受该情况并发誓将来安排工作负荷时让 VTD 能够更好地处理数据的大量输入。不过，如果这是个长期问题，您可能需要更多 VTSS 或使用更多容量和更多 VTD 对 VTSS 进行升级。

3. 现在是时间通过输入 Display SCRATCH 命令来查看手边是否有足够的暂存 VTV 了，该命令生成表 4-4 中显示的输出。

表 4-4 Display SCRATCH 的示例输出

SUBPOOL-NAME

SCRATCH-COUNT

VIR000

14,364

VIR0002

13,582

VIRTUAL

19,132

VIRTUAL1

9,905

在表 4-4 中，您看到的内容是 HSC 子池的 VTV 暂存计数。如果您不针对 VTV 使用 HSC 子池，则可以看到为系统定义的所有 VTV 的 VTV 暂存计数。暂存 VTV 计数没有好数量和坏数量，只要有一些可用的暂存 VTV 即可。“可用暂存 VTV 的正确数量”取决于您的企业的需求和工作负荷。

如果表 4-4 显示了每个子池具有 50 或更低的可用暂存 VTV，您可能有点担心了，对吗？如果发生该情况，可以执行下列一种或多种操作：

- 通过使用非当前数据暂存 VTV 来释放 VTV 卷序列号。这是在系统中有足够的总 VTV 数时采取的操作，但没有足够的可用暂存卷。
实际上，您不执行该暂存，这应该是 TMS 需要执行的任务，初始配置应该已向您的 TMS 定义了 VTV 卷序列号。如果未发生该情况，则返回并执行该操作。更有可能的情况是，您可能已通过 VTCS CONFIG 语句添加了 VTV 范围并且忘记向 TMS 定义新范围，因此应返回并修复该问题。安装 ELS 中对其进行了全面介绍。

不过，请注意，使用 TMS 将 VTV 标记为暂存仅是解决方案的一部分。还必定会发生的事情是 VSM 邻域中的某人必须将 VTV 数据标记为非当前（因此是可写入的），如果是驻留在 VTSS 上的 VTV，会将其从缓冲区中删除。

由于实际删除 VTV 数据是重大的决定（数据会消失），因此您将进行判断并将其称为“按需”任务，如果您选择该方式，请转至“执行需求 MVC 空间回收”。

- 使用 POOLPARM 或 VOLPARM 添加 VTV。这是您的次优选项，当确实没有任何具有非当前数据的 VTV 时执行该操作。事实证明，不仅是 POOLPARM 或 VOLPARM，您还必须执行相应的 TMS 定义等。同样，安装 ELS 中对其进行了全面介绍。

- 更改 TAPEREQ 语句或 SMS 例程以临时将磁带工作重新路由至 Nearline HSC 处理过程，直到您可以定义其他 VTV。这可能是您最不喜欢的选项，因为您本质上将向 Nearline 磁带直接发送本打算发送到 VSM 的数据，因此收拾烂摊子可不是一件小事。如果您有可用的 Nearline 资源并且您迫切需要将输入写入暂存卷，这仍然是需要采取的（暂存）方法。

检查 Nearline 磁带状态（每日）

“检查虚拟磁带状态（每日）”介绍了确保系统的 VTSS、VTD 和 VTV 正常运行有多么重要。

考虑 VSM 的 Nearline 组件（RTD 和 MVC），这是 VTV 将要迁移到和从中撤回的位置（某些 MVC 空间回收在后台运行），您将同意该区域也值得您充分重视。

检查 Nearline 磁带状态：

1. 输入 Display RTD。
良好的情况如表 4-5 所示。

表 4-5 VT Display RTD 命令的示例输出－一切良好

RTD

STATUS

MOUNT

ALLOC

HOST

VTSS

B200

ONLINE/FREE

-

-

-

HBVTSS16

B201

ONLINE/FREE

-

-

-

HBVTSS16

0B79

ONLINE/FREE

-

-

-

HBVTSS16

0B7A

RECALL VTV

DMV051*

DMV051

EC20

HBVTSS16

1600

MVS1 :MIGRATE

-

-

-

-

1601

MVS1 :MIGRATE

-

-

-

-

在表 4-5 中，操作顺利执行，因为迁移、撤回和可用于新工作的 RTD 之间有很好的平衡，而在表 4-6 中就不是这样。

表 4-6 VT Display RTD 命令的示例输出－陷于困境的 RTD

RTD

STATUS

MOUNT

ALLOC

HOST

VTSS

B200

MVS1 :MIGRATE

-

-

-

-

B201

MVS1 :MIGRATE

-

-

-

-

0B79

MVS2 :MIGRATE

-

-

-

-

0B7A

MVS2 :MIGRATE

-

-

-

-

1600

MVS1 :MIGRATE

-

-

-

-

1601

MVS1 :MIGRATE

-

-

-

-

如果表 4-6 多少是在步骤 2 中采取的紧急措施的结果，则除了等待系统平息下来，您没有多少可做的。不过，如果您有其他可用的 RTD（例如，您手动与 MVS 和 VSM 共享的 RTD），则将其更改为在 MVS 中脱机并使用 Vary RTD 使其可用于 VTCS。

2. 接下来，查看执行 Display MVCPool 命令时 MVC 的情况如何。

图 4-1 显示了未指定 MVC 池名称的 Display MVCPool 输出示例，因此您会看到系统的所有 MVC 的信息。

图 4-1 Display MVCPool 的示例输出（未指定池名称）

图 4-1 显示了 MVC 集合处于良好的状态。似乎有大量空闲 MVC（100% 可用空间，无迁移的 VTV）以及多个 ACS 和 MVC 介质类型上的大量空闲空间。符合回收条件的 MVC 的数量相对较少，这意味着自动空间回收可能不会采取迁移/撤回活动的方法。

使用的 MVC 与空闲 MVC 的比例看起来很正常（可能 ACS 01、ECART 和 ZCART 介质中除外）。对于这些 MVC，您可能需要进行一些调查。找出哪些存储类表示这些 MVC，哪些管理类与这些存储类相对应，可能按管理类暂存某些 VTV。

如果 Display MVCPool 显示类似图 4-2 的内容，应怎么办？

图 4-2 Display MVCPool 的示例输出－ACS01 中的问题

正如您看到的，ACS 01 中的情况变得更糟。现在应怎么办？考虑以下操作，顺序可能如下：

- 执行需求回收以释放空间；有关更多信息，请参见“执行需求 MVC 空间回收”。

- 按“更改 RTD 设备类型”中所述添加 MVC。

- 找出哪些存储类表示这些 MVC，哪些管理类与这些存储类相对应，可能按管理类暂存某些 VTV。
作为跟进步骤，查看您的当前策略并根据需要进行调整。您或许能够通过更改这些策略来创建空闲 MVC 或在 MVC 上释放空闲空间。

查看重点（每周）

该任务不是太复杂，基本包括每周运行其他两个主要状态工具（MVC 报告和 VTV 报告）。

使用 VTV 报告

注:
使用以下命令之一运行 VTV 报告：

- VTVRPT BASIC，该命令显示使用 EXPORT 命令迁移至 MVC 的所有 VTV 副本

- VTVRPT COPIES，该命令显示使用 EXPORT 命令迁移至 MVC 的所有 VTV 副本以及使用 EEXPORT 命令迁移的所有 VTV 副本

首先使用 VTV 报告，该报告如图 4-3 所示。

图 4-3 VTVRPT 的示例输出

初看时，VTV 报告似乎庞大且不直观，有很多数据行，每一行都描述系统中您曾想了解的每个 VTV 的所有内容。

可通过什么方法使 VTV 报告对您的情况更有用？首先，可以针对卷序列号列表、卷序列号范围甚至单个卷序列号运行 VTVRPT 实用程序。如果您已打算检查特定的 VTV，则使用这些选择选项之一。

然后，VTVRPT 实用程序还提供 OPTION(UNAVAIL) 参数，该参数生成有关不可用的 VTV 的报告，如图 4-4 中所示。

图 4-4 VTVRPT（UNAVAIL 选项）的示例输出

显然，如果您具有无法访问您认为驻留的 VTV 的作业（或 VTCS）报告，OPTION(UNAVAIL) 是最佳选项。

您还可以通过 VTVRPT 实用程序获得 XML 输出的灵活性。您可以为所选的报告和实用程序生成结构化 XML 或逗号分隔变量 (Comma Separated Variable, CSV) XML 格式的输出。

结构化 XML 和 CSV 输出之间有何差异？考虑以下情况：

- 结构化 XML 包含针对每个命令或实用程序显示的所有标记和结构（然后您可以使用选择的编程语言根据需要对其进行处理）。

- CSV 输出允许您仅选择您需要的标记（及其顺序）。每个输出行包含固定数量的由逗号分隔的字段，然后可以将其输入到电子表格或报告编写器中以用于可定制的分析或报告。

您现在可以通过两种方法针对您的企业需求有效地定制基本 VTV 报告。有关该主题的更多信息，请参见《ELS Programming Reference》。

最后，应注意 LCM 提供与 ELS/VTCS 功能（包括 VTCS MVC 和 VTV 报告）对应的增强管理和报告功能。有关更多信息，请参见“LCM 控制语句”。

使用 MVC 报告

最后，查看 MVC 摘要报告，如图 4-5 所示。

图 4-5 示例 MVC 摘要报告

MVC 摘要报告与库存 VTV 报告很相似；如果您知道您要查找什么内容，这是很好的，否则您将面对太多的信息。

从 MVC 详细报告获取的额外字段对于更好地了解情况可能更有用。请参见图 4-6。

图 4-6 示例 MVC 详细报告（附加字段）

此处提供了一些有关 MVC 上 VTV 的详细信息，如有必要，您可以使用这些信息执行一些诊断工作。

与 VTV 报告一样，您也可以使用 MVC 报告执行以下任一操作：

- 生成结构化 XML 或逗号分隔变量 (Comma Separated Variable, CSV) XML 格式的输出，如《ELS Programming Reference》中所述。

- 使用对应的 LCM 报告，如“LCM 控制语句”中所述。

总结

有关使用 VTCS 系统信息显示板的信息差不多就这些了。您可以执行大量其他任务，并且您可能会执行这些任务，例如但不限于运行 MVC 池报告（如果您使用了命名 MVC 池）。但这是有关“按需”管理任务的信息。

您应从本章了解到的主要信息是按照检查虚拟磁带状态（每日） 和检查 Nearline 磁带状态（每日） 中所述执行每日任务以及按照“查看重点（每周）”中所述执行每周任务，这样您将使您的 VTCS 系统保持正常运行。

5 使用 VTCS 必须执行（有时）琐碎事务列表

欢迎使用“VTCS 必须执行（有时）琐碎事务列表”（也称为“按需任务列表”）。例如，如果本周您决定运行 DELETSCR，以便清除一列占用大量有价值的 VTSS 和 MVC 空间的暂存的 VTV。很好，顺利完成了。您认为要过多久您必须运行同样的操作？尤其是如果您不更改暂存删除策略。答案：可能是一天、一个月或一年，但您将需要再次执行该操作。

不过，别担心。这里将介绍有用的过程，以帮助您削减必须执行（有时）列表，此外，正如您已通过阅读“使用 VTCS 系统信息显示板”看到的，如果您留意 MVC 和 VTV 报告，则甚至可能不需要列表，因为这些报告可告诉您何时需要执行必须执行/按需琐碎事务。

还有另外一类差不多是策略决定的“必须执行（某时）”琐碎事务，但这里也将其包含在内，因为 (a) 这些琐碎事务在性质上是主动的，这使得其作为最佳做法“按需”琐碎事务具有双重价值，以及 (b) 这些琐碎事务是您可以使用、退出和再引入的操作技术，因为其可以在任何时间点为您的企业带来益处（也可能不会）。尽管如此，还是从“执行需求空间回收、迁移和撤回”中所述的该类别中我们最喜欢的三项操作开始吧。

执行需求空间回收、迁移和撤回

这些任务是可选的，但这些任务是强烈建议的最佳做法（尤其是对需求空间回收而言），其原因很快就会揭晓。

执行需求 MVC 空间回收

正如您已经知道的，VSM 自动在每个运行回收的主机上回收 MVC 空间，这里的关键词是自动。这意味着空间回收始终在等待工作，尽管其是后台任务，如果您具有大量片段的 MVC，空间回收工作也可能会严重干扰迁移/撤回，尤其是在高峰处理期间。

如果 MVC 摘要报告或 Display MVCPool 显示系统的 MVC 上高级别的片段（该级别低于在 CONFIG RECLAIM THRESHLD 参数或 MVCPool THRESH 参数上指定的值），您可能需要将需求 MVC 空间回收安排为低峰时段批处理作业。

使用 RECLaim 执行需求 MVC 空间回收。打开《ELS Command, Control Statement, and Utility Reference》，您将看到一些有用的工具，这些工具可用于优化需求回收并非常有效地运行该操作。

- 只能使用 MVCPOOL、STORCLAS、ACSid 或 MVC 参数中的一个来过滤要处理的 MVC 列表。MVC 和 VTV 报告（如“使用 VTCS 系统信息显示板”中所述）可帮助您将可能的候选对象列表范围缩小至 MVC 池、存储类、特定的 ACS 或 MVC 范围或列表。将该列表输入至 RECLaim，这样您就为该作业使用了正确的工具。
如果您不指定这些参数中的一个，空间回收将从命名 MVC 池（如果已实现）或最需要的空闲空间介质类型（对于多个 MVC 介质环境）中选择 MVC。

- 使用参数 MAXMVC（单个空间回收任务处理的最大 MVC 数）、THRESH（使 MVC 成为回收候选对象的 MVC 片段百分比）和 CONMVC（VTCS 为排出和回收并行处理的最大 MVC 数），可以覆盖需求回收的对应 CONFIG RECLAIM 全局参数。这样您就可以对需求迁移进行调整，使其或多或少比自动迁移更加积极。

- NOWAIT 是加快进程的方法，CONMVC 是另一种影响一次处理的 MVC 数的调优方法（有关详细信息，请参见《ELS Command, Control Statement, and Utility Reference》）。

- ELAPSE 是检测在您指定的时间间隔之内是否没有发生需求回收的方法。如果在该时间段内没有回收，作业将停止。

- 另请注意，VTCS 会执行最严格的限制因素。例如，如果您运行 RECLAIM 并指定 ELAPSE 为 5 个小时，MAXMVC 为 10 并且 VTCS 在一个小时内回收 10 个 MVC，则 VTCS 在 ELAPSE 值失效之前终止回收。

- VTCS 和 HSC 必须是活动的才能处理 RECLAIM 请求。

执行需求 VTV 迁移

如前所述，VTCS/ELS 本质上是一个服务器。例如，VSM 自动管理 VTSS 空间并迁移 VTV 以确保最佳数据可用性、资源使用和数据保护的平衡。

稳定的环境是很好的，但如果发现 VSM 系统要接收大量应用程序数据，应怎么办？答案：可能是时候运行需求迁移批处理作业以在前述的高峰磁带处理事件发生之前释放 VTSS 空间了。

当然，应使用 MIGRATE 执行需求迁移，该命令提供以下选项：

- 可以迁移 VTV：

- 按卷序列号（允许重复）

- 管理类

- 与 VTV 关联的数据集名称（最有效）。

还提供了您可能需要使用的 DELETE(YES) 选项，该选项在成功迁移之后从 VTSS 空间删除 VTV。通常针对不大可能再次访问的 VTV 使用 DELete (YES)（默认值）。作为替代方案，您可以针对可能再次访问的 VTV指定 DELete (NO) 以确保关键数据可用并快速迁移。

- NOWAIT 选项可帮助您加快进程。全部使用 MIGRATE 格式 1；有关详细信息，请参见《ELS Command, Control Statement, and Utility Reference》。

- 作为替代方案，您可以针对所有 VTSS 或特定的 VTSS 使用 MIGRATE 格式 2 执行需求迁移至阈值。这是一个在您需要时获取 DBU 的很好的工具，VTCS 处理细节。

另请注意，使用 SET MIGopt，可以降低高 AMT 以有效执行需求迁移。

执行需求 VTV 撤回

VTCS 提供自动撤回过程，该过程在某个作业请求已迁移到磁带（但未驻留在 VTSS 上）的 VTV 上的数据集时启动。不过，如果遇到与上述情况相反的情况，应怎么办？例如，您要执行年终处理，并且知道有大量作业要从仅位于磁带上的 VTV 读取数据。需求撤回可提供解决方案。

RECALL 可提供您需要的所有控制灵活性：

- 与 MIGRATE 一样，您可以按卷序列号、管理类或关联的数据集名称撤回 VTV。

- 您可以指定您要撤回 VTV 的 VTSS。否则，默认为用于创建的 VTSS，有一些与 VTSS 撤回策略相关联的注意事项。有关详细信息，请参见《ELS Command, Control Statement, and Utility Reference》。

- 通过 RECALWER 可以指定您是否希望撤回具有读取数据检查的 VTV。

- 提供了用于加快进程的 NOWAIT 选项。

使用 RTD

有大量您局限于“查找和修复 VTCS 问题”的 RTD 管理，因为它们几乎都是专门的错误恢复方案。针对 RTD 的最佳做法是具有足够的 RTD 并保持上述所有项目都已启动并运行。请记住，RTD 用于迁移、撤回和回收，因此针对所有这些作业保持正确的 RTD 混合是关键的平衡操作。要通过操作参数调整该混合，请参见“检查虚拟磁带状态（每日）”。

除调整 RTD 操作参数之外，另一个可用于 RTD 的主要工具是 VTCS Vary RTD 命令，该命令用于更改 RTD 状态。可以将 RTD 更改为联机、脱机或维护模式（如果您需要对 RTD 执行维护操作）。

您可能遇到的主要按需任务是相关的，前两个使用 Vary RTD：

- “更改 RTD 设备类型”，基本上是关于如何执行系统的部分或所有 RTD 的技术升级。

- 您需要考虑您指定 MVC 介质的方式。尽管这些确实是 MVC 注意事项，但由于 RTD 设备类型更改，它们仍会发生。有关更多信息，请参见 Configuring HSC and VTCS。

更改 RTD 设备类型

使用以下过程更改 RTD 设备类型。请注意，更改 RTD 设备类型要求您在所有主机上停止 VTCS。

要更改 RTD 设备类型，请执行以下操作：

1. 查看 VSM 策略。
例如，如果该 RTD 设备类型用于迁移，您可能需要查看管理类和存储类定义。

2. 将旧 RTD 更改为在 VTCS 上脱机。

3. 如果新 RTD 设备使用新 MVS 设备地址，则执行以下操作：

- 针对 MVS 定义新地址。

- 运行 DECOMP 以输出 CONFIG 语句。

- 编辑 CONFIG 语句以将 RTD 地址更改为新值。

- 运行 CONFIG RESET。

注意:
请勿将新传输更改为在 MVS 中联机！否则，可能会将其作为 Nearline 传输进行分配。

4. 安装新 RTD。

5. 将替换了传输的 LSM 更改为脱机状态。

6. 将替换了传输的 LSM 更改为联机状态。

7. 将新 RTD 更改为在 VTCS 上联机。

8. 如有必要，添加 MVC。
有关更多信息，请参见“添加 MVC”。

使用 MVC

如您所知，专门讨论任何一个虚拟实体会有些困难。MVC 包含 VTV，因此单独讨论其中一项是很困难的，因为您不可避免地要讨论另外一项。如果要讨论 VTV，也会讨论 VTSS 和 VTD。

尽管如此，以下各节是针对 MVC 执行相当典型的“按需”任务（处于各种原因而执行）的一些基本过程。例如，您可能会因为将要用完空间或因为您很主动并且不希望陷入麻烦而添加 MVC（如前面的情形中所述）。

注:
如果由于处理 SET VOLPARM 或 CONFIG MVCVOL 而从配置中删除 MVC，则：

- 您不能在配置中重新输入卷序列号作为 VTV。

- 请勿对本机 HSC 磁带使用卷序列号。

消息 SLS6944I 指示已删除的 MVC 数。

添加 MVC

ELS 7.2 使添加卷变得更容易。您现在使用 HSC VOLPARM 和 POOLPARM 语句定义所有卷及其池：本机 Nearline 卷、清洗磁带、MVC 和 VTV 以及用于将其装入的 HSC SET VOLPARM 实用程序。有关更多信息，请参见 Configuring HSC and VTCS 和《ELS Command, Control Statement, and Utility Reference》。

添加 MVC：

1. 创建 VOLPARM 语句以定义 MVC。
例如，定义一系列要进行加密的 T10000 完整卷：

VOLPARM VOLSER(T10K2000-T10K2999)MEDIA(T10000T1)RECTECH(T1AE)

2. 创建 POOLPARM 语句以定义 MVC 池。
例如，使用回收参数定义 T10000 MVC 池：

POOLPARM NAME(SYS1MVCT1)TYPE(MVC)MVCFREE(40) MAXMVC(4) THRESH(60) START(70)

3. 根据需要创建或更新 MGMTCLAS 或 STORCLAS 语句。

例如，如果您添加了新的 MVC 介质类型，请遵循 Configuring HSC and VTCS 中的建议。

4. 根据需要更新 POLICY 或 TAPEREQ 输出参数。
例如，如果在步骤 3 中创建了新的管理类，则更新或创建 TAPEREQ 或 POLICY 语句以指向新的管理类。

5. 您是否需要定义 VTV？
如果需要，则转至“定义 VTV”。否则，请转至“验证和应用卷定义”。

定义 VTV

定义 VTV：

1. 创建 POOLPARM 或 VOLPARM 语句以定义 VTV。
例如，定义供主机 MVS1 和 MVS2 使用的两个系列的 VTV：

POOLPARM NAME(SYS1VTV1)TYPE(SCRATCH)
VOLPARM VOLSER(V5000-V5499)MEDIA(VIRTUAL)
POOLPARM NAME(SYS1VTV2)TYPE(SCRATCH)
VOLPARM VOLSER(V5500-V5999)MEDIA(VIRTUAL)

2. 转至“验证和应用卷定义”。

验证和应用卷定义

1. 运行 SET VOLPARM 以验证 VOLPARM/POOLPARM 语句。

SET VOLPARM APPLY(NO)

APPLY(NO) 将在不装入这些语句的情况下对其进行验证。如果对结果满意，请转至步骤 2。否则，重新进行卷定义，然后转至步骤 2。

2. 运行 SET VOLPARM 以装入 VOLPARM/POOLPARM 语句。

SET VOLPARM APPLY(YES)

3. 将任何实际磁带物理装入 ACS。

4. 有关更多信息，请参见“装入磁带”。

从池中移除 MVC。

您为何从池中移除 MVC？典型的情形可能是您交换出旧磁带机以便对 RTD 进行技术更新并且您希望报废旧介质，在这种情况下，您开始将新 MVC 添加到池中（如添加 MVC中所述），然后移除旧介质（如“永久移除 MVC”中所述）。

请注意，有时您可能希望从池中临时移除 MVC。例如，您具有一些错误的介质或疑似错误的介质。您希望移除错误的介质并放入替换介质（基本在相同的卷序列号之下），如“临时移除 MVC”中所述。

永久移除 MVC

要从池中永久移除 MVC，请执行以下操作：

1. 输入 MVCDRain 以排出 MVC。

例如，要运行 MVCDRain 以排出存储类 STORCL1 中的 MVC，虚拟弹出这些 MVC，并在提交请求之后返回，输入以下内容：

MVCDRAIN STORCLAS(STORCL1) EJECT NOWAIT

2. 如果某个 ACS 中不再需要 MVC，则使用 HSC Eject 命令从 ACS 中弹出 MVC。

3. 删除安全限制以及您为 MVC 定义的磁带管理系统限制。

如果您使用 VOLPARM 和 POOLPARM 定义并且虚拟 CDS 级别为 G 或更高，则继续执行步骤 4。否则，请转至步骤 5。

4. 如果您希望重新使用磁带卷序列号以供 Nearline（非 VTCS）使用并且使用 VOLPARM/POOLPARM 定义，则：

1. 针对您要移除的 MVC 更新 POOLPARM/VOLPARM 语句。

2. 在所有主机上运行 SET VOLPARM APPLY(YES) 以应用更改。

3. 运行 HSC SCRAtch 命令以暂存不再是 MVC 的卷。

5. 如果您要重新使用磁带卷序列号以供 Nearline（非 VTCS）使用并且不使用 VOLPARM and POOLPARM，则需要执行以下操作之一：

1. 发出 HSC EJECT 命令以从 ACS 中移除 MVC。

2. 更改磁带上的外部条形码标签。
必须更改外部条形码标签，因为 CDS 中保留了原始 MVC 卷序列号，这些卷序列号仅可用作 MVC。

3. 将磁带重新装入 ACS。

或

1. 创建一组新的 CDS 数据集。

2. 运行 HSC MERGECDS 实用程序并指定 DELVirt 以移除不需要的 MVC 范围。

注:
使用该选项时必须停止所有 HSC，因为创建了新的 CDS 数据集。

临时移除 MVC

从池中临时移除 MVC：

1. 针对 MVC 输入 MVCDRain Eject。
例如，要运行 MVCDRain 以排出存储类 STORCL1 中的 MVC，虚拟弹出这些 MVC，并在提交请求之后返回，输入以下内容：

MVCDRAIN STORCLAS(STORCL1) EJECT NOWAIT

这将执行以下操作：

- 撤回 MVC 上的所有 VTV 并将其重新迁移到新的 MVC。

- 使 MVC 对于 VTCS 迁移是不可选择的。

2. 要将 MVC 返回到 MVC 池中，请针对 MVC 输入 MVCDRain。

针对 MVC 输入 MVCDRain（不带 EJect 参数）可使其再次可用。

例如，要运行 MVCDRain 以排出存储类 STORCL1 中的 MVC 并在提交请求之后返回，输入以下内容：

MVCDRAIN STORCLAS(STORCL1) NOWAIT

注:
作为替代方案，您可以使用 MVCMAINT 将 MVC 标记为只读。这可以阻止 VTCS 针对迁移选择 MVC，但不会从 MVC 中移除 VTV。还可以使用 MVCMAINT 关闭只读。
如果使用 VOLPARM/POOLPARM 定义，则可以在 POOLPARM 语句上指定 NOMIGRAT 选项以阻止针对新迁移使用 MVC。

排出 MVC

使用 MVCDRain“排出”MVC（撤回 MVC 上的所有 VTV）。通常出于以下原因排出 MVC：

- MVC 报告或 Display 显示 MVC 的数据检查错误。VSM 不迁移至 MVC，您应将其从 MVC 池中移除。

- MVC 报告或 Display 显示 MVC 的数据检查错误以外的错误。

- 存储类或命名 MVC 池不再处于使用状态，您希望移除或重新使用关联的 MVC。

要选择要排出的 MVC，您可以指定以下参数之一：

- MVCid，用于按卷序列号排出一个或多个 MVC。

- MVCPOOL，用于排出命名 MVC 池中的 MVC。有关命名 MVC 池的更多信息，请参见《ELS Command, Control Statement, and Utility Reference》。

- STORCLAS，用于排出存储类中的 MVC。有关存储类的更多信息，请参见《ELS Command, Control Statement, and Utility Reference》。

可以使用 MVCDRain 覆盖 CONFIG RECLAIM CONMVC 设置。可以从每个主机运行 MVCDRain，这将在该主机上启动数量与 CONMVC 值相等的排出任务。这些排出任务可以与其他主机启动的排出任务同时运行。

另外，还要注意以下几点：

- 对于 VMVC，具有 EJECT 参数的 MVCDRAIN 会物理删除 VTV。

注意:
如果您使用 DRCHKPT 实用程序和/或 CONFIG GLOBAL PROTECT 参数来保护 VMVC 的 CDS 备份内容，指定 MVCDR EJECT 将验证 CDS 备份的 VMVC 内容。

- 对于 VMVC 和 MVC，不带 EJECT 参数的 MVCDRAIN 不会删除 VTV，但会更新 CDS 记录以便不在 VMVC/MVC 上显示 VTV。

有关更多信息，请参见《ELS Command, Control Statement, and Utility Reference》。

使用 MVCMAINT 更改 MVC 属性

MVCMAINT 是 VSM 领域中同样方便的工具，其参数描述了其功能：

- 首先，MVC 卷序列号（范围、列表、单个卷序列号）或 MANIFEST 是您的两个 MVC 选择条件。MVC 卷序列号是有意义的，但为何 MANIFEST 也有意义？运行 EXPORT 时，将创建清单文件（MVC 及其包含的 VTV 列表），将一个系统中的 MVC 移动到另一个系统时，您可能需要执行该操作。将 MVC 导入到新系统中时，如果这些 MVC 以只读模式开始其新的生命周期，这可能是个好主意，因此在您可以正确定义这些 MVC 之前，不会覆写这些 MVC。

- READONLY（ON 或 OFF）。请参见上一个项目。此外，还记得有关将 MVC 添加到池中的介绍吗？您可能需要将其以暂存状态装入 ACS，但有些企业会以非暂存状态引入所有项目，然后再加以整理。当您需要使新 MVC 成为可写入 MVC 时，可以使用 MVCMAINT READONLY(OFF) 工具。

- LOST（ON 或 OFF）。MVC 是如何丢失的？例如，MVC 可能会丢失吗？不管您信不信，MVC 可能会丢失。例如，如果 VTCS 启动的 MVC 挂载无法完成（与完成但有错误相反），VTCS 会在 CDS 中将 MVC 标记为“丢失”并取消其优先权。
会从替代 MVC 中撤回驻留在“丢失的”MVC 上的复用 VTV。除非没有其他有效的 MVC，否则 VTCS 不会尝试使用“丢失的”MVC 进行迁移。成功挂载处于“丢失”状态的 MVC 后，会从 MVC 记录中删除“丢失”状态。

如果您知道 MVC 未真正丢失，应怎么办？答案：您可以使用 MVCMAINT 关闭 LOST 状态。

MVCMAINT 有一个有趣的用法，值得介绍一下。如果您有临时处于手动模式的 LSM，应怎么办？您可能需要（临时）在该 LSM 中取消 MVC 选择的优先权，可以使用 LOST(ON) 执行该操作。然后，当 LSM 重新处于自动模式时，使用 LOST(OFF) 逆向执行该过程。

- ERROR（ON 或 OFF）。MVC 可能由于多种原因错误地进入错误状态，例如：

- VTCS 不将挂载在 RTD 上的卷识别为 MVC。这可能是由某个 MVS 作业覆写 MVC 导致的。确定 MVC 发生了什么。如果 MVC 不再包含有效的 VTV 数据，则重新初始化卷并将其返回到 MVC 池中。

- MVC 不是可写入的，这可能是由拇指滚轮设置为只读导致的，也可能是由安全软件包不允许 VTCS 写入卷导致的。重置拇指滚轮，或更改安全软件包中的规则，以便允许写入 MVC。

- 检测到错误的块 ID，您必须 (VTCS) 审计 MVC 以尝试更正该情况。
按照所述更正错误情况后，使用 MVCMAINT 将 MVC 状态重置为 ERROR(OFF)。

- EJECT（ON 或 OFF）指定 MVC 的“逻辑弹出”状态。如何设置该状态以及您为何可能需要更改该状态？如果您使用 MVCDRAIN 显式排出某个 MVC，则可能因为您认为介质有错误，因此通过设置“逻辑弹出”状态来取消其优先权。然后您实际弹出该 MVC，运行一些测试，发现其是正常的，然后重新将其装入。此时，使用 MVCMAINT) 设置 EJECT(OFF)。

- 接下来，您具有一组特定于 T9840/T9940 介质的 MVC 属性，这些属性都具有 ON/OFF 切换。

- WARRANTY。VTCS 还会检测介质保修到期并将 WARRANTY 设置为 ON。或者，您也可以使用 SMF、LOGREC 数据或您的 MVC 和 VTV 报告检测生命周期即将结束的 MVC 并使用 MVCMAINT 手动设置 WARRANTY ON。知道保修已到期可使您在发生介质生命周期结束（请参见下一个项目）之前计划介质更换。如果您知道某个 MVC 被错误地标记为保修到期，应怎么办？答案：使用 MVCMAINT 重置保修到期状态。

- RETIRED。VTCS 还会自动检测到介质生命周期结束并将 RETIRED 状态设置为 ON。同上，您可以使用 SMF、LOGREC 数据或您的 MVC 和 VTV 报告检测生命周期即将结束的 MVC 并使用 MVCMAINT 手动设置 RETIRED ON，或针对错误地标记为报废的 MVC 将状态重置为 RETIRED OFF。

- VTCS 会自动检测到无效的介质信息区域 (Media Information Region, MIR) 并将 INVLDMIR 状态设置为 ON。可以使用通过操作面板（针对传输）获取的实用程序或使用通过 MPST 获取的实用程序恢复 MIR。重新创建 MIR 之后，可以使用 MVCMAINT 针对 MVC 设置 INVLDMIR OFF。

注:
运行 MVCMAINT 还会生成受 MVCMAINT 作业影响的卷的 MVC 报告。

验证 MVC 或 VMVC

MEDVERfy 实用程序通过验证在 MVC 或 VMVC（仅 ELS 7.1 和 VLE 1.2 及更高版本）上是否可以读取 VTV 数据来执行介质验证 (Media Verification, MV)。对于 VLE，MEDVERfy 确保删除了重复数据的 VMVC 可进行“重构”。

该实用程序报告通过验证或验证失败的 MVC 并生成 XML 输出。有关 MEDVERfy 实用程序的更多信息，请参见《ELS Command, Control Statement, and Utility Reference》。

以下各节显示了针对 MV 使用 MEDVERfy 实用程序的示例。

针对单个 VMVC 执行 MV

MEDVERFY   MVC(VMC000)

在此示例中：

- MEDVERfy 选择单个 VMVC。

- MAXMVC 默认值为 99。

- CONMVC 默认值为 1，因此一次仅处理一个 MVC。

- 未指定任何超时。

按 MVC 池执行 MV

MEDVER   MVCPOOL(MP1)

在此示例中：

- MEDVERfy 选择 MVC 池 MP1 中的 MVC 进行处理。

- 未指定 FREQency 并且 MAXMVC 默认值为 99，因此 MEDVERfy 根据上次验证的时间选择 99 个最佳的 MVC 候选对象。

- CONMVC 默认值为 1，因此一次仅处理一个 MVC。

- 未指定任何超时。

按 MVC 卷序列号执行 MV

MEDVER   MVC(MVC000-MVC049) CONMVC(2) TIMEOUT(720)

在此示例中：

- MEDVERfy 选择一系列（50 个）MVC 卷序列号进行处理。

- 未指定 FREQency 并且 MAXMVC 默认为 99，因此 MEDVERfy 处理全部 50 个指定的 MVC。

- CONMVC 为 2，因此 MEDVERfy 并发处理两个 MVC。

- MEDVERfy 在超时之前运行 12 个小时。

按存储类执行 MV

MEDVER   STORCLAS(SC1) MAXMVC(50) FREQ(365)

在此示例中：

- MEDVERfy 选择存储类 SC1 中的 MVC 进行处理。

- MAXMVC 为 50 并且 FREQency 指定 365 天，因此 MEDVERfy 选择最佳的 50 个至少有 1 年时间未进行验证的 MVC 候选对象。

- CONMVC 默认值为 1，因此一次仅处理一个 MVC。

- 未指定任何超时。

使用 VTSS

您可以根据需要对 VTSS 执行的最主要的操作是使用 VTCS Vary VTSS 命令或实用程序将 VTSS 更改为联机、脱机或停顿状态。当您将 VTSS 更改为脱机或停顿状态时，始终要知道您所执行的操作以及执行该操作的原因。原因可能是 VTSS 需要维护或您要将其从配置中移除，“查找和修复 VTCS 问题”中对此进行了介绍。

不过，以下图表首先向您显示了将 VTSS 更改为其支持的每个模式时会发生什么（以及您为何应在可能的情况下针对 OFFline 使用 QUIESCED）。

表 5-1 VTSS 状态

指定的 Vary VTSS 参数

VTSS 最初状态

VTSS 下一状态

ONline

Online Pending－处于联机暂挂状态，联机进程已启动，但尚未在所有主机上完成。

Online－处于联机状态，VTSS 联机且可用并接受前端和后端工作。如果 VTSS 以前脱机，则现在会联机，VTCS 发出建议 VTSS 审计的警告消息。

QUIESCED

Quiescing－处于正在停顿状态，VTCS 不会将任何 DD 分配转向 VTSS，VTSS 仍接受暂挂挂载以允许长期运行且具有 unit=aff 链的作业完成。当所有 VTD 不再处于使用状态（未在 MVS 上分配其 UCB）时，VTSS 将进入停顿状态。处于正在停顿状态，VTSS 继续接受和处理后端工作，例如迁移、撤回和审计。

Quiesced－处于停顿状态，VTSS 继续接受和处理后端工作，例如迁移、撤回和审计。即，您可以使用撤回和迁移命令和实用程序执行这些使用停顿 VTSS 的操作。

OFFline

Offline Pending－处于脱机暂挂状态，脱机进程已启动，但尚未在所有主机上完成。VTCS 立即关闭 VTSS 并中断和清除所有活动任务并清除所有排队的任务。VTSS 服务器任务终止并不再接受新前端和后端工作。VTCS 创建新的 VTV 并仅在替换 VTSS（如果可用）上挂载/卸载现有 VTV。

Offline－处于脱机状态，VTSS 在所有主机上脱机并且不接受前端或后端工作。

如果 VTV 的某个副本驻留在脱机 VTSS 上和 MVC 上，并且某个作业需要该 VTV，则 VTCS 会自动将 VTV 撤回到替换 VTSS（如果可用）。

注:
在客户机/服务器环境（MVS/CSC 和 LibraryStation 或客户机主机上的 SMC/HTTP）中，VTCS 无法确定长期运行的作业在客户机主机上是否是活动的。因此，VTSS 进入脱机状态之后，您应仍 (a) 显式将其 VTD 更改为在 MVS 上脱机或 (b) 确保客户机主机上的虚拟磁带活动已停止。
在群集 VTSS 或跨 TapePlex 复制 (Cross-TapePlex Replication, CTR) 配置中，应将 VTSS 的 Clink 更改为脱机以停止复制和电子导出处理。

停顿 VTSS 以进行维修

在维修 VTSS 之前，按以下所述停顿 VTSS：

1. 在每个主机上将 VTSS VTD 更改为脱机。
在每个主机上等待所有设备脱机。请注意，在不再分配 VTD 之前，VTD 不会执行脱机过程。如果长期运行的作业正在使用 VTD，则必须等待该作业完成或取消该作业。

2. 从定义了命名 VTSS 的任何 VTCS 系统中更改 VTSS QUIESCED。
在每个 VTCS 系统上等待指示 VTSS 已停顿的消息 SLS6742I。

3. 您也可以选择迁移 VTSS 中的数据。

4. 从定义了命名 VTSS 的任何 VTCS 系统中更改 VTSS OFFLINE。
在每个 VTCS 系统上等待指示 VTSS 已脱机的消息 SLS6742I。您现在可以维修 VTSS 了。

移除 VTSS

以下是移除 VTSS 的情形：您有两个独立的 VSM 系统，其中一个 VSM 系统的工作负荷在增大，另一个 VSM 系统的工作负荷在减小。解决方案：将某个 VTSS 从系统 A 中移除并将其置入系统 B。安装 ELS 中介绍了如何添加 VTSS，因此本节仅限于介绍移除 VTSS 时所应执行的操作。

移除 VTSS：

1. 在移除 VTSS 之前，执行以下操作：

- 在删除之前，您无需清空 VTSS。您真正需要确保的是已完全迁移所有 VTV。还要考虑更改其他参数（例如 TAPEREQ 语句），以便不会将新工作路由至已移除的 VTSS。

- 如果从 VTSS 中移除一个设备类型/ACS 组合的所有内容，还应确保首先完全迁移所有 VTV。同上，考虑更改其他参数以反映更改后的 VTSS 迁移功能（例如管理类，管理类指向指定 ACS 和介质的存储类）。

2. 将 VTSS 更改为停顿状态。
在其脱机之后，继续执行步骤 3。

3. 移除 VTSS，然后重新运行 CONFIG 以将其逻辑移除。

下面显示了样例 JCL，该样例 JCL 运行 CONFIG 以将配置更新为拒绝对您从配置中物理移除的 VTSS2 的主机访问。在该示例中，您为 VTSS2 指定 VTSS 语句（不带参数），以拒绝对该 VTSS 的主机访问。

//UPDATECFGEXEC PGM=SLUADMIN,PARM='MIXED'
//STEPLIBDD DSN=hlq.SEALINK,DISP=SHR
//SLSCNTLDD DSN=FEDB.VSMLMULT.DBASEPRM,DISP=SHR
//SLSCNTL2DD DSN=FEDB.VSMLMULT.DBASESEC,DISP=SHR
//SLSSTBYDD DSN=FEDB.VSMLMULT.DBASETBY,DISP=SHR
//SLSPRINTDD   SYSOUT=*
//SLSINDD   *
CONFIG
GLOBALMAXVTV=32000MVCFREE=40
RECLAIMTHRESHLD=70MAXMVC=40  START=35
VTSSNAME=VTSS1  LOW=70 HIGH=80  MAXMIG=3  RETAIN=5
RTDNAME=VTS18800 DEVNO=8800 CHANIF=0A
RTDNAME=VTS18801 DEVNO=8801 CHANIF=0I
RTDNAME=VTS18802 DEVNO=8802 CHANIF=1A
RTDNAME=VTS18803 DEVNO=8803 CHANIF=1I
RTDNAME=VTS18811 DEVNO=8811 CHANIF=0E
RTDNAME=VTS18813 DEVNO=8813 CHANIF=1E
VTDLOW=8900 HIGH=893F
VTSSNAME=VTSS2

使用 VTV

本节包含您最有可能必须按需执行的任务：删除暂存 VTV 和更改 VTV 属性。

注:
如果由于处理 SET VOLPARM 或 CONFIG MVCVOL 而从配置中删除 VTV，则：

- 您不能在配置中重新输入卷序列号作为 MVC。

- 请勿对本机 HSC 磁带使用卷序列号。

消息 SLS6944I 指示已删除的 VTV 数。

删除暂存 VTV

可以通过两种方法删除暂存 VTV：

- 按策略，通过对 VTV 的管理类指定 DELSCR(YES) 并使用 HSC 或 LCM 暂存同步以执行实际暂存。

- 对于特定的任务，通过使用 DELETSCR 实用程序。DELETSCR 从 VTSS 中删除暂存 VTV 并从 MVC 取消任何迁移的 VTV 的链接。会将删除的 VTV 标记为非初始化，但保留版本信息。

安装 ELS 中介绍了删除暂存 VTV，因此接下来的信息介绍“按需”版本。

注意以下警告：

注意:
使用 DELETSCR 删除暂存 VTV 时，这些 VTV 上的任何数据都将消失并且无法恢复！

删除 VTV 不是您因无事可做而执行的操作。如果您必须手动删除暂存 VTV，那是因为您遇到了中的情形所显示的困境。

要防止通过操作员命令无意中执行了 VTV 删除，DELETSCR 是唯一的 SLUADMIN 实用程序，具有以下功能：

- 可以按卷序列号（单个卷序列号、列表或范围）、管理类或 HSC 暂存池指定 VTV。使用 MVC 和 VTV 报告，您应该已想出确定候选对象并应用对应的 DELETSCR 选项的最佳方法。您只能指定一个选项 （VTVid、MGMTclas 或 SCRpool），如果不指定任何选项，DELETSCR 将删除所有符合条件的 VTV。这可能是您所需要的，但在您执行该方法之前请三思。

- 强制性的 NOTREF 参数指定从引用 VTV 开始的天数 (1-999)。NOTREF 是有效的宽限期；不会删除在指定的宽限期内引用的任何 VTV。

- 提供了方便的（可选） MAXVTV 参数，该参数指定 DELETSCR 删除的 VTV 的最大数量。请注意，这是最大值，不是目标。如果您在非高峰期间主动运行 DELETSCR，则可能不需要考虑 MAXVTV。如果您遇到麻烦，您当然需要关注该参数。
请注意，MAXVTV 的范围是 0-999。如果指定 0，会怎么样？在这种情况下，DELETSCR 不会删除任何 VTV，但摘要报告显示在您运行 DELETSCR 时已删除了多少 VTV（即，该报告仅是一个快照）。

- 最后，您可以通过标准或详细（通过指定 DETAIL 参数）DELETSCR 报告查看工作的结果。

DELTSCR JCL 示例

下面显示了样例 JCL，该样例 JCL 运行 DELETSCR 以删除在 60 天内未引用的管理类 MC1 中的暂存 VTV（最多 800 个 VTV）并生成详细报告。

//DELETSCR EXEC PGM=SLUADMIN,PARM='MIXED'
//STEPLIBDD DSN=hlq.SEALINK,DISP=SHR
//SLSPRINTDD SYSOUT=*
//SLSINDD *
DELETSCR MGMTCLAS(MC1) NOTREF(60) MAXVTV(800) DET

使用 VTVMAINT 更改 VTV 属性

VTVMAINT 是另一个方便的工具（这次是用于 VTV 维护），该工具执行以下操作：

- 按卷序列号（您选择的范围、列表或单个卷序列号）选择 VTV。

- 从 MVC 取消 VTV 的链接，因为如果您按“更改 VTV 管理类并从 MVC 取消 VTV 的链接”中所述更改 VTV 的管理类，您可能需要执行该操作。

- 更改 VTV 的管理类，当您希望以不同的方式管理 VTV 时执行该操作。可以通过其他方法执行该操作，但最佳的工具无疑是 VTVMAINT，如“更改 VTV 管理类并从 MVC 取消 VTV 的链接”中所述。

- 在脱机 VTSS 中逻辑卸载指定的 VTV。“在脱机 VTSS 中逻辑卸载 VTV”中对其进行了最佳介绍。

- “管理通过跨 TapePlex 复制 (Cross-TapePlex Replication, CTR) 复制的 VTV”。

注:
请不要忘记，运行 VTVMAINT 还会生成 VTVMAINT 作业影响的卷的 VTV 报告。

更改 VTV 管理类并从 MVC 取消 VTV 的链接

可以使用 VTVMAINT 更改 VTV 的管理类。如果新管理类指定不同的存储类，则 VTV 在 MVC 上的当前位置是不正确的。以下过程介绍如何使用 VTVMAINT 更改 VTV 的管理类和存储类。

更改 VTV 的管理类并取消其链接：

1. 撤回 VTV。
VTV 必须驻留在 VTSS 上才能在步骤 2 中使取消链接成功。

2. 使用 VTVMAINT ULINKMVC 从其所位于的 MVC 中取消 VTV 的链接。

3. 使用 VTVMAINT MGMTclas 分配新的管理类。

4. 重新迁移 VTV 以便将其放置在正确的 MVC 上，或根据需要参见使用 RECONcil 更改 VTV 存储类 以了解将 VTV 移动到 MVC 的过程。

在脱机 VTSS 中逻辑卸载 VTV

如果在 VTSS 脱机时挂载了某个 VTV 并且 MVC 上存在该 VTV 的一个副本，则 VTCS 不会将迁移的 VTV 撤回到替代 VTSS，因为该 VTV 在脱机 VTSS 上处于挂载状态。在这种情况下，您可以使用 VTVMAINT 在脱机 VTSS 中逻辑卸载该 VTV（关闭 CDS 中的“挂载”位），然后将该 VTV 撤回到替代 VTSS。VTCS 在 SMF 子类型 14 记录的 SMF14STA 字段中记录每个成功的 VTV 卸载。VTVRPT (UNAVAIL) 选项报告脱机 VTSS 中不可用的 VTV 的状态。有关更多信息，请参见《ELS Command, Control Statement, and Utility Reference》。

除非您完全确定该 VTV 的 MVC 副本（如果有）的内容与不可用的 VTV 相同，否则请勿在脱机 VTSS 中卸载不可用的 VTV！否则，您会面临将具有低版本数据的 VTV 撤回到替代 VTSS 的风险！例如，对为读取而挂载的 VTV 而言，卸载以撤回到替代 VTSS 可能是安全的。不过，对为写入而挂载的 VTV 而言，卸载可能是不安全的，因为该 VTV 已经过更新，因此 MVC 副本是低版本的。

以下过程提供了用于逻辑卸载 VTV 并从其他 VTSS 访问该 VTV 的一般步骤。

逻辑卸载 VTV 并从其他 VTSS 访问该 VTV：

1. 使用以下命令将 VTSS 更改为在 VTCS 上脱机：

VT VARY VTSS(name) OFFLINE

如果 I/O 是活动的而 VTSS 失败，则 MVS 应限制 VTD 并从 MVS 的角度卸载所有挂载的 VTV。不过，如果在 VTSS 实际卸载任何挂载的 VTV 之前 与 VTSS 的通信失败，这些 VTV 可能仍在 VTCS 上联机。因此，首先需要将 VTSS 更改为在 VTCS 上脱机。

如果 MVS 限制了 VTD 并且卸载了所有挂载的 VTV，请转至步骤 3。否则，请继续执行步骤 2。

2. 卸载 VTV（MVS 角度）。

如果 MVS 仍将该 VTV 视为在脱机 VTSS 上挂载，则无法在其他 VTSS 中的 VTD 上重新挂载该 VTV。执行以下操作之一：

- 使用 MVS UNLOAD 命令卸载 VTV。

- 使用 VARY OFFLINE 将挂载了该 VTV 的 VTD 更改为脱机，这也会卸载该 VTV。

3. 运行 VTVMAINT（指定脱机 VTSS 和您要逻辑卸载的 VTV）。

例如，要在脱机 VTSS01 上逻辑卸载 VTV VV6823、VV6825 和 VV6688，请在 JCL 中编码以下SLSIN DD 语句：

VTVMAINT DISMOUNT VTV(VV6823,VV6825,VV6688) VTSS(VTSS01)

如果存在联机 VTSS 可以访问的已卸载 VTV 的迁移副本，则现在可以使用该 VTSS 访问这些 VTV。

注意:
如果已修改脱机 VTSS 上挂载的 VTV 副本，但未进行迁移，则撤回到替代 VTSS 上的 MVC 副本不是当前的！因此，Oracle 强烈建议您不要撤回这些非当前的 MVC 副本！

提示:
当脱机 VTSS 已准备好重新联机时，Oracle 强烈建议您在运行使用 VTSS 的生产作业之前审计 VTSS。还要确保您在发出 VTSS VARY ONLINE 命令之前清除所有受限制的 VTD 情况。

管理通过跨 TapePlex 复制 (Cross-TapePlex Replication, CTR) 复制的 VTV

可以使用 VTVMAINT 更改通过 CTR 复制的 VTV 的状态，如下所示：

- 使用 VTVMAINT OWNRPLEX 更改 VTV 的所属 TapePlex。

- 使用 VTVMAINT DELEXpot 删除引用 VTV 的 TapePlex 的名称。

- 使用 VTVMAINT ADDEXpot 添加引用 VTV 的 TapePlex 的名称。

有关更多信息，请参见《ELS Disaster Recovery and Offsite Data Management Guide》。

使用 RECONcil 更改 VTV 存储类

如“更改 VTV 管理类并从 MVC 取消 VTV 的链接”中所述，可以使用 VTVMAINT 更改 VTV 的管理类，这当然也会更改其存储类。或者，如果您要将一个存储类中的 VTV 显式移动到另一个存储类，应怎么办？答案：使用 RECONcil。

在提交您的首个 RECONcil 作业（仅 SLUADMIN 实用程序）之前，确定您为何要更改 VTV 的存储类。基本上有三种原因：

- 如上，您要显式更改 VTV 的管理类/存储类。

- VTV 位于错误的介质上、位于错误的 ACS 中或同时发生这两种情况。

- ACS 在很长一段时间不可用，然后重新使其联机。在这种情况下，首先针对受影响的 VTV 更改 MGMTclas 语句上的 MIGpol 参数，以指向不同的 ACS（和介质（如果需要））。当原始 ACS 重新联机时，更改 MGMTclas 语句上的 MIGpol 参数，以指向原始 ACS，然后运行 RECONcil，指定更新的 MGMTclas（或 STORclas）语句以将 VTV 移动到原始 ACS。

请注意，该讨论仅涉及使用 RECONcil 调节 VTV 错误的存储类（错误的 MVC 介质、ACS 位置或两者）。如果您曾需要将其数据被访问的频率现在更低的 VTV 从访问中心介质（如 T9840 磁带）移动到存储中心介质（如 T9940 磁带）以及扩展存储 ACS 或异地，应怎么办？在这种情况下，通常使用 MGMTCLAS 语句的 ARCHAge/ARCHPol 参数设置归档策略，然后在超过 ARCHAge 值以及撤回和重新迁移该 VTV时会根据 ARCHPol 规范自动发生 VTV 移动。

因此，自动归档策略与自动迁移类似。这两者都会随着时间的推移而发生，如果一个或多个 VTV 确实处于错误的位置，时间正是您所不具有的。在这种情况下，请使用 RECONcil。

运行 RECONcil 作业

使用 RECONcil 更改 VTV ACS/介质：

1. 要选择要进行验证的 VTV（即，这些 VTV 是否需要调节？），您可以指定以下 RECONcil 参数之一：
STORclas－指定一个或多个存储类。在这里，RECONcil 执行以下操作：

- 查找指定的存储类的 ACS 和介质定义。

- 扫描当前位于存储类中的 MVC。MVC ACS 和介质是否与存储类定义相匹配？如果不匹配，请列出有错误的 MVC/VTV。

MVC－指定 MVC 列表或范围。RECONcil 执行以下操作：

- 确定指定的 MVC 的实际 ACS 和介质。

- 实际的 MVC ACS/介质是否与 MVC 的存储类定义相匹配？如果不匹配，请列出有错误的 MVC/VTV。

MGMTclas－指定一个或多个管理类。RECONcil 执行以下操作：

- 查找在 MGMTclas MIGpol 参数上指定的 ACS 和介质定义。

- 扫描当前位于指定的管理类中的 VTV。VTV 是否位于具有与 MGMTclas MIGpol 规范相匹配的 ACS/介质的 MVC 上？如果不是，请列出位于有错误的 MVC 上的 VTV。

VTV－VTV 列表或范围。RECONcil 执行以下操作：

- 确定指定的 VTV 的管理类。

- 查找在 MGMTclas MIGpol 参数上指定的 ACS 和介质定义。

- 扫描当前位于指定的管理类中的 VTV。VTV 是否位于具有与 MGMTclas MIGpol 规范相匹配的 ACS/介质的 MVC 上？如果不是，请列出位于有错误的 MVC 上的 VTV。

注:
正如您想象的那样，如果您不指定任何选择参数，VTCS 会验证所有 VTV。步骤 2 中介绍了更多与此相关的信息。

2. 首次运行 RECONcil 时，接受默认设置，这样会仅生成一份报告，正如您想象的那样，不会执行数据移动，仅报告为调节候选对象的 VTV。

注意:
由于调节 VTV 可能是资源密集型过程，因此 Oracle 强烈建议您首先在不使用 MOVEVTV 的情况下运行 RECONcil，然后在指定 MOVEVTV 之前根据需要调节作业。

3. 如果需要，调整 RECONcil 作业。
例如，如果在步骤 2 中运行报告，该报告看起来您将长时间进行调节，则考虑执行以下操作：

- 在非高峰处理期间运行 RECONcil，与您执行需求 MVC 空间回收类似。

- 使用 RECONcil 实用程序参数覆盖 CONFIG RECLAIM THRESHLD、MAXMVC 和 CONMVC 设置以优化调节性能。

- 在 ELAPSE 参数中以分钟为单位指定调节的最长时间。

注:
有多个影响调节的限制因素（例如 MAXMVC 和 ELAPSE）。VTCS 执行最严格的限制因素。例如，如果您运行 RECONcil 并指定 ELAPSE 为 5 个小时，MAXMVC 为 10 并且 VTCS 在一个小时内调节 10 个 MVC，则 VTCS 在 ELAPSE 值失效之前终止调节。

- 还提供了 RECONcil POLICYdd 选项，该选项在 ARCHive 实用程序上也可用，可以是有用的诊断工具。POLICYdd（强制仅生成一份报告）指向包含一组替代 MGMTclas 语句的文件。

提示:
这本质上是一个有价值的“假设分析”工具，即如果您更改了更改 VTV 管理类并从 MVC 取消 VTV 的链接 中介绍的某些 VTV 管理类（包括其存储类规范），然后运行 RECONcil，这看起来是什么样的？现在，在您实际更改 VTV 的管理类之前，就可以得到答案。

注:
除非您指定 POLICYdd 参数，否则 VTCS 和 HSC 必须是活动的才能处理 RECONcil 请求。

4. 您已完成了所需的所有“假设分析”、微调和非高峰安排。
现在是时间实施了。下面显示了运行 RECONcil 的示例 JCL：

- 调节管理类 LOCALPROD1 和 LOCALPROD2 中的 VTV。

- 对于 RECONcil 作业，将 MAXMVC 设置为 60，CONMVC 设置为 8，ELAPSE 设置为 60。

//RECONCIL    EXEC PGM=SLUADMIN
//STEPLIBDD DSN=hlq.SEALINK,DISP=SHR
//SLSPRINTDD SYSOUT=*
//SLSINDD *
RECON MGMT (LOCALPROD1,LOCALPROD2) MAXMVC(60) CONMVC(8)
ELAPSE(360) MOVEVTV

当然，您会获取一份操作后的 RECONcil 报告，该报告会告诉您处理过程是否顺利，因此您可以重新调整并根据需要重新运行该过程。

使用 FOR_LOSTMVC 恢复 VTV

可以使用 LOGUTIL FOR_LOSTMVC 语句恢复驻留在丢失或损坏的 MVC 上的 VTV。LOGUTIL FOR_LOSTMVC 语句是如何工作的，您如何最有效地使用该语句？

FOR_LOSTMVC 实用程序扫描 CDS 和日志文件结构（如有必要）以确定丢失或损坏的 MVC（您指定其卷序列号）上的所有 VTV，并确定从替代 VTV 副本进行恢复的方法（如表 5-2 中所述）。LOGUTIL FOR_LOSTMVC 生成一份报告，该报告显示丢失或损坏的 MVC 上存在的所有 VTV 和对其进行恢复的方法，以及每个丢失或损坏的 MVC 的摘要信息。

表 5-2 替代 VTV 副本和恢复过程

替代 VTV 副本类别

恢复过程

类别 1：当前驻留在 VTSS 上。

从驻留的副本进行恢复。如果您请求了恢复命令，将生成 VTVMAINT ULINKMVC 命令以从丢失或损坏的 MVC 中取消 VTV 的链接。

类别 2：当前链接到一个或多个替代 MVC 副本。

基于四个因素从最佳替代 MVC 进行恢复：

- MVC 的 CDS 中是否存在 MVC 记录？

- MVC 是否处于丢失状态？

- MVC 是否处于中断状态？

- MVC 上是否发生了数据检查？

如果您请求了恢复命令，将生成 VTVMAINT ULINKMVC 和 RECALL 命令以从丢失或损坏的 MVC 中取消 VTV 的链接并撤回 MVC。

类别 3：已进行跨 TapePlex 复制。

使用遇到的第一个包含 VTV 副本的远程 TapePlex 恢复 VTV。

如果您请求了恢复命令，将生成 EEXPORT ULINKMVC 命令。必须从 VTV 当前驻留在其中的远程 TapePlex 运行这些命令。COMMANDS 数据集中的注释显示必须运行这些命令的 TapePlex。该命令从丢失或损坏的 MVC 中取消 VTV 的链接并将该 VTV 重新跨 TapePlex 复制到本地 TapePlex 中。

类别 4：以前链接到一个或多个可能仍包含 VTV 数据的 MVC 副本。

选择以前链接的 MVC 之一作为恢复 MVC。在日志文件中找到了这些 MVC 副本，这些 MVC 副本可能仍包含 VTV 的副本。必须审计选择的恢复 MVC。根据与替代 MVC 相同的因素，选择用于执行恢复操作的以前链接的最佳 MVC 副本。

如果您请求了恢复命令，将生成 AUDIT 命令以审计 MVC 并尝试将其链接到该 VTV。

针对 AUDIT MVC 生成 MVCMAINT READONLY(ON) 命令。

类别 5：不可恢复。

不可恢复，副本仅存在于丢失或损坏的 MVC 上。

注:
如果您请求了恢复命令，还将针对类别 1、2、3 和 4 生成 MVCMAINT 命令。这些语句将丢失或损坏的 MVC 标记为只读和中断，以便不再选择这些 MVC 进行撤回或迁移。

FOR_LOSTMVC 恢复过程

注:
在该过程中，JCL 示例不针对 CDS 副本显示 DD 语句，如果 HSC 是活动的并且您希望在运行 LOGUTIL 的系统上使用活动的 CDS，这些 CDS 副本是有效的。否则，您必须针对 CDS 副本指定 DD 语句。

使用 FOR_LOSTMVC 恢复 VTV：

1. 首先，仅使用丢失或损坏的 MVC 的卷序列号运行 LOGUTIL FOR_LOSTMVC 命令。

例如，以下示例显示：

- 日志记录数据集为 LOGIN。

注:
可以使用指定的伪 LOGDD 运行 LOGUTIL FOR_LOSTMVC，以允许在尚未激活 CDS 日志记录的系统上进行恢复。恢复限制为 CDS 中的数据，但如果所有 VTV 都驻留在替代 MVC 副本上或通过跨磁带复制导出，则恢复仍很有用。

- 损坏的 MVC 的卷序列号为 DMV509。

- 恢复命令记录在数据集 RECVCMD 中。

//JOBLOGR job (account),programmer,REGION=1024k
//S1 EXEC PGM=SLUADMIN,PARM=MIXED
//STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
//LOGIN        DD DSN=FEDB.VSMLMULT.LOGFILE.OFFLOAD(-2),DISP=OLD
//             DD DSN=FEDB.VSMLMULT.LOGFILE.OFFLOAD(-1),DISP=OLD
//             DD DSN=FEDB.VSMLMULT.LOGFILE.OFFLOAD(0),DISP=OLD
//RECVCMD      DD DSN=FEDB.VSMLMULT.RECVCMD,DISP=(CATLG,DELETE),
//                UNIT=SYSDA,SPACE=(CYL,(1,1),RLSE),
//                DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920)
//SLSPRINT DD SYSOUT=*
//SLSIN DD *
LOGUTIL LOGDD(LOGIN)
FOR_LOSTMVC MVC(DMV509) COMMANDS(RECVCMD)

2. 查看步骤 1 中的 LOGUTIL FOR_LOSTMVC 报告。

选择您要恢复的 VTV 并运行 LOGUTIL FOR_LOSTMVC（指定您要从丢失或损坏的 MVC 中恢复的 VTV）。例如：

//JOBLOGR job (account),programmer,REGION=1024k
//S1 EXEC PGM=SLUADMIN,PARM=MIXED
//STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
//LOGIN        DD DSN=FEDB.VSMLMULT.LOGFILE.OFFLOAD(-2),DISP=OLD
//             DD DSN=FEDB.VSMLMULT.LOGFILE.OFFLOAD(-1),DISP=OLD
//             DD DSN=FEDB.VSMLMULT.LOGFILE.OFFLOAD(0),DISP=OLD
//RECVCMD      DD DSN=FEDB.VSMLMULT.RECVCMD,DISP=(CATLG,DELETE),
//                UNIT=SYSDA,SPACE=(CYL,(1,1),RLSE),
//                DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920)
//SLSPRINT DD SYSOUT=*
//SLSIN DD *
LOGUTIL LOGDD(LOGIN)
FOR_LOSTMVC MVC(DMV509) VTV(DX009) COMMANDS(RECVCMD)

注:
如果您指定了未在丢失或损坏的 MVC 上的 VTV，将忽略该 VTV。

如果您要恢复损坏的 MVC 上所有指定的 VTV，请继续执行步骤 3。

3. 要恢复指定的 VTV，请运行在步骤 2 中指定的恢复数据集中的命令。

注:

- 应在运行 FOR_LOSTMVC 之后尽快运行恢复数据集中的命令（使用标准 SLUADMIN JCL），以确保其准确性。

- Oracle 建议您按以下顺序运行 COMMANDS 文件中的恢复命令：

1. 所有 EEXPORT ULINKMVC 命令。

2. 所有 MVCMAINT READONLY(ON) 命令。

3. 所有 AUDIT 命令。

4. 如果存在 EEXPORT ULINKMVC 或 AUDIT 命令，则重新运行 FOR_LOSTMVC。执行新的运行之后，新生成的 COMMANDS 文件中应没有 EEXPORT 或 AUDIT 命令。如果有这些命令，则返回至步骤 a。

5. 所有 MVCMAINT READONLY(ON) ERROR(ON) 命令。

6. 所有 ULINKMVC 命令。

7. 所有 RECALL 命令。

8. RECONcil 实用程序。
会为所有指定的丢失或损坏的 MVC（这些 MVC 存在于 CDS 中并至少具有一个合格的 VTV）生成 MVCMAINT 命令。MVCMAINT 命令针对丢失或损坏的 MVC 将只读和错误/中断位设置为打开，以防止分配这些 MVC 以进行撤回或迁移。每个 MVCMAINT 命令上最多包含大约 3000 个 MVC。

4. 运行 RECONcil 实用程序以确保为每个 VTV 创建正确数量的 MVC 副本。
例如：

//JOBLOGR job (account),programmer,REGION=1024k
//S1 EXEC PGM=SLUADMIN,PARM=MIXED
//STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
//LOGIN        DD DSN=FEDB.VSMLMULT.LOGFILE.OFFLOAD(-2),DISP=OLD
//             DD DSN=FEDB.VSMLMULT.LOGFILE.OFFLOAD(-1),DISP=OLD
//             DD DSN=FEDB.VSMLMULT.LOGFILE.OFFLOAD(0),DISP=OLD
//RECVCMD      DD DSN=FEDB.VSMLMULT.RECVCMD,DISP=(CATLG,DELETE),
//                UNIT=SYSDA,SPACE=(CYL,(1,1),RLSE),
//                DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920)
//SLSPRINT DD SYSOUT=*
//SLSIN DD *
RECONCIL VTV(DX009)

6 使用管理类和存储类的前沿解决方案

可以使用此部分创建 VTCS 管理类和存储类并执行与其关联的常见任务。

VTCS CDS 级别

前沿解决方案的关键点是知道您的 CDS VTCS 级别及其可以做什么以及不可以做什么。表 6-1介绍了 CDS 级别及其启用的功能。

表 6-1 支持的 VTCS 版本的 CDS 级别

VTCS CDS 级别：

VTCS/NCS 版本：

增强功能：

E

6.0、6.1、6.2、7.0

- 4 MVC 副本

- 800 Mb VTV

F

6.1、6.2、7.0、7.1、7.2、7.3

- 近持续操作 (Near Continuous Operation, NCO)

- 双向群集

- 改进了 CDS I/O 性能－减少了管理虚拟暂存子池所需的 I/O

G

6.2、7.0、7.1、7.2、7.3

- 400Mb/800Mb/2Gb/4Gb VTV

- 标准/大型 VTV 页面

- 每 MVC 65000 VTV

H

7.1、7.2、7.3

- 动态回收

- 自主设备支持

I

7.3

- VSM 6 32 GB VTV 支持

什么是管理类和存储类？

VTCS 管理类和存储类是许多前沿实现的构建块，可执行以下任务：

- VTCS 管理类指定 VTCS 管理 VTV 的方式。HSC MGMTclas 控制语句用于定义管理类及其属性。例如，MGMTclas 语句的 DELSCR 参数指定 VTCS 是否从 VTSS 中删除已暂存的 VTV。

- 管理类也可以指向 VTCS 存储类。VTCS 存储类指定迁移的 VTV 所驻留的位置。HSC STORclas 控制语句用于定义存储类及其属性。例如：

MGMT NAME(PAYROLL) MIGPOL(LOCAC,REMAC)
STORCLAS NAME(LOCAC) ACS(00) MEDIA(STK1R)
STORCLAS NAME(REMAC) ACS(01) MEDIA(STK2P,ZCART)

该管理类和存储类组合表示：“对于管理类 PAYROLL，迁移以双工方式执行，以分隔本地 ACS 和远程 ACS 中的 MVC。在本地 ACS 中，将其放在 9840 介质中，以便您可以在需要的时候立即将其取回。在远程 ACS 中，首选 9940（而非 ZCART）介质，但一定将其放在那里的深存储中。”

首先阅读“创建和使用 VTCS 管理类和存储类：基础知识”，这是您可以针对任何业务需求调整的基本过程。接下来，继续阅读“可以通过管理类和存储类实现的前沿技术”。将该节视为一个库，您可以在其中查看各种选项，然后选择最适合您的选项。

创建和使用 VTCS 管理类和存储类：基础知识

您多次看到该模式 (TAPEREQ > POLICY > MGMTclas > STORclas)，因此请了解该模式，因为该模式是“可以通过管理类和存储类实现的前沿技术”中所有信息的基础。

创建和使用 VSM 管理类和存储类：

1. 确定包含 STORclas 和 MGMTclas 语句的定义数据集。
MGMTclas 和 STORclas 语句必须驻留在用于交叉验证的同一数据集中。

2. 通过 STORclas 控制语句定义存储类。

3. 根据需要，使用 MIGRSEL 和 MIGRVTV 语句调整迁移策略。

4. 使用 MGMTclas 控制语句定义管理类。

请注意，MGMTclas 控制语句在各个参数上指定存储类。

5. 使用 HSC MGMTDEF 命令装入控制语句。

6. 在 SMC POLICY 命令上指定磁带策略。

7. 在下面其中一项上为 VTCS 指定策略名称：

- SMC TAPEREQ 语句。

- 您写入 StorageTek DFSMS 接口的 SMS 例程。

维护管理类和存储类

请注意以下事项：

- 始终使用 SMC POLICY 命令为挂载分配管理类。

- 可以使用 TAPEREQ 语句或 SMS 例程指定策略。

- 使用 POLICY VALIDATE 确保 SMC POLICY 语句都引用 VALID MGMTCLAS 名称。

- 可以使用 VTVMAINT 实用程序更改 VTV 的管理类。还请注意，尽管您无法使用 VTVMAINT 直接更改 VTV 的存储类，但可以使用 VTVMAINT 更改 VTV 的管理类，该类可以引用不同的存储类。

- 仅使用所需的最少存储类来定义要实现的策略。过多的存储类可能会由于产生的 MVC 挂载/卸载开销而影响 VSM 性能。此外，MVC 只能在单个存储类中包含 VTV，因此过多的存储类可能会导致不能充分利用 MVC 空间。

- 如果您决定删除某个管理类定义，请运行 VTV 报告以确保该管理类不再分配给任何 VTV，否则会产生不可预测的结果！

可以通过管理类和存储类实现的前沿技术

以下不是详尽列表，仅是可以使用管理类和存储类执行的最常见任务：

- 针对 MVC 介质首选项使用 STORclas MEDIA 参数。MVC 介质首选项有默认设置，但您可以通过任何需要的方式对其进行调整。有关更多信息，请参见管理 HSC 和 VTCS。

- “在共享 MVC 上分组多个工作负荷”。这曾是我们的引导性示例，如果您的公司拥有数据中心并且您需要通过以下方法对您的可用资源进行优化，则该示例现在也是一个很好的示例：

- 以双工方式处理关键数据，以分隔本地 ACS 和远程 ACS 中的 MVC。在本地 ACS 中，将其放在 9840 介质中，以便您可以在需要的时候立即将其取回。在远程 ACS 中，针对高容量介质上的深存储首选 9940（而非 ZCART）介质。

- 为两个关键作业流（薪资和记帐）提供对这些管理/存储类的访问权限。结果：在本地和远程对您的所有薪资和记帐数据进行双工处理，并在存储类规范中介绍的相应介质的同一组 MVC 上对其进行分组。

- 生产数据也很关键，但您希望将其存放在一组与用于薪资和记帐数据的 MVC 不同的 MVC 上。没问题，创建另一个用于生产数据的管理类/存储类组合即可。

- “在单独的 MVC 集上分离各个工作负荷”。您们所有服务组都应仔细了解这一点，因为可能会经常使用它。是不是很希望为每个客户提供其自己的用于记帐/安全目的的一组资源？关键在于分离工作负荷。

- “归档数据”。在该方案中，仅可以使用 VTCS 模拟 StorageTek 自动化磁带/虚拟磁带环境中的 HSM。即，可以使用 MGMTclas 语句的 ARCHAge 和 ARCHPol 参数在管理类中为 VTV 设置归档策略。
信息生命周期管理 (Information Lifecycle Management, ILM) 是一种 StorageTek 存储管理策略，所采用的理念是应将数据存储在其重要性与工商企业及其重复使用模式相匹配的介质上，这是其中心概念。活动、重要的数据存储在快速访问介质上并具有多个副本，而将不活动、不那么重要的数据归档至高容量、较便宜的介质。将该过程自动化是管理数据存储的最具成本效益的方法。归档通过让您归档不活动的数据来实现 ILM。使用 VTCS 归档，可以将 VTV 移动至其他介质（例如，从快速访问 9840 介质到高容量 9940 介质）和其他位置（例如，从本地 ACS 到远程 ACS，以实现弹出/保管 (vault) 操作）。有关详细信息，请参见“归档数据”。

- “调节 VTV 介质和位置”。将归档视作主动的行动。在 ILM 循环的开始将数据存放在正确的介质上，然后在数据变旧之后将其移动到其他介质。如果数据位于错误的介质上会怎样？答案：使用 RECONcil 实用程序将其从一个存储类移动到另一个存储类。

- 控制 VTV 迁移。ELS 允许对 VTV 迁移进行很精细的控制，包括从 VTSS 缓冲区删除暂存 VTV、指定当前迁移延迟间隔以及指定最大 VTV 驻留间隔。有关更多信息，请参见 Configuring HSC and VTCS 和《ELS Disaster Recovery and Offsite Data Management Guide》。

在共享 MVC 上分组多个工作负荷

可以使用存储类和管理类在一组共享 MVC 上分组多个工作负荷。例如，下面的 STORclas 语句定义存储类 LOC1、LOC2、REM1 和 REM2。

STORCLAS NAME(LOC1) ACS(00) MEDIA(STK1R)
STORCLAS NAME(LOC2) ACS(00) MEDIA(STK1R)
STORCLAS NAME(REM1) ACS(01) MEDIA(STK2P,ZCART)
STORCLAS NAME(REM2) ACS(01) MEDIA(STK2P,ZCART)

- 管理类 PAY 和 ACCOUNT 都在 MIGPOL 参数上指定 LOC1 和 REM1 存储类。因此，PAY 和 ACCOUNT 中的 VTV 在由存储类 LOC1 和 REM1 定义的 MVC 上进行双工处理和分组。

- 管理类 PROD 在 MIGPOL 参数上指定 LOC2 和 REM2 存储类。因此，PROD 中的 VTV 在由存储类 LOC2 和 REM2（独立于 PAY 和 ACCOUNT 的存储类）定义的 MVC 上进行双工处理和分组。

MGMT NAME(PAY) MIGPOL(LOC1,REM1)
MGMT NAME(ACCOUNT) MIGPOL(LOC1,REM1)
MGMT NAME(PROD) MIGPOL(LOC2,REM2)

下面定义了指定虚拟介质和分别分配管理类 PAY、ACCOUNT 和 PROD 的磁带策略。

POLICY NAME (PPAY) MEDIA(VIRTUAL) MGMT(PAY)
POLICY NAME (PACCOUNT) MEDIA(VIRTUAL) MGMT(ACCOUNT)
POLICY NAME (PPROD) MEDIA(VIRTUAL) MGMT(PROD)

最后，该示例包含按如下方式分配策略的 TAPEREQ 语句：

- 为具有 PAYROLL.** 限定符的数据集分配策略 PPAY。

- 为具有 ACCOUNTS.** 限定符的数据集分配策略 PACCOUNT。

- 为所有其他数据集分配策略 PPROD。

TAPEREQ DSN(PAYROLL.**) POLICY(PPAY)
TAPEREQ DSN(ACCOUNTS.**) POLICY(PACCOUNT)
TAPEREQ DSN(**) MEDIA(VIRTUAL) POLICY(PPROD)

将某个 MVC 用于存储类之后，在其包含当前 VTV 副本时，该 MVC 将一直独占分配给该存储类。即使在 MVC 经历回收处理过程之后，MVC 上的该 VTV 分组仍会保留。

注意:
您无法使用默认存储类（上一个写入 MVC 以进行回收或迁移的 VTSS 的名称）分组工作负荷。

在单独的 MVC 集上分离各个工作负荷

可以使用存储类和管理类在单独的 MVC 集上分离各个工作负荷。例如，下面的 STORclas 语句定义存储类 LOC、CUSTA、CUSTB1 和 CUSTB2。

STORCLAS NAME(LOC) ACS(00) MEDIA(STK1R)
STORCLAS NAME(CUSTA) ACS(00) MEDIA(STK1R)
STORCLAS NAME(CUSTB1) ACS(00) MEDIA(STK1R)
STORCLAS NAME(CUSTB2) ACS(01) MEDIA(STK2P)

下面的示例定义以下管理类：

- 管理类 CUSTA 在 MIGPOL 参数上指定 CUSTA 存储类。VTCS 以单工方式将该管理类中的 VTV 仅传输至 CUSTA 存储类（本地 ACS 中的 9840 介质），因为这是该客户所需要的。

- 客户 B 需要更多保护，即以双工方式传输到本地 ACS 和远程 ACS，因此管理类 CUSTB 同时指向 CUSTB1 和 CUSTB2 存储类。

- 最后，本地 ACS/9840 介质非常适合您自己的生产数据，因此这正是管理类 PROD 所执行的操作。您还可能执行的操作是为该管理类设置归档策略（请参见归档数据），因此您最终可以将其移动到深存储中。

MGMT NAME(CUSTA) MIGPOL(CUSTA)
MGMT NAME(CUSTB) MIGPOL(CUSTB1,CUSTB2)
MGMT NAME(PROD) MIGPOL(LOC)

该示例定义了指定虚拟介质和分别分配管理类 PAY、ACCOUNT 和 PROD 的磁带策略。

POLICY NAME (PCUSTA) MEDIA(VIRTUAL) MGMT(CUSTA)
POLICY NAME (PCUSTB) MEDIA(VIRTUAL) MGMT(CUSTB)
POLICY NAME (PPROD) MEDIA(VIRTUAL) MGMT(PROD)

最后，下面的示例显示了对应的 TAPEREQ 语句和策略分配：

- 为具有 HLQ CUSTA 的数据集分配策略 PCUSTA。

- 为具有 HLQ CUSTB 的数据集分配策略 PCUSTB。

- 为所有其他数据集分配策略 PPROD。

TAPEREQ DSN(CUSTA.**) POLICY(PCUSTA)
TAPEREQ DSN(CUSTB.**) POLICY(PCUSTB)
TAPEREQ DSN(**) POLICY(PPROD)

注意:
您无法使用默认存储类（上一个写入 MVC 以进行回收或迁移的 VTSS 的名称）分离工作负荷。

归档数据

可以使用 MGMTclas 语句的 ARCHAge 和 ARCHPol 参数在管理类中为 VTV 设置归档策略。当 VTV 的使用时间超过 ARCHAge 值时，VTV 有资格针对在 ARCHPol 参数上指定的存储类进行归档。实际的归档以下面两种方式之一发生：

- 下次撤回和重新迁移 VTV 时自动发生。

- 使用 ARCHIve 实用程序，按需发生。

针对此操作的“假设分析”可能是为了确保符合性。事实证明，您具有必须保留 7 年以便进行外部审计的数据，但您的内部审计员可能也要每年查看该数据一次。解决方案如下所示：

TAPEREQ DSN(COMPLY.**) POLICY(PCOMPLY)
POLICY NAME(PCOMPLY) MEDIA(VIRTUAL) MGMT(COMPLY)
MGMT NAME(COMPLY) IMMMED(DELETE) MIGPOL(LOC1) -
ARCHAGE(365) ARCHPOL(REMDEEP)
STOR NAME(LOC1) ACS(00) MEDIA(STK1R)
STOR NAME(REMDEEP) ACS(01) MEDIA(STK2P)

对于该方案，会发生以下事件：

- 所有符合性数据立即迁移至本地 ACS 并在 9840 介质上分组。迁移成功后，从 VTSS 中删除 VTV。该数据的“归档寿命”为 365 天，以防内部审计员下一年需要查看该数据。

- 之后，该数据符合归档（迁移）至远程 ACS 中的 9940 介质的条件。

结果：满足符合性、成本最合理且优化了虚拟资源。

归档使用说明

如上所述，您可以使用两种方法进行实际归档：等待撤回和迁移 VTV，或使用 ARCHIve 实用程序按需执行。等待迁移的问题在于该数据不大可能受到访问。很有可能的是，归档 VTV 的最佳方式是定期或按需运行 ARCHIve 实用程序。

以下是有关使用 ARCHive 实用程序的一些提示：

- 如果选择要归档的 VTV，您可以指定以下参数之一：

- MGMTclas，用于归档指定的存储类（由指定的管理类的 ARCHAge/ARCHPol 参数进行指定）中的 VTV。

- VTV，用于归档这些 VTV 的管理类的一列或一系列 VTV。

注:
如果您不为 MGMTclas 或 VTV 指定值，VTCS 将扫描所有 VTV。您可能应通过管理类开展业务，但您可以看到需要通过 VTV 卷序列号或所有 VTV 开展业务的情况。

- 通过不指定 MOVEVTV 参数，可以仅获取一份报告，该报告是有关您使用归档请求处理了多少 VTV、MVC 和总 MB 的有价值的“假设分析”情况。因此，Oracle 强烈建议您首先在不使用 MOVEVTV 的情况下运行 ARCHIve，然后在指定 MOVEVTV 之前根据需要调节作业。有关更多信息，请参见《ELS Command, Control Statement, and Utility Reference》。

- 由于需求归档可能是资源密集型过程，因此通常在非高峰处理期间运行 ARCHIve。还可以使用 ARCHIve 实用程序覆盖 CONFIG RECLAIM THRESHLD、MAXMVC 和 CONMVC 设置以优化归档性能。还可以在 ELAPSE 参数中以分钟为单位指定归档的最长时间。请注意，有多个影响归档的限制因素（例如 MAXMVC 和 ELAPSE）。VTCS 执行最严格的限制因素。例如，如果您运行 ARCHIve 并指定 ELAPSE 为 5 个小时，MAXMVC 为 10 并且 VTCS 在一个小时内归档 10 个 MVC，则 VTCS 在 ELAPSE 值失效之前终止归档。

- 除非您指定 POLICYdd 参数，否则 VTCS 和 HSC 必须是活动的才能处理 ARCHIve 请求。POLICYdd（执行“仅报告”模式）还提供增强的“假设分析”功能。可以使用不同的归档策略（不同的 ARCHAge 和 ARCHPol 值）创建一个或多个替代 MGMTclas 语句，并使用 POLICYdd 查看每个方案的归档策略和资源使用情况。

- RECONcil 实用程序与 ARCHive 相似，因为 RECONcil 也将 VTV 从一个存储类移动到另一个存储类（即，将其从一个 MVC 介质移动到另一个 MVC 介质和/或将其从一个 ACS 移动到另一个 ACS）。将 ARCHive 视为主动方法并将 RECONcil 视为反应方法，您将看到二者的差异，如“调节 VTV 介质和位置”中所述。

如果 365 天已到，并且内部审计员未露面，则说明归档的时间到了。下面的示例显示了按如下方式运行 ARCHive 的 JCL：

- 将管理类 COMPLY 中的 VTV 归档至远程 ACS 中的 9940 介质。

- 对于 ARCHive 作业，将 MAXMVC 设置为 60，CONMVC 设置为 8，ELAPSE 设置为 60。

//ARCHIVE     EXEC PGM=SLUADMIN
//STEPLIBDD DSN=hlq.SEALINK,DISP=SHR //SLSPRINTDD SYSOUT=*
//SLSINDD *
ARCH MGMT(COMPLY) MAXMVC(60) CONMVC(8) ELAPSE(360) MOVEVTV

提示:
MOVEVTV 参数还为您提供一个报告，因此您可以查看您的执行情况。如果您的调优参数未将您要归档的所有内容都进行归档，则调节您的作业并重新运行。

调节 VTV 介质和位置

使用 RECONcil 调节 VTV 介质和位置基本意味着将 VTV 从一个存储类移动到另一个存储类。这与使用 ARCHive 归档数据相似吗？就数据移动而言，是的。就您执行该操作的原因而言，这是反应移动，而不是主动移动。通常在以下情况下调节 VTV：

- VTV 位于错误的介质上、位于错误的 ACS 中或同时发生这两种情况。

- ACS 在很长一段时间不可用，然后重新使其联机。在这种情况下，首先针对受影响的 VTV 更改 MGMTclas 语句上的 MIGpol 参数，以指向不同的 ACS（和介质（如果需要））。当原始 ACS 重新联机时，更改 MGMTclas 语句上的 MIGpol 参数，以指向原始 ACS，然后运行 RECONcil，指定更新的 MGMTclas（或 STORclas）语句以将 VTV 移动到原始 ACS。

有关调节过程的详细信息，请参见“RECONcil 示例”。

RECONcil 示例

如果您希望调节位于错误介质和位于错误 ACS 中的 VTV，您如何了解该情况？按照管理 HSC 和 VTCS 中所述每周仔细阅读 VTV 报告一次。这周，您注意到生产 (PROD) 管理类中的所有 VTV 都位于错误的介质上和位于错误的 ACS 中。存储类看起来也不像是正确的存储类。

这是怎么发生的？您想起您执行过以下命令：

STORCLAS NAME(LOC) ACS(00) MEDIA(STK1R)
STORCLAS NAME(CUSTA) ACS(00) MEDIA(STK1R)
STORCLAS NAME(CUSTB1) ACS(00) MEDIA(STK1R)
STORCLAS NAME(CUSTB2) ACS(01) MEDIA(STK2P
MGMT NAME(CUSTA) MIGPOL(CUSTA)
MGMT NAME(CUSTB) MIGPOL(CUSTB1,CUSTB2)
MGMT NAME(PROD) MIGPOL(LOC)

根据该示例，管理类 PROD 中的所有 VTV 本来应位于本地 ACS 中的 9840 介质上，但实际上这些 VTV 全部位于远程 ACS 中的 9940 介质上，就像是这些 VTV 位于错误的存储类中。

经过更仔细的检查，该生产管理类实际如下所示：

MGMT NAME(PROD) MIGPOL(CUSTA)

出于另一个原因，这是不好的，因为这意味着生产数据混合驻留在应专供您的一个客户使用的相同 MVC 上。是时候运行 RECONcil 了，对吗？或许不行。RECONcil 仅将 VTV 移出错误的存储类，现在，根据您编写管理类语句的方式，CUSTA 是正确的存储类！在运行 RECONcil 之前，您必须返回以修复管理类，如下所示：

MGMT NAME(PROD) MIGPOL(LOC)

现在您可以按以下所示运行 RECONcil：

- 将管理类 PROD 中的 VTV 移动到存储类 LOC 中（更新的）正确的位置。

- 对于 RECONcil 作业，将 MAXMVC 设置为 60，CONMVC 设置为 8，ELAPSE 设置为 60。

//RECONCIL    EXEC PGM=SLUADMIN
//STEPLIBDD DSN=hlq.SEALINK,DISP=SHR
//SLSPRINTDD SYSOUT=*
//SLSINDD *
RECON MGMT(PROD) MAXMVC(60)
CONMVC(8) ELAPSE(360) MOVEVTV

RECONcil 使用说明

要选择要调节的 VTV，您可以指定以下参数之一：

- MGMTclas，用于将 VTV 移动到由 MIGpol 参数指定的存储类中。这正是在“RECONcil 示例”中执行的操作。管理类指向错误的存储类，使其指向正确的存储类，针对更新的管理类运行 RECONcil。

- STORclas，用于将 VTV 移动到指定的存储类中。当 ACS 在很长一段时间不可用时，您可能会使用该参数。

- MVC，用于调节一列或一系列 MVC 上的 VTV。将 VTV 移动到由 VTV 的 MGMTclas 语句的 MIGpol 参数指定的存储类中。您可以首先使用该参数，后跟 VTV 选项。

- VTV，用于调节一列或一系列 VTV。将 VTV 移动到由 VTV 的管理类的 MIGpol 参数指定的存储类中。

注:

- 如果您不为 MGMTclas 或 VTV 指定值，VTCS 将扫描所有 VTV。

- 由于调节 VTV 可能是资源密集型过程，因此通常在非高峰处理期间运行 RECONcil。还可以使用 RECONcil 实用程序覆盖 CONFIG RECLAIM THRESHLD、MAXMVC 和 CONMVC 设置以优化调节性能。还可以在 ELAPSE 参数中以分钟为单位指定调节的最长时间。
请注意，有多个影响调节的限制因素（例如 MAXMVC 和 ELAPSE）。VTCS 执行最严格的限制因素。例如，如果您运行 RECONcil 并指定 ELAPSE 为 5 个小时，MAXMVC 为 10 并且 VTCS 在一个小时内调节 10 个 MVC，则 VTCS 在 ELAPSE 值失效之前终止调节。

- 通过不指定 MOVEVTV 参数，可以仅获取一份报告，该报告是有关您使用调节请求处理了多少 VTV、MVC 和总 MB 的有价值的“假设分析”情况。因此，Oracle 强烈建议您首先在不使用 MOVEVTV 的情况下运行 RECONcil，然后在指定 MOVEVTV 之前根据需要调节作业。
有关更多信息，请参见《ELS Command, Control Statement, and Utility Reference》。

- 除非您指定 POLICYdd 参数，否则 VTCS 和 HSC 必须是活动的才能处理 RECONcil 请求。POLICYdd（执行“仅报告”模式）还提供增强的“假设分析”功能。可以使用不同的调节方案（不同的 MIGpol 值）创建一个或多个替代 MGMTclas 语句，并使用 POLICYdd 查看每个方案的调节的 VTV 和资源使用情况。

- VTCS 和 HSC 必须是活动的才能处理 RECONcil 请求。

是否使用命名 MVC 池？

命名 MVC 池是适用于所有服务组的作业的正确工具：您可以使用命名 MVC 池提供命名池中 MVC 的应用程序所有权。例如，某个服务组可以在其客户具有购买并拥有一组 MVC 的法律要求时选择使用命名 MVC 池。

不过，如果您对命名 MVC 池没有特定的要求，但确实希望对 MVC 上的客户数据进行分组或隔离，Oracle 强烈建议您不要使用命名 MVC 池。请使用以下各节中介绍的方法：

- 在共享 MVC 上分组多个工作负荷

- “在单独的 MVC 集上分离各个工作负荷”

以上各节介绍了如何使用存储类对从系统范围内的 MVC 池中选择的 MVC 上的数据进行分组或隔离。在这种情况下，您仅需要管理单个 MVC 池。

如果创建命名 MVC 池，则必须显式管理每个池，其中包括确保每个池具有足够的空闲 MVC 和可用的 MVC 空间，还可能包括使用 MVCPool MVCFREE、MAXMVC、THRESH 和 START 参数为每个池设置不同的策略。

如果您选择使用命名 MVC 池，请转至“创建和使用命名 MVC 池”。

创建和使用命名 MVC 池

要创建和使用命名 MVC 池，请执行以下操作：

1. 修改现有的 POOLPARM 语句并/或添加其他语句以定义命名 MVC 池。
如果您不指定 POOLPARM NAME 参数，VTCS 不会创建命名 MVC 子池并为默认池 (DEFAULTPOOL) 分配指定的卷。无法使用保留名称 DEFAULTPOOL 和 ALL 创建命名 MVC 池。

可以使用可选的 MVCFREE、MAXMVC、THRESH 和 START 参数为覆盖在 CONFIG 上指定的全局值的命名 MVC 池指定值。

例如，以下 VOLPARM 和 POOLPARM 语句定义一系列要使用覆盖 CONFIG 全局值的回收参数值针对命名池 SYS1MVCT1 进行加密的 T10000 完整卷：

VOLPARM VOLSER(T10K2000-T10K2999)MEDIA(T10000T1)RECTECH(T1AE)
POOLPARM NAME(SYS1MVCT1)TYPE(MVC)MVCFREE(40) MAXMVC(4) THRESH(60) START(70)

2. 运行 SET VOLPARM 以应用卷和池定义：

SET VOLPARM APPLY(YES)

3. 定义存储类并将其与命名 MVC 池相关联。

例如，以下 STORclas 语句定义 STORCL1 并将该存储类与命名 MVC 池 CUST1POOL 相关联。为存储类 STORC1 使用 MVC 的请求会导致仅从命名池 SYS1MVCT1 中选择 MVC。

STOR NAME(STORCL1) MEDIA(T!AE) MVCPOOL(SYS1MVCT1)

4. 创建用于指定您在步骤 3 中定义的存储类的管理类并在将数据路由到命名 MVC 池时指定这些管理类。
有关更多信息，请参见“创建和使用 VTCS 管理类和存储类：基础知识”。

5. 在下面任何一项上为 VTCS 指定管理类名称：

- SMC TAPEREQ 语句。

- 您写入 StorageTek DFSMS 接口的 SMS 例程。有关更多信息，请参见 SMC Configuration and Administration。

7 查找和修复 VTCS 问题

本部分介绍出现错误时应执行的操作。您已经按照“使用 VTCS 系统信息显示板”中所述完成了每日任务并按“从备份副本恢复 CDS”中所述完成了按需任务，但仍存在问题。此处介绍了在出现问题时如何使 VTCS 重新正常工作，首先介绍“修复常见问题”中您可能会遇到的简单问题。

注:
恢复 CDS 主要是 HSC 任务，但也具有 VSM 端。有关更多信息，请参见“使用 PITCOPY 备份 CDS”。

修复常见问题

在此上下文中，“常见”仅意味着尽管您付出最大的努力也可能出错。找出故障的方法通常是进行回顾，重新查看 VTCS 系统信息显示板，修复通常位于按需任务中。

在开始 VTV 挂载性能问题之前，这些是您通常可以自己诊断和修复的常见问题。不过，在作出合理的努力之后，如果仍未解决问题，应要求客户支持提供帮助。仍有一些工具未在此处进行介绍（如跟踪），因为您基本上仅需要在 Oracle 服务人员的指导下使用这些工具。

VTV 挂载性能差

如果 VTV 挂载执行得很慢或根本不挂载，请检查以下各项：

- 挂载是在单个 VTD 上失败吗？这种情况经常发生，因为主机会请求大量驻留在 MVC 上且 VSM 无法撤回的 VTV。如果出现这种情况，请执行以下操作：

- 输入 Display Queue DETail 命令以检查排队的撤回。如果撤回正在排队等待某个 MVC，则其他 VTCS 进程可能正在使用该 MVC，您可以使用 Display Active DETail 对此进行检查。

- 如果该 MVC 未在使用中，接下来输入 HSC DISPLAY VOLUME 命令。MVC 是否实际位于 ACS 中？如果不是，则必须重新装入 MVC 以完成撤回。

- 然后，RTD 是否可用于挂载 MVC 以撤回 VTV？输入 Display RTD 以检查 RTD 可用性。如果没有可用的 RTD，请对所有主机使用 Display 以检查活动且已排队的进程。
如有必要，使用 Cancel 取消这些进程并释放 RTD，以便撤回可以完成。使用 Cancel，VTCS 会尝试在不影响系统资源或信息的情况下停止这些进程；因此，取消可能不会立即发生。例如，VTCS 可能会在终止使用特定 RTD 的进程之前等待硬件超时时段。

注:
如果取消某个父请求，则会停止该父请求和所有子请求。如果取消某个子请求，则父请求会继续处理。

注意:
如果取消与迁移调度程序关联的任务（使用 MIGrate 参数或通过特定的进程 ID），则该任务会终止，但迁移调度程序会在其下一个计时器时间间隔启动其他迁移任务。不过，您可以通过指定大于当前 DBU 的值使用迁移至阈值来停止自动迁移。

提示:
将 MGMTclas 语句 IMMEDmig 参数设置为 KEEP 或 DELETE 可优先执行迁移处理（和迁移的 RTD 使用）并可能增加 RTD 的 I/O。

还应注意，可以更改 CONFIG MAXMIG 和 MINMIG 参数设置，以重新平衡自动迁移任务与您已经为每个 VTSS 定义的 RTD 的其他任务（如撤回和回收）。

- 挂载是否在多个 VTD 上失败？如果是，请检查以下各项：

- 使用 Display VTD 检查 VTD 状态。

- 输入 Display Active。如果没有活动进程，则确保 VTCS、HSC、所有 VTSS 和所有通信正常运行。

- 确保具有足够的 VTSS 空间。

- 检查系统是否要用完可用的 MVC 或可用的 MVC 空间。

- 提升低 AMT 趋势以便使更多 VTV 驻留在 VTSS 空间中，这可能有助于防止虚拟挂载失败。

- 如果 VTV 挂载失败，则即使 VTD 联机，也使用 MVS VARY 命令将 VTD 更改为联机，使用 MVS UNLOAD 命令清除 VTD，然后使用 HSC MOUNT 和 DISMOUNT 命令重试该操作。

迁移性能差

如果 VTV 迁移执行得很慢，请检查以下各项：

- 从 Display MIGrate 开始，该命令可在大的方面显示各个迁移任务执行的好坏情况。您或许能够重新安排设备（例如，增大 MAXMIG/MINMIG 值）以使操作继续进行。

- 确保您提供的 RTD 和 MVC 状态良好，如“检查虚拟磁带状态（每日）”中所述。如果需要查看位和字节，也使用 Display Queue DETail 检查排队的进程的状态。如果有许多进程正在等待 RTD 并且您要与 MVS 共享 RTD，则可能需要将传输更改为在 MVS 上脱机，在 VSM 上联机。

注:
在 JES3 环境中，如果您尚未创建并安装正确的用户出口修改，VTV 挂载可能失败。

迁移故障

只有一种情况比迁移性能差更糟糕，那就是根本不迁移。幸运的是，VTCS 提供了有关迁移故障的详细信息，如以下各节中所述：

- 消息增强

- Display STORCLas

- 增强的 MVC 池验证

- “增强的存储类验证”

消息增强

为了提供有关迁移故障的更详细的信息，使用以下消息替换了消息 SLS6700E：

- SLS6853E Migration failed Storage Class:stor-clas-name ACS:acs-id VTSS:vtss-name - MVCPool poolname is not defined

- SLS6854E Migration failed Storage Class:stor-clas-name ACS:acs-id VTSS:vtss-name - no MVCs found for specified media

- SLS6855E Migration failed Storage Class:stor-clas-name ACS:acs-id VTSS:vtss-name - no MVCs found for specified media/SC/ACS

- SLS6856E Migration failed Storage Class:stor-clas-name ACS:acs-id VTSS:vtss-name - no usable MVCs found for specified media/SC/ACS

- SLS6857E Migration failed Storage Class:stor-clas-name ACS:acs-id VTSS:vtss-name - no RTDs for requested media and ACS

- SLS6858E Migration failed Storage Class:stor-clas-name ACS:acs-id VTSS:vtss-name - all RTDs for requested media and ACS are offline

- SLS6859E Migration failed Storage Class:stor-clas-name ACS:acs-id VTSS:vtss-name - unknown reason (X'xx')

此外，在发出前面的任何消息之后，会始终输出消息 SLS6860I，以提供存储类的详细信息。如果适用，SLS6860I 还会报告有关满足迁移要求的任何错误：

- 是否未定义 MVC 池。

- MVC 池是否不包含任何指定的介质。

- MVC 池是否不包含指定介质的空闲 MVC。

- VTSS/ACS 是否未定义用于写入迁移 MVC 的合适 RTD。

- 是否所有合适的 RTD 都脱机。

结果是您现在获取了更详细的信息，以及有关修复的更具体的建议（当迁移故障确实发生时）。

Display STORCLas

使用 STORCLas 参数增强了 Display，其输出为：

- 存储类的特征（ACS、MVC 池和介质）。

- 等待从任何 VTSS 迁移到存储类的 VTV。

- 要用于迁移的 MVC 的要求。

- 写入迁移 MVC 所需的 RTD 的设备类型。

- 有关满足迁移要求的任何错误。

如前所述，VTCS 提供有关迁移方案中关键元素（存储类）的信息。

增强的 MVC 池验证

增强了 MVC 池验证，以检查常见的设置错误：

- 是否至少定义了一个有效的 MVC 池？如果不是，则发出消息 SLS6845E。VTCS 功能严重降级，因为没有迁移可能发生。如果您收到该消息，则必须定义相应的 MVC 池。请参见下一个项目。

- 默认 MVC 池 (DEFAULTPOOL) 是否存在？当迁移到不指定命名 MVC 池的存储类并处于错误情况（存储类 !ERROR）时，会使用 DEFAULTPOOL。如果 DEFAULTPOOL 不存在，则发出消息 SLS6846W。
通过在 STORCLAS 语句上编码 MVCPool(pool-name) 来指示到存储类的迁移应使用特定的 MVC 池。如果未编码 MVCPool(pool-name)，VTCS 会将 STORCLAS 视为好像已编码 MVCPool(DEFAULTPOOL)。

增强的存储类验证

继续该主题，已增强存储类验证，以检查常见的设置错误：

- 如果在存储类上指定某个命名 MVC 池 (STORCLAS NAME(stor-clas-name) MVCPOOL(poolname))，VTCS 将检查是否定义了该命名 MVC 池。因此，如果编码 STORCLAS NAME(stor-clas-name) MVCPOOL(poolname)，请确保命名 MVC 池存在。如果不存在，VTCS 将发出消息 SLS6848W。如果收到该消息，请定义命名 MVC 池，更改存储类定义或同时执行这两项操作。

- 类似地，如果未在存储类上指定命名 MVC 池 (STORCLAS NAME(stor-clas-name)，VTCS 将检查是否定义 DEFAULTPOOL。因此，如果您编码 STORCLAS NAME(stor-clas-name)，请确保至少存在一条不创建命名 MVC 池的 MVCPOOL 语句。如果不存在，VTCS 将发出消息 SLS6846W。如果收到该消息，请至少编码一条不创建命名 MVC 池的 MVCPOOL 语句，更改存储类定义或同时执行这两项操作。

- 如果在存储类上指定某个 MVC 介质 (STORCLAS NAME(stor-clas-name) MEDIA(media-type))，VTCS 将检查 MVC 池是否包含 media-type 类型的介质（如果未指定命名 MVC 池，将隐含表示使用 DEFAULTPOOL）。如果不包含，VTCS 将发出消息 SLS6849W。确保对应的池中存在该介质类型，更改存储类定义或同时执行这两项操作。

- 如果在存储类上指定某个 ACS 和介质类型 (STORCLAS NAME(stor-clas-name) ACS(acs-id) MEDIA(media-type))，VTCS 将检查与指定的介质类型兼容的指定 ACS 中是否存在 RTD。如果不存在，VTCS 将发出消息 SLS6851W。确保指定的 ACS 中存在所需的 RTD 类型，更改存储类定义或同时执行这两项操作。

- 如果在存储类上指定不具有特定 ACS 的介质类型 (STORCLAS NAME(stor-clas-name) MEDIA(media-type))，VTCS 将检查与指定的介质类型兼容的配置中是否存在 RTD。如果不存在，VTCS 将发出消息 SLS6851W。确保该配置中存在所需的 RTD 类型，更改存储类定义或同时执行这两项操作。

RTD/MVC 故障

首先，您可能不知道您看到的是介质故障还是磁带机故障。即，如果 VTCS 在某个 MVC 上检测到读取/写入错误，VTCS 会将该 MVC 交换到其他 RTD。如果 VTCS 在该 MVC 上未检测到进一步的读取/写入错误，VTCS 将假设第一个 RTD 有错误。

消息 SLS6662A 指示某个 RTD 处于维护模式，也会在 Display RTD 输出中报告该状态。处于维护模式的 RTD 通常有错误，需要硬件操作或服务人员提供帮助。请注意，处于恢复模式的 RTD 正在初始化（例如，当更改为联机时）并且通常没有错误。

如果无法快速修复某个失败的 RTD 或该失败的 RTD 连接到远程 ACS，则可能需要从配置中删除该 RTD，以防止尝试定位该 RTD。删除该 RTD 的 RTD 语句并重新运行 CONFIG。

注意:
在双 ACS 配置（两个连接到单个 VTSS 的 ACS）中，确保不允许任何 ACS 中的所有 RTD 长时间对 VTSS 不可用。如果该 ACS 中没有可用的 RTD，则无法发生到该 ACS 的迁移或从该 ACS 的撤回，VTSS 空间可能填满。此外，该情况还可能会导致到其他 ACS 中的 RTD 的迁移停止。

因此，在双 ACS 配置中，如果您必须使某个 ACS 中的所有 RTD 长时间不可用，请按上文中所述从配置中删除这些 RTD。

它是错误的 MVC 吗？

如果您浏览核对表以查找上述的 RTD 问题，但未找到相应的问题，您也作出了所有合理的努力以使更多 MVC 空间可用，并且将 MVC 摘要报告上的卷序列号与 HSC 卷报告进行比较，MVC 确实位于该 ACS 中。否则，您重新装入或更换 HSC 卷报告中未列出的任何 MVC。

这实际上确实像是介质问题。查看 MVC 和 VTV 报告（如“检查虚拟磁带状态（每日）”中所述）时，您看到何种类型的介质。该节介绍了最明确的 MVC 异常的一些修复。以下是您不希望在 MVC 和 VTV 报告上看到的 MVC 状态以及要对其执行的操作的详尽列表。

BROKEN

这是一个指示 MVC、磁带机或这两者有问题的一般错误。VTCS 尝试撤消具有该状态的 MVC 的优先权。一般而言，要清除该状态，请执行以下操作：

如果是 MVC 导致该问题，则使用 DRAIN(EJECT) 命令从服务中移除 MVC。

如果是 RTD 导致该问题，则使用 MVCMAINT 实用程序重置 MVC 状态。

另请注意，会针对 BROKEN 状态发出一个或多个以下消息：SLS6686、SLS6687、SLS6688、SLS6690。有关这些消息的详细恢复过程，请参见《VTCS Messages and Codes》。

DATA CHECK

针对该 MVC 报告了数据检查情况。VTCS 尝试撤消具有该状态的 MVC 的优先权。清除该状态：

如果对该 MVC 上的所有 VTV 执行了双工操作，则对该 MVC 使用 MVCDRain（不使用 Eject 选项）。这将恢复所有 VTV 并从服务中删除该 MVC。

如果未对该 MVC 上的所有 VTV 执行双工操作，则对该 MVC 执行 VTCS AUDIT。审计可能失败。在审计之后执行 MVCDRAIN（无弹出）。这将撤回数据检查区域之前的 VTV（按升序块 ID 顺序）和数据检查区域之后的 VTV（按降序块 ID 顺序）。按照该顺序处理 VTV 可确保 VTCS 从介质中恢复尽可能多的 VTV。然后您需要为仍位于 MVC 上的所有 VTV 重新创建数据。

清除数据检查后，移除或更换具有数据检查错误的 MVC，如“永久移除 MVC”中所述。该过程还介绍如何从 VTCS 使用中移除 MVC 并将其返回至 Nearline 操作。

DRAINING

MVC 当前将要排出或已是失败的 MVCDRain 的对象。

IN ERROR

挂载 MVC 时发生错误。

INITIALIZED

已初始化 MVC。

LOST - FAILED TO MOUNT

VTCS 尝试挂载某个 MVC，该挂载在 15 分钟的超时期限内未完成。VTCS 正尝试从可能由硬件问题、HSC 问题或从 ACS 移除 MVC 导致的情况恢复。VTCS 尝试撤消具有该状态的 MVC 的优先权。

如果 VTCS 确实成功执行了后续具有 LOST(ON) 状态的 MVC 挂载，VTCS 会将该状态设置为 LOST(OFF)。

确定错误的原因并修复错误。还可以使用 VTCS MVCMAINT 实用程序为以下事件设置 LOST(OFF)：

由于已解决的 LSM 故障或磁带机错误而设置 LOST(ON)。

由于 MVC 在 ACS 之外并已重新装入而设置 LOST(ON)。

MARKED FULL

MVC 已满，不是将来迁移的候选 MVC。

MOUNTED

MVC 挂载在 RTD 上。

NOT-INITIALIZED

已通过 CONFIG 实用程序定义 MVC，但从未使用过 MVC。

READ ONLY

由于出现以下情况之一，已将 MVC 标记为只读：

- MVC 是导出或合并过程的目标。只读状态可防止 MVC 进一步更新。

- 已将 MVC 介质设置为文件保护。更正错误并使用 MVCMAINT 实用程序设置 READONLY(OFF)。

- MVC 没有设置相应的 SAF 规则以使 VTCS 更新 MVC。更正该错误（有关更多信息，请参见安装 ELS 中的“针对 HSC、SMC 和 VTCS 定义安全系统用户 ID”）并使用 MVCMAINT 实用程序设置 READONLY(OFF)。

BEING AUDITED

当前正在审计 MVC 或 MVC 已是失败的审计对象。如果审计失败，VTCS 不使用 MVC 进行迁移。要清除该情况，请针对该 MVC 重新运行 AUDIT 实用程序。

LOGICALLY EJECTED

MVC 已是 MVCDRain Eject 的对象或已弹出 MVC 以便由 RACROUTE 调用进行更新。不再将 MVC 用于迁移或撤回。要清除该情况，请针对 MVC 使用 MVCDRain（不使用 Eject 选项）。

RETIRED

已将 MVC 报废。VTCS 从 MVC 撤回，但不迁移到 MVC。尽可能快地更换 MVC。

WARRANTY HAS EXPIRED

MVC 的保修已到期。VTCS 继续使用 MVC。应开始计划当 MVC 达到已作废状态时更换 MVC。

INVALID MIR

VTCS 已从 RTD 接收到指示 9x40 或 T10000 介质的 MIR（media information record，介质信息记录）无效的状态。无效的 MIR 不会阻止对数据的访问，但可能在访问磁带上的记录时导致严重的性能问题。MVC 无法在磁带上不具有有效 MIR 条目的区域上执行高速搜索。

VTCS 尝试撤消具有该情况的 MVC 的优先权。对于撤回，如果 VTV 位于多个 MVC 上，则相对具有无效 MIR 的 MVC，VTCS 会优先选择具有有效 MIR 的 MVC。除非迁移发生在磁带的开头，否则 VTCS 将避免使用具有无效 MIR 的 MVC 进行迁移。从磁带的开头进行迁移可更正 MIR。

VTCS 在挂载时或卸载时检测无效的 MIR 情况。如果在挂载时检测到该情况并且可以使用其他 MVC 完成该操作，则 VTCS 会卸载最初的 MVC 并选择替代 MVC。请注意，VTCS 仅具有有限的切换到替代 MVC 的功能。即，主要用于迁移和虚拟挂载。

对于具有无效 MIR 的 MVC，确定错误的原因（错误可能是由介质或磁带机问题导致的）并修复错误。

要恢复具有无效 MIR 的 MVC，请运行 INVENTRY 实用程序。例如，要恢复 MVC707，请输入：

INVENTRY MVCID(MVC707)

恢复具有数据检查的 MVC

这是一个非常具体的一般“错误 MVC”灾难实例，您知道当您在 MVC 和 VTV 报告中看到 MVC 数据检查错误时这是必需的。

恢复具有数据检查的 MVC：

1. 针对 MVC 运行 MVC 审计。
审计尝试按顺序从 MVC 读取 VTV 元数据。当审计遇到数据检查时，审计将失败，这会将 MVC 置于审计状态。这将阻止 VTCS 选择该 MVC 进行输出。

2. 针对 MVC 运行 MVCDRain Eject。
这将导致将所有可用的 VTV 撤回到 VTSS，然后将其重新迁移到新的没有错误的 MVC 上。这会将 MVC 从 MVC 池中逻辑移除。

注:

- 由于 MVC 的错误状态，如果有可能，VTCS 将从替代 MVC 中撤回 VTV。

- 如果必须从有错误的 MVC（没有其他可用的副本）中撤回 VTV，则：

- 按照升序块 ID 顺序撤回数据检查区域之前的 VTV。

- 按照降序块 ID 顺序撤回数据检查区域之后的 VTV。

3. 确定是否有任何 VTV 无法从 MVC 恢复。
针对 MVC 运行 MVC 详细信息报告。如果仍报告有 VTV 位于 MVC 上，则这些 VTV 是不可恢复的；您必须使用其他方法恢复数据。

4. 通过执行以下操作之一管理有缺陷的 MVC：
使用已初始化的具有相同内部和外部标签的磁带卷更换有缺陷的 MVC：

1. 针对有缺陷的 MVC 输入 HSC EJECT 命令。

2. 针对替换 MVC 输入 HSC ENTER 命令。

3. 根据需要初始化磁带。

4. 针对新 MVC 输入 HSC AUDIT。

5. 运行 MVCDRAIN（无 EJECT）以将 MVC 返回到 MVC 池中。

将 MVC 从系统中删除：

1. 针对有缺陷的 MVC 输入 HSC EJECT 命令。

2. 编辑 MVC 池定义以从池中移除有缺陷的 MVC。

3. 在所有活动主机上输入 VT MVCDEF 以激活新 MVC 池定义。

使用 RTV 实用程序

RTV 实用程序是另一个您可能仅在与 Oracle 服务人员协商之后才使用的项目，因为 RTV 可在无需 VTCS 提供任何帮助的情况下直接从 MVC 读取 VTV 数据（例如，在您确实已经丢失 CDS 的情况下）。

RTV 是独立实用程序，其工作方式是从 MVC 读取某个 VTV，解压缩该 VTV，然后将数据写入单个输出磁带（实际磁带卷），以便用户应用程序可以读取该数据。由于 RTV 实用程序是独立实用程序，因此您可以在 VSM 未运行而 MVS 系统在运行时运行 RTV。

RTV 实用程序可以恢复的内容

RTV 实用程序可以恢复：

- 指定的 MVC 中的所有或指定的 VTV。如果您不知道 MVC 上最新版本的 VTV 的位置，请仅指定 VTV 卷序列号，RTV 会转换其在该 MVC 上找到的最新版本的 VTV。

- 位于指定 MVC 上指定块 ID 的 VTV。LISTONLY 参数列表提供可以用作 RTV 实用程序的输入的块 ID 值，以便将某个 VTV 转换成 Nearline 卷。指定卷序列号和块 ID 可以加快定位的速度。

- 由指定的 MVC 上逻辑数据集编号指定的 VTV。与指定卷序列号和块 ID 相比，指定卷序列号和逻辑数据集编号所花费的定位时间将长得多。使用卷序列号和块 ID 是访问单个 VTV 的首选方法。

注:
如果指定了多个 VTV，或未指定块 ID 或 FILEnum 参数，则会读取整个 MVC，并作为输出的一部分显示 MVC 内容。读取整个 MVC 对确保仅解压缩最新的 VTV 副本而言是必需的。

一般使用准则

- 包含已转换的 VTV 的输出卷大小必须至少是最大 VTV 的大小（400 Mb、800 Mb、2 Gb、4 Gb 或 32 Gb），以确保该输出卷可以包含单个 VTV。

- VTCS MVC 报告和 VTV 报告提供信息以指定您希望 RTV 恢复 VTV 的哪个副本。确保您在运行 RTV 实用程序之前具有这些报告的当前副本。此外，为了帮助确定要转换的 VTV，您可以使用 LISTONLY 参数生成 MVC 上 VTV 的列表。
由于同一 VTV 的多个副本可以存在于同一个 MVC 或不同的 MVC 上，因此请仔细审查 VTV 报告和 MVC 报告以及 LISTONLY 列表，以确保您使用正确的 MVC 转换 VTV 的最新副本！

- RTV 实用程序不使用有关转换的卷的信息更新系统目录或 TMC；您必须手动执行该操作。

安全注意事项

- 您必须对要转换的 VTV 和包含这些 VTV 的 MVC 具有读取访问权限，否则系统的安全应用程序将无法运行。否则，转换将失败。

- 确保 APF 对 RTV 实用程序装入磁带库进行授权。

- RTV 不会尝试绕过任何 TMS 保护。所有 RTV 磁带挂载都受到 TMS 的完全控制。

注:
由于 RTV 实用程序必须能够在输出单元上写入磁带标准标签并在输入单元上通过标签信息进行定位，因此在磁带卷上使用动态分配调用绕过标签处理 (bypass label processing, BLP)。这要求 APF 对包含 SWSRTV 可执行代码的磁带库进行授权。

JCL 示例

下面显示了使用 RTV 实用程序的 JCL 示例。

列出 MVC 上的 VTV

下面显示了列出 MVC MVC001 上的 VTV 的示例 JCL。

//JOBVRECJOB(account),programmer
//RUNRTV EXEC PGM=SWSRTV,PARM=’MIXED’
//STEPLIBDD DSN=hlq.SEALINK,DISP=SHR
//SLSPRINTDD SYSOUT=A
//SLSINDD *
RTV  MVC(MVC001)INUNIT(/1AB4) LISTONLY
/*
//

通过指定单个 VTV 的卷序列号来转换该 VTV

下面显示了运行 RTV 实用程序以转换 MVC MVC001（挂载在 3490E 传输上）上的 VTV VTV200 的示例 JCL。输出（经转换的 VTV VTV200）将传输到挂载在传输 280 上的输出卷，RTV 将 VTV 中的 VTV VOLID 复制到输出卷中。

//JOBVRECJOB(account),programmer
//RUNRTV EXEC PGM=SWSRTV,PARM=’MIXED’
//STEPLIBDD DSN=hlq.SEALINK,DISP=SHR
//SLSPRINTDD SYSOUT=A
//SLSINDD *
RTV  MVC(MVC001) INUNIT(3490E) VTV(VTV200) CPYVOLID OUTUNIT(280)
/*
//

通过指定单个 VTV 的卷序列号和块 ID 来转换该 VTV

下面显示了运行 RTV 实用程序以转换 MVC MVC001（挂载在 3490E 传输上）上位于块 ID x'8EA484AB' 的 VTV VTV200 的示例 JCL。输出（经转换的 VTV VTV200）将传输到挂载在传输 480 上的输出卷。

//JOBVRECJOB(account),programmer
//RUNRTV EXEC PGM=SWSRTV,PARM=’MIXED’
//STEPLIBDD DSN=hlq.SEALINK,DISP=SHR
//SLSPRINTDD SYSOUT=A
//SLSINDD *
RTV  MVC(MVC001) INUNIT(3490E) VTV(VTV200) BLOCK(8EA484AB) OUTUNIT(480)
/*
//

A LCM 控制语句

本附录中列出了 LCM 控制语句。

表 A-1 LCM 控制语句

LCM 控制语句

状态

HSC/VTCS 实用程序命令

ACTION CONSOLIDATE

未更改

CONSOLIDATE

ACTION DRAIN

已增强

MVCDRAIN

ACTION EJECT

未更改

EJECT

ACTION EXPORT

未更改

EXPORT

ACTION MIGRATE

未更改

MIGRATE

ACTION MOVE

未更改

MOVE

ACTION RECALL

未更改

RECALL

ACTION RECLAIM

已增强

RECLAIM

ACTION SCRATCH

未更改

SCRATCH

ACTION UNSCRATCH

未更改

UNSCRATCH、REPLACEALL

ACTION VAULT ASSIGN

已增强

ACTION VAULT RELEASE

已增强

ACTION VAULT RETURN

已增强

DATASET

未更改

LOCATION

未更改

MANAGE PHYSICAL

已增强

MANAGE VIRTUAL

未更改

METHOD

未更改

OPTIONS

已增强

OPTIONS SYNC 和 SYNCVTV MANAGE PHYSICAL 以及 MANAGE VIRTUAL

已增强

SLUCONDB（和 SMC 等效命令）

PULLLIST

未更改

REPORT CELLCNT

已增强

REPORT CONSOLIDATE

未更改

REPORT DATASET

未更改

REPORT EJECT

未更改

REPORT ENTER

未更改

REPORT EXPORT

未更改

REPORT LSM

已增强

REPORT MIGRATE

未更改

REPORT MULTIPLE

未更改

MVCRPT

REPORT MVC_VTV

已增强

MVCRPT

REPORT NONSCRCNT

已增强

REPORT OPERATOR

未更改

REPORT PHYSICAL

未更改

VOLRPT

REPORT RECALL

未更改

REPORT SCRCNT

已增强

REPORT SUMMARY

已增强

REPORT VIRTUAL

未更改

VTVRPT

REPORT VOLUME

已增强

SET METHOD

未更改

SUBPOOL

未更改

SUBPOOL 和 MANAGE PHYSICAL BALSCR

未更改

SCRATCH REDISTRIBUTION

TMS CA1

未更改

TMS COMMON

未更改

TMS CTT

未更改

TMS CUSTOM

未更改

TMS OPEN

未更改

TMS RMM

未更改

TMS TLMS

未更改

UNMANAGED

未更改

索引
A  B  C  D  M  R  S  V  主  交  历  备  复  如  实  将  恢  报  控  数  暂  标  磁  移  空  缺  解  诊  转  迁  通  逾  释

A

ABEND 转储, 1.1

AUDIT, 5.5.3, 6.4.3

B

BACKup 实用程序

功能, 2.1.3

说明, 2.1.3

C

CAP 上的 RECOVERY 状态

清除, 3.5.3

CDS Disable 命令, 2.5, 2.6.1 重命名控制数据集, 2.6, 2.6.1 COMMPath 命令和控制语句

用法, 3.5.5

D

Display 命令, 3.5.8

M

MVC

空间回收

需求, 5.1

MVC 池

VT Display 命令, 4.2.1, 4.2.1

R

RESTore 实用程序

运行的原因, 2.9.1

RTV 实用程序, 7.2

S

SET 命令

SET SLIDRIVS

过程, 3.1.4, 5.5.4

V

VSM

VTV 撤回

需求, 5.1.3

VTV 迁移

需求, 5.1.2

管理

VTSS, 4.3

解决常见问题, 7.1

需求迁移、撤回和回收, 5.1

VTCS

VTV 迁移

需求, 5.1.2

实用程序

AUDIT, 5.5.3, 6.4.3

RTV, 7.2

恢复, 7.2

VTD

VT Display 命令, 4.1.1

VTSS

管理, 4.3

VTV

挂载性能差, 7.1.1

撤回

需求, 5.1

迁移

性能差, 7.1.2

迁移性能差, 7.1.2 需求迁移, 5.1

主

主机

恢复主机到主机通信, 3.5.5

主机软件组件 (Host Software Component, HSC)

恢复主机到主机通信, 3.5.5

诊断命令

Display, 3.5.8

交

交换 CDS, 2.8

历

历史记录

事件 (GTF 跟踪), 1.1

备

备份

CDS, 2.1.3

复

复制 CDS（使用重命名）, 2.6

如

如何清除 CAP 状态 RECOVERY, 3.5.3

实

实用程序

BACKup, 2.1.3

将

将磁带装入 LSM

具有缺失或无法读取的标签, 3.5.2.2

重复和无法读取的卷序列号, 3.5.2.1

恢

恢复

在 Display Cap 命令上清除 RECOVERY 状态, 3.5.3

恢复主机到主机通信, 3.5.5

释放分配的 CAP, 3.5.4

恢复主机到主机通信服务, 3.5.5 恢复实用程序, 7.2

报

报告

BACKup 实用程序, 2.1.3

控

控制数据集 (control data set, CDS)

交换, 2.8

重命名过程, 2.6

数

数据库心跳 (Database Heartbeat, DHB) 记录

使用 CDS Enable/Disable 重新分配 CDS, 2.5, 2.6.1

暂

暂存

卷

ACS 中不足, 1.1

暂存子池

VT Display 命令, 4.1.1

标

标签

装入具有缺失或无法读取的标签的磁带, 3.5.2.2

磁

磁带

装入 LSM

具有缺失或无法读取的标签, 3.5.2.2

重复的卷序列号, 3.5.2.1

磁带存取口 (Cartridge Access Port, CAP)

在 Display Cap 命令上清除 RECOVERY 状态, 3.5.3

磁带库存储模块 (Library Storage Module, LSM)

装入具有缺失或无法读取的标签的磁带, 3.5.2.2

输入重复的卷序列号, 3.5.2.1

移

移动 CDS（使用重命名）, 2.6

空

空间回收

需求, 5.1

缺

缺失或无法读取的标签, 3.5.2.2

解

解决常见问题, 7.1

诊

诊断

程序转储, 3.5.8

转

转储

程序, 3.5.8

迁

迁移

需求, 5.1

通

通信

恢复, 3.5.5

逾

逾期响应处理程序 (Overdue Response Handler, ORH)

挂载、卸载、移动和交换请求所需的操作员响应, 3.5.7.2

概述, 3.5.7.1

释

释放分配的 CAP, 3.5.4

Oracle 法律声明

版权声明

版权所有 (C) 1994-2016，Oracle 和/或其附属公司。保留所有权利。

许可证限制担保/间接损害免责声明

本软件和相关文档是根据许可证协议提供的，该许可证协议中规定了关于使用和公开本软件和相关文档的各种限制，并受知识产权法的保护。除非在许可证协议中明确许可或适用法律明确授权，否则不得以任何形式、任何方式使用、拷贝、复制、翻译、广播、修改、授权、传播、分发、展示、执行、发布或显示本软件和相关文档的任何部分。除非法律要求实现互操作，否则严禁对本软件进行逆向工程设计、反汇编或反编译。

担保免责声明

此文档所含信息可能随时被修改，恕不另行通知，我们不保证该信息没有错误。如果贵方发现任何问题，请书面通知我们。

有限权利声明

如果将本软件或相关文档交付给美国政府，或者交付给以美国政府名义获得许可证的任何机构，则适用以下注意事项：

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

危险应用领域声明

本软件或硬件是为了在各种信息管理应用领域内的一般使用而开发的。它不应被应用于任何存在危险或潜在危险的应用领域，也不是为此而开发的，其中包括可能会产生人身伤害的应用领域。如果在危险应用领域内使用本软件或硬件，贵方应负责采取所有适当的防范措施，包括备份、冗余和其它确保安全使用本软件或硬件的措施。对于因在危险应用领域内使用本软件或硬件所造成的一切损失或损害，Oracle Corporation 及其附属公司概不负责。

商标声明

Oracle 和 Java 是 Oracle 和/或其附属公司的注册商标。其他名称可能是各自所有者的商标。

Intel 和 Intel Xeon 是 Intel Corporation 的商标或注册商标。所有 SPARC 商标均是 SPARC International, Inc 的商标或注册商标，并应按照许可证的规定使用。AMD、Opteron、AMD 徽标以及 AMD Opteron 徽标是 Advanced Micro Devices 的商标或注册商标。UNIX 是 The Open Group 的注册商标。

第三方内容、产品和服务免责声明

本软件或硬件以及文档可能提供了访问第三方内容、产品和服务的方式或有关这些内容、产品和服务的信息。除非您与 Oracle 签订的相应协议另行规定，否则对于第三方内容、产品和服务，Oracle Corporation 及其附属公司明确表示不承担任何种类的保证，亦不对其承担任何责任。除非您和 Oracle 签订的相应协议另行规定，否则对于因访问或使用第三方内容、产品或服务所造成的任何损失、成本或损害，Oracle Corporation 及其附属公司概不负责。

Alpha 和 Beta 版草稿文档声明

本文档属于前期制作文档：

本文档属于前期制作文档，仅供演示和预备之用。本文档可能不是针对贵方正运行软件的硬件撰写的。Oracle Corporation 及其附属公司对预发布文档不做任何担保，且对因使用该文档所导致的任何损失、费用或损害概不负责。

Alpha 和 Beta 版草稿文档声明

本文档属于前期制作文档：

本文档中所包含的信息仅供参考之用，仅限于客户咨询委员会成员参考或依据 beta 试用版协议的用户参考。该信息不承诺提供任何资料、代码或功能，并且不应该作为制定购买决策的依据。本文档所述的任何特性或功能的开发、发行和时间规划均由 Oracle 自行决定。

本文档的任何形式（软件或印刷品）均包含 Oracle 独家所有的专有信息。您对本机密材料的访问和使用，受已生效且您同意遵守的 Oracle 主协议、Oracle 许可及服务协议书、Oracle合作伙伴网络协议、Oracle 分销协议或其他许可证协议的条款和条件制约。未经 Oracle 事先书面许可，不得向 Oracle 之外的任何人披露、拷贝、复制或分发本文档及本文档所包含的信息。本文档既不属于您许可证协议的一部分，也不会纳入任何与 Oracle 及其子公司或附属公司的合同协议之中。

文档可访问性

有关 Oracle 对可访问性的承诺，请访问 Oracle Accessibility Program 网站 http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc。

获得 Oracle 支持

购买了支持服务的 Oracle 客户可通过 My Oracle Support 获得电子支持。有关信息，请访问 http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info；如果您听力受损，请访问 http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs。