View a markdown version of this page

大型机源文物集合 - AWS 转换

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

大型机源文物集合

本主题概述了使用 AWS Transform 收集大型机源代码和相关工件以支持大型机现代化计划的过程。正确收集和准备源文物对于成功的分析、迁移规划和实施至关重要。

源代码清单

应用程序源代码类型

支持以下应用程序源代码类型:

  • COBOL 计划

  • JCL 脚本

  • 汇编程序

  • PL/I 节目

  • CICS 交易

  • 自然节目

  • REXX 脚本

  • Easytrieve 程序

  • 复印本和内含

  • Proc 库

数据库资产

支持以下数据库资产:

  • DB2 DCLGEN 和 DDL 脚本

  • IMS 数据库定义(PSB 和 DBD)

  • VSAM 文件定义

  • 物理和逻辑数据库架构

  • 数据库过程和触发器

源代码文件扩展名

如果您不确定扩展名,请将其保留为空白或.txt,然后 Transfor AWS m 会为您对其进行分类。

下表列出了大型机源构件的常用文件扩展名。

大型机源代码文件扩展名
Language/Type 常用扩展 说明
COBOL .cbl、.cob、.cobol COBOL 源程序
JCL .jcl Job 控制语言脚本
汇编器 .asm 汇编语言程序
PL/I .pl1 PL/I 语言节目
CICS 的定义 .csd CICS 系统定义 (CSD)
天然 .nat 自然节目
REXX .rex、.rexx REXX 脚本
Easytrive .ezt Easytrieve 举报程序
抄本 .cpy COBOL 字帖
BMS .bms 基础映射支持 (BMS)
PL/I 字帖 .pl1_copy PL/I 字帖
Db2 DCLGEN .dcl Db2 声明生成器
Db2 的定义 .sql、.ddl Db2 数据库定义
IMS 定义 .ims IMS 资源定义数据集(IMS 第 1 阶段)
MFS .mfs IMS MFS(消息格式服务)
PSB .psb IMS PSB(程序规格模块)
DBD .dbd IMS 数据库定义
JCL Proc .prc、.proc JCL 过程库
JCL 包括 .inc JCL 包含文件
.mac 汇编器宏
控制卡 .ctl JCL 实用控制卡

收集方法

源代码提取

使用安全 FTP 客户端 (WinSCP/FileZilla) 从大型机 PDS 库中提取交互式源代码。

DB2 架构提取

DB2 LUW(Linux、UNIX 和 Windows)客户机软件将该db2look实用程序作为其安装包的一部分。该db2look实用程序从 DB2 数据库中提取 DDL(数据定义语言)语句。

运行以下命令:

db2look -d DATABASE_NAME -i userid -w password -a -e -m -l -x -f -createdb -printdbcfg -o DATABASE_NAME.sql

以下列表描述了参数:

  • -d DATABASE_NAME:指定要从中提取架构的数据库的名称

  • -i userid: 用于数据库身份验证的用户 ID

  • -w password: 数据库身份验证的密码

  • -a: 提取授权信息(授权)

  • -e:提取所有数据库对象(表、视图、索引等)

  • -m: 提取统计数据和物理特征

  • -l: 提取表格和列注释

  • -x: 数据提取解释表

  • -f: 格式化输出以提高可读性

  • -createdb:包括数据库创建语句

  • -printdbcfg:包括数据库配置参数

  • -o DATABASE_NAME.sql:指定输出文件名

从大型机中提取目录信息

IDCAMS 中的 LISTCAT 命令是一种用于检索有关大型机上数据集的目录信息的实用程序。在大型机现代化项目中,这对于清点数据集并了解其特征非常有用。

//LSTCATJ JOB 'LISTCAT',CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID //* //STEP1 EXEC PGM=IDCAMS //* //SYSPRINT DD DSN=AWS.M2.CATALOG.LIST, // DISP=(NEW,CATLG,DELETE), // SPACE=(CYL,(1,1),RLSE), // DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0) //* //SYSIN DD * LISTCAT ENT('AWS.M2.CARDDEMO.*') ALL LISTCAT ENT('SYS1.*') ALL /*

提取 CICS 定义

IBM-provided DFHCSDUP 实用程序可以从 CICS 系统定义 (CSD) 文件中提取 CICS 资源定义。

使用以下 JCL 从 DFHCSD 中卸载现有定义:

//CSDEXTJ JOB 'EXTRACT CSD',CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID //* //STEP1 EXEC PGM=DFHCSDUP,REGION=0M, // PARM='CSD(READONLY),PAGESIZE(60),NOCOMPAT' //* //STEPLIB DD DSN=your-hlq.SDFHLOAD,DISP=SHR //DFHCSD DD DSN=your-hlq.DFHCSD,DISP=SHR //* //CBDOUT DD DSN=your-hlq.CSD, // DISP=(NEW,CATLG,DELETE), // SPACE=(CYL,(1,1),RLSE), // DCB=(RECFM=FB,LRECL=80,BLKSIZE=0) //SYSPRINT DD SYSOUT=* //SYSIN DD * EXTRACT GROUP(cics-group) USERPROGRAM(DFH0CBDC) OBJECTS /*

提取 IMS 定义

要提取 IMS 定义,您可以使用 DFSURDD0 实用程序生成 IMS 事务文件。此实用程序创建了可用于迁移目的的第 1 阶段宏语句。目前仅支持 IMS 第 1 阶段。

使用以下 JCL 提取 IMS 定义:

//IMSEXTJ JOB 'IMS STAGE 1',CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID //* //STEP1 EXEC PGM=DFSURDD0,MEMLIMIT=12G //* //STEPLIB DD DISP=SHR,DSN=your-hlq.SDFSRESL //* //RDDSDSN DD DISP=SHR,DSN=your-rdds //* //SYSOUT DD DSN=your-hlq.STAGE1.IMS, // DISP=(NEW,CATLG,DELETE), // SPACE=(CYL,(1,1),RLSE), // DCB=(RECFM=FB,LRECL=80,BLKSIZE=0) //SYSPRINT DD SYSOUT=* //SYSIN DD * OUTPUT=MAC /*

正在提取 CA-7 调度器信息

CA-7 工作计划信息包含在 LJOB 报告中。使用带LIST=NODD参数的 LJOB 实用程序在大型机上生成报告。报告必须有.ca7扩展名。每份报告的第 1 列中必须有 ANSI 回车控制字符。通过在用于运行 LJOB 实用程序的 JCL 中指定DCB=RECFM=FBA(或 FA),可以创建第 1 列中包含回车控制字符的报告。

例如:LJOB,JOB=ZBN*,LIST=ALL

有关更多信息,请参阅 Broadcom 文档

正在提取 SMF 数据

系统管理工具 (SMF) 记录提供了 Transfor AWS m 用来分析批处理作业和 CICS 事务使用情况的活动指标。支持以下 SMF 记录类型:14、15、30(子类型 5)、64、102、110(数据类别为 1、3 和 4 的子类型 1)。

SMF 记录的格式要求:

  • 必须包括记录类型 30 和 110(至少)

  • 必须采用原始二进制 EBCDIC 格式,并包含 RDW(记录描述符 Word)字节

  • 必须作为以下内容之一提供:

    • 以.zip 格式压缩的最大 600 MB 的文件

    • 以.tar.gz 或.gz 格式压缩的最大 5 GB 的文件

  • 必须存储在与 Amazon S3 中的源代码不同的文件夹中

提供至少 13 个月的 SMF 记录,以捕捉较短的时间范围可能会错过的年度批次周期和季节性模式。

选项 1:提取和排序 SMF 记录

使用以下示例 JCL 提取和排序 SMF 记录:

//SMFEXTR JOB (ACCT),'EXTRACT SMF',CLASS=A, // MSGCLASS=X,NOTIFY=&SYSUID //*-------------------------------------------------------------------* //* SMF RECORD EXTRACTION TEMPLATE //* CUSTOMIZE: Job card, dataset names, date range, record types //*-------------------------------------------------------------------* //* //* STEP 1: EXTRACT SMF RECORDS //* //EXTRACT EXEC PGM=IFASMFDP //SYSPRINT DD SYSOUT=* //* //* INPUT: Specify your SMF datasets (MAN files or GDG) //* //DUMPIN DD DISP=SHR,DSN=SYS1.MAN1 // DD DISP=SHR,DSN=SYS1.MAN2 // DD DISP=SHR,DSN=SYS1.MAN3 //* //* OUTPUT: Extracted SMF records //* //DUMPOUT DD DSN=your.hlq.SMF.EXTRACT, // DISP=(NEW,CATLG,DELETE), // UNIT=SYSDA, // SPACE=(CYL,(500,100),RLSE), // DCB=(RECFM=VBS,LRECL=32760,BLKSIZE=27998) //* //* CONTROL CARDS //* //SYSIN DD * INDD(DUMPIN,OPTIONS(DUMP)) OUTDD(DUMPOUT,TYPE(14,15,30,110)) DATE(yyyy/ddd,yyyy/ddd) START(0000) END(2359) /* //* //* STEP 2: SORT EXTRACTED RECORDS (OPTIONAL) //* //SORT EXEC PGM=SORT //SORTIN DD DISP=SHR,DSN=your.hlq.SMF.EXTRACT //SORTOUT DD DSN=your.hlq.SMF.SORTED, // DISP=(NEW,CATLG,DELETE), // UNIT=SYSDA, // SPACE=(CYL,(500,100),RLSE), // DCB=(RECFM=VBS,LRECL=32760) //SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(50)) //SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,(50)) //SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,(50)) //SYSOUT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSIN DD * SORT FIELDS=(11,4,CH,A,7,4,CH,A,15,4,CH,A),EQUALS /*

在前面的 JCL 中自定义以下值:

  1. Job 卡片:更新账号、班级和 msgclass

  2. DUMPIN:指向你的 SMF 数据集

  3. DUMPOUT:指定输出数据集名称和 HLQ

  4. 类型:选择记录类型(14、15、30、110 或其他)

  5. 日期:格式 yyyy/ddd (例如 2026/055、2026/056)

  6. 空间:根据预期的数据量进行调整

  7. 如果不需要,请移除排序步骤

选项 2:使用 DFSORT 提取 SMF 数据

您可以使用 DFSORT 来合并和报告 SMF 历史数据。如果您按天或每周将SMF记录存储在GDG中,这将很有帮助。以下作业使用 DFSORT 来合并 SORTIN 文件中的 SMF 记录,并根据 INCLUDE COND 参数中指定的记录进行筛选。

//EXTRSMF JOB 'EXTRACT SMF RECORDS',CLASS=S,MSGCLASS=H, // MSGLEVEL=(1,1),REGION=0M,NOTIFY=&SYSUID,TIME=1440 //SORTJES2 EXEC PGM=SORT,REGION=0M //SYSOUT DD SYSOUT=* //SORTMSG DD SYSOUT=* //SORTIN DD DISP=SHR,DSN=your.hlq.SMF.EXTRACT //SORTOUT DD DSN=your.hlq.SMF.OUTPUT, // DISP=(MOD,CATLG,DELETE), // DCB=(BUFNO=20, // RECFM=VBS,LRECL=32760,BLKSIZE=27998), // SPACE=(CYL,(1400,900),RLSE) //SORTWK1 DD UNIT=SYSDA,SPACE=(CYL,(30,50)) //SORTWK2 DD UNIT=SYSDA,SPACE=(CYL,(30,50)) //SORTWK3 DD UNIT=SYSDA,SPACE=(CYL,(30,50)) //SORTWK4 DD UNIT=SYSDA,SPACE=(CYL,(30,50)) //SYSIN DD * OPTION COPY INCLUDE COND=(6,1,BI,EQ,X'0E',OR,6,1,BI,EQ,X'0F',OR, 6,1,BI,EQ,X'1E',OR,6,1,BI,EQ,X'40',OR, 6,1,BI,EQ,X'50',OR,6,1,BI,EQ,X'59',OR, 6,1,BI,EQ,X'5C',OR,6,1,BI,EQ,X'65',OR, 6,1,BI,EQ,X'66',OR,6,1,BI,EQ,X'6E')

要在保留 RDW 数据的同时下载数据,可以使用 FTP 服务器接收提取的文件。确保数据以二进制格式传输并使用 RDW 选项,以便将 RDW 包含在数据传输中。以下作业显示了用于传输此文件的 FTP 任务示例。

//EXTRSMF JOB 'EXTRACT SMF RECORDS',CLASS=A,MSGCLASS=H, // MSGLEVEL=(1,1),REGION=0M,NOTIFY=&SYSUID,TIME=1440 //STEP1 EXEC PGM=FTP,REGION=2048K //SYSIN DD * 10.10.10.10 userid password type i LOCSITE RDW put 'your.hlq.SMF.OUTPUT' SMFREQS.SMF quit

正在上传 SCRT 报告

您也可以将 Sub-Capacity 报告工具 (SCRT) 报告上传到 Tr AWS ansform。

上传应用程序清单

收集完所有工件后,完成以下步骤:

  1. 按构件类型(例如 /cobol、/jcl、/copybooks、/db2、/ims、/cics、/ca7)将文件整理到子文件夹中。

  2. 将顶级文件夹压缩为单个.zip 文件。

  3. 将.zip 文件上传到连接到您的 AWS 转换工作空间的 Amazon S3 存储桶。

注意

SMF 记录必须放置在 Amazon S3 存储桶中与源代码不同的文件夹中,并且必须采用.tar.gz 或.gz 格式。

有关将 Amazon S3 存储桶连接到 T AWS ransform 的详细说明,请参阅设置连接器