2 执行物理导出和导入

借助 EXPORT 和 IMPORT 工具,可以创建能够以物理方式移植的 MVC。在源站点上,您使用 EXPORT 合并 MVC 上的 VTV(如有必要),并生成用于描述 MVC 内容(MVC 上的 VTV)的清单文件。随后从源站点弹出 MVC,以物理方式将其传送到目标站点,再对它们执行 IMPORT 操作,使用清单文件以有关所导入 MVC 和 VTV 的信息更新 CDS。请注意,您可以在 VTCS 未处于活动状态的情况下将 VTV 导入 CDS。然后将 MVC 装入目标站点。

注:

  • 如果决定将导出的 MVC 返回到源系统,无需任何特殊的 VTCS 处理,只需将 MVC 装入源系统的 LSM 中即可。

  • 对于导入的每个 VTV,唯一将要创建的 MVC 副本针对通过相同的语句导出和导入的 MVC。这在导入双工 VTV 时有特殊的意义。仅当两个 MVC 出现在同一个清单文件中并且由于使用了相同的 IMPORT 语句而导入时,导入后两个 MVC 上才会有此类 VTV 的副本。

可以通过以下任一常规方法导出:

  • 按 VTV 或管理类导出,将选定的 VTV 合并到一组新的 MVC 上。由于合并需要时间并且需要 VTSS 资源,因此首选方法是按 MVC 或存储类执行导出。有关更多信息,请参见“按管理类导出和导入”。

  • 按 MVC 或存储类导出。按存储类或 MVC 导出无需对 VTV 进行任何合并后处理,并且无需移动数据。导出只会创建用于描述选定 MVC 内容的清单文件。有关更多信息,请参见“按存储类导出和导入”。

    注:

    如果按如下方式导出:
    • VTV 卷序列号-使用 TMS、LCM 或 VTVRPT 报告确定所需的 VTV。

    • MVC 卷序列号-使用 LCM 或 MVCRPT 报告确定所需的 MVC。

    • 管理类-查看管理类定义以确定所需的管理类。

    • 存储类-查看存储类定义以确定所需的存储类。

按管理类导出和导入

以下示例显示了按管理类导出和导入 MVC。

注:

按 MGMTclas 或 VTV 完成导出时,CDS 不在 VTV 记录中保留 MVC 信息。在这种情况下,MVC 将标记为 "(E)"(导出)。

示例:按管理类从源 VSM 系统导出

这是导出/导入的“发送”阶段,在这一阶段中,您将所需数据打包并移出源 VSM 系统。

要从源 VSM 系统导出,请执行以下操作:

  1. 确定用于导出的管理类。

  2. 按管理类导出:

    //EXPORT EXEC PGM=SLUADMIN,PARM='MIXED' REGION=6M
    //STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
    //MOVE1    DD DSN=hlq.REMOTE2,DISP=(,CATLG,DELETE), 
    //            UNIT=SYSDA,SPACE=(CYL,(1,1),RLSE),
    //            DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920)
    //SLSPRINT DD SYSOUT=* 
    //SLSIN    DD * 
      EXPORT MGMT (PAY,ACCOUNT) MANIFEST(MOVE1)
    

    在此示例中,输出清单文件为 MOVE1,导入时需要该文件。由于是按管理类导出,因此 EXPORT 将在导出 MVC 上合并选定的 VTV(为其创建副本)。导出 MVC 在 CDS 中标记为只读且标记为已导出,现在可从源系统 LSM 中弹出。这些合并的 VTV 副本是额外的副本,不会记录在 CDS 中。例如,如果 VTV 在导出之前是双工,则 CDS 将记录两个双工副本,但是不会在 CDS 中记录用于合并的第三个额外副本。因此,源系统仍可使用原始 VTV。您可以使用原始 VTV 上的数据或者暂存并重用它们。

    注意:

    计划当未在更新导出的数据时执行导出!
  3. 从 MVC 池中移除要导出的 MVC。有关更多信息,请参见管理 HSC 和 VTCS

  4. 从源 VSM 系统 LSM 中弹出要导出的 MVC。有关更多信息,请参见管理 HSC 和 VTCS

  5. 如果需要,在源系统中暂存导出的 VTV 或使其不可用亦或重用其中包含的数据。

    导出后,源系统保留已导出 VTV 和 MVC 的 CDS 记录。导出 MVC 在源系统 CDS 中标记为已导出且标记为只读。此时,根据导出 VTV 的原因,您有两种选择:

    • 如果导出 VTV 是为了在第二个站点上提供备份副本,请使 VTV 在源系统 CDS 中保持只读状态,以使它们无法更新。

    • 如果要将导出的 VTV 永久移至第二个站点,则在源系统 CDS 中暂存或使其不可用。使用 HSC 暂存实用程序或 LCM SYNCVTV 功能暂存导出的 VTV。

示例:按管理类导入目标 VSM 系统

一个月过后,您终于为导出/导入操作的“接收”(导入)部分做好了准备。

要导入目标 VSM 系统,请执行以下操作:

  1. 如果要导入的 VTV 和 MVC 未在目标系统 CDS 中,请重做 POOLPARM/VOLPARM 定义以添加这些卷序列号,如配置 HSC 和 VTCS 中所述。

    如有必要,增加目标 VSM 系统上的 CDS 大小。有关更多信息,请参见配置 HSC 和 VTCS管理 HSC 和 VTCS

    如果源系统和目标系统上存在重复的 VTV 卷序列号,应该怎样做呢?一般来说,执行以下操作:

    • 如果源系统上存在较新的 VTV 且其卷序列号与目标系统上的相同,请指定 REPLACE(ALL)

    • 如果要将 VTV 从源系统移至目标系统(首次导出/导入),请指定 REPLACE(NONE)。在这种情况下,您必须根据具体情况确定如何处理重复的 VTV。

  2. 将要导入的 MVC 装入目标 VSM 系统 LSM。

    有关更多信息,请参见管理 HSC 和 VTCS。在使用 IMPORT 告知 CDS 具有一些新的 MVC 和 VTV 之前,您要以物理方式将 MVC 部署到位。

  3. (可选)执行 IMPORT 的“验证”运行:

    //IMPORT EXEC PGM=SLUADMIN,PARM='MIXED' REGION=6M 
    //STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
    //REMOTE1  DD DSN=hlq.REMOTE1,DISP=SHR 
    //SLSPRINT DD SYSOUT=* 
    //SLSIN DD *
      IMPORT MANIFEST(MOVE1) NOUPDATE
    

    此处显示了运行 IMPORT 实用程序的示例 JCL,其中:

    • 清单文件是在第 2 步中指定的导出清单。

    • REPLACE(NONE)(默认值)指定 VTCS 不会覆写重复的 VTV。

    • IMMDRAIN(NO)(默认值)指定 VTCS 不会将所有导入的 VTV 排空到 VTSS 空间。

    • NOUPDATE 指定不会更新 CDS(仅限于验证运行)。

    • 未指定 INACTCDS,所以 HSC 处于活动状态。

    执行验证运行是可选操作,但是强烈建议执行,因为您确实想要在按按钮之前看看将会发生什么。仔细研究导入报告。与您看到的一样?继续执行第 4 步。

    注:

    • 仅当指定了 FEATures VSM(ADVMGMT)IMPORT 才有效。

    • 确保“目标”CDS 与“源”CDS 具有相同的功能(在 CDS 级别启用)。例如,如果“源”CDS 启用了大型 VTV 页面大小并且已创建 2/4 Gb VTV,则“目标”CDS 必须具有相同的功能,否则导入将会失败。

  4. 执行 IMPORT 的实际运行:

    //IMPORT EXEC PGM=SLUADMIN,PARM='MIXED' REGION=6M
    //STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
    //REMOTE1  DD DSN=hlq.REMOTE1,DISP=SHR
    //SLSPRINT DD SYSOUT=*
    //SLSIN DD *
      IMPORT MANIFEST(MOVE1) REPLACE(ALL)
    

    此处显示了运行 IMPORT 实用程序的示例 JCL,其中,与在“验证”运行中一样,REPLACE(NONE)(默认值)指定 VTCS 不会覆写重复的 VTV。

    注:

    如果您要将 MVC 返回到源系统,应该怎样做呢?如果是这样,您可以指定 IMMDRAIN(YES) 以排空导入 MVC。
  5. 根据需要调整 VTV 定义。例如,您需要为目标系统的 TMS 定义任何新的 VTV。

  6. 执行以下操作之一:

    • (可选)运行 MVCMAINT 以使导入的 MVC 可写。VTCS 以只读方式导入 MVC。要使其可写,您可以运行 MVCMAINT,指定 READONLY OFF。您很可能希望在目标系统上使用新的 MVC,而这是第一步。

      接下来,将导入的 MVC 添加到 MVC 池中,如管理 HSC 和 VTCS 中所述。此时,可以对 MVC 进行回收、排空、迁移、撤回等等。

    • 如果在第 4 步中指定了 IMMDRAIN(YES),则可将 MVC 返回到源系统。

按存储类导出和导入

以下示例显示了按存储类从源 VSM 导出和导入。

注:

按 STORclas 或 MVC 完成导出时,CDS 在 VTV 记录中保留 MVC 信息。在这种情况下,MVC 将标记为 "(R)"(只读)。

示例:按存储类从源 VSM 系统导出

这是导出/导入的“发送”阶段,在这一阶段中,您将所需数据打包并移出源 VSM 系统。

要从源 VSM 系统导出,请执行以下操作:

  1. 确定用于导出的存储类。

  2. 按存储类导出:

    //EXPORT EXEC PGM=SLUADMIN,PARM='MIXED' REGION=6M
    //STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
    //MOVE2    DD DSN=hlq.REMOTE2,DISP=(,CATLG,DELETE),
    //             UNIT=SYSDA,SPACE=(CYL,(1,1),RLSE),
    //             DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920)
    //SLSPRINT DD SYSOUT=*
    //SLSIN DD *
      EXPORT STOR(OFF1,OFF2) MANIFEST(MOVE2) 
    

    在此示例中,输出清单文件为 MOVE2,导入时需要该文件。由于是按存储类导出,因此系统将创建清单文件,但是不会发生 VTV 合并。导出 MVC 在 CDS 中标记为只读,现在可从源系统 LSM 中弹出。之前位于从 LSM 中移除的 MVC 上的 VTV 仍可使用,前提是它们现在位于其他 MVC 上。

    注意:

    计划当未在更新导出的数据时执行导出!
  3. 从 MVC 池中移除要导出的 MVC。有关更多信息,请参见管理 HSC 和 VTCS

  4. 从源 VSM 系统 LSM 中弹出要导出的 MVC。有关更多信息,请参见管理 HSC 和 VTCS

  5. 如果需要,在源系统中暂存导出的 VTV 或使其不可用亦或重用其中包含的数据。

    导出后,源系统保留已导出 VTV 和 MVC 的 CDS 记录。导出 MVC 在源系统 CDS 中标记为已导出且标记为只读。此时,根据导出 VTV 的原因,您有两种选择:

    • 如果导出 VTV 是为了在第二个站点上提供备份副本,请使 VTV 在源系统 CDS 中保持只读状态,以使它们无法更新。

    • 如果要将导出的 VTV 永久移至第二个站点,则在源系统 CDS 中暂存或使其不可用。使用 HSC 暂存实用程序或 LCM SYNCVTV 功能暂存导出的 VTV。

示例:按存储类导入目标 VSM 系统

一个月过后,您终于为导出/导入操作的“接收”(导入)部分做好了准备。

要导入目标 VSM 系统,请执行以下操作:

  1. 如果要导入的 VTV 和 MVC 未在目标系统 CDS 中,请重做 POOLPARM/VOLPARM 定义以添加这些卷序列号,如配置 HSC 和 VTCS 中所述。

    如有必要,也要增加目标 VSM 系统上的 CDS 大小。有关更多信息,请参见“配置 HSC 和 VTCS”或管理 HSC 和 VTCS

    如果源系统和目标系统上存在重复的 VTV 卷序列号,应该怎样做呢?一般来说,执行以下操作:

    • 如果源系统上存在较新的 VTV 且其卷序列号与目标系统上的相同,请指定 REPLACE(ALL)

    • 如果要将 VTV 从源系统移至目标系统(首次导出/导入),请指定 REPLACE(NONE)。在这种情况下,您必须根据具体情况确定如何处理重复的 VTV。

  2. 将要导入的 MVC 装入目标 VSM 系统 LSM。

    有关更多信息,请参见管理 HSC 和 VTCS。您能看到这里发生了什么吗?在使用 IMPORT 告知 CDS 具有一些新的 MVC 和 VTV 之前,您实际上要以物理方式将 MVC 部署到位。

  3. (可选)执行 IMPORT 的“验证”运行。

    //IMPORT EXEC PGM=SLUADMIN,PARM='MIXED' REGION=6M 
    //STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
    //REMOTE1  DD DSN=hlq.REMOTE1,DISP=SHR
    //SLSPRINT DD SYSOUT=* 
    //SLSIN DD *
      IMPORT MANIFEST(REMOTE1) NOUPDATE
    

    此处显示了运行 IMPORT 实用程序的示例 JCL,其中:

    • 清单文件是在第 2 步中指定的导出清单。

    • REPLACE(NONE)(默认值)指定 VTCS 不会覆写重复的 VTV。

    • IMMDRAIN(NO)(默认值)指定 VTCS 不会将所有导入的 VTV 排空到 VTSS 空间。

    • NOUPDATE 指定不会更新 CDS(仅限于验证运行)。

    • 未指定 INACTCDS,所以 HSC 处于活动状态。

    执行验证运行是可选操作,但是强烈建议执行,因为您确实想要在实际按按钮之前看看将会发生什么。仔细研究导入报告。与您看到的一样?继续执行第 4 步。

    注:

    • 仅当指定了 FEATures VSM(ADVMGMT)IMPORT 才有效。

    • 确保“目标”CDS 与“源”CDS 具有相同的功能(在 CDS 级别启用)。例如,如果“源”CDS 启用了大型 VTV 页面大小并且已创建 2/4 Gb VTV,则“目标”CDS 必须具有相同的功能,否则导入将会失败。

  4. 执行 IMPORT 的实际运行:

    //IMPORT EXEC PGM=SLUADMIN,PARM='MIXED' REGION=6M
    //STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
    //REMOTE1  DD DSN=hlq.REMOTE1,DISP=SHR
    //SLSPRINT DD SYSOUT=*
    //SLSIN DD * 
      IMPORT MANIFEST(REMOTE1)
    

    此处显示了运行 IMPORT 实用程序的示例 JCL,其中,与在“验证”运行中一样,REPLACE(NONE)(默认值)指定 VTCS 不会覆写重复的 VTV。

    注:

    如果您要将 MVC 返回到源系统,应该怎样做呢?如果是这样,您可以指定 IMMDRAIN(YES) 以排空导入 MVC。
  5. 根据需要调整 VTV 定义。

  6. 执行以下操作之一:

    • (可选)运行 MVCMAINT 以使导入的 MVC 可写。VTCS 以只读方式导入 MVC。要使其可写,您可以运行 MVCMAINT,指定 READONLY OFF。您很可能希望在目标系统上使用新的 MVC,而这是第一步。

      接下来,将导入的 MVC 添加到 MVC 池中,如管理 HSC 和 VTCS 中所述。此时,可以对 MVC 进行回收、排空、迁移、撤回等等。

    • 如果在第 4 步中指定了 IMMDRAIN(YES),则可将 MVC 返回到源系统。

VLE 导出/导入

可以将 VTV 和 MVC 导出到在两个 tapeplex 之间共享的 VLE,但前提是这两个 tapeplex 具有不同的 MVC 池。

要导出到与两个 tapeplex 相连的 VLE,请以下面的内容为例:

  1. 假定 Tapeplex A 具有的 MVCPOOL 包含 A00-A10,Tapeplex B 具有的 MVCPOOL 包含 B00-B10。

  2. 将 A00-A10 导出到 VLE Tapeplex A MVC 池。

  3. 使用 IMPORT REPLACE(UPDATED) 命令将 A00-A10 MVC 池导入到 Tapeplex B。