本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
大型机源文物集合
本主题概述了使用 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 -dDATABASE_NAME-iuserid-wpassword-a -e -m -l -x -f -createdb -printdbcfg -oDATABASE_NAME.sql
以下列表描述了参数:
-d:指定要从中提取架构的数据库的名称DATABASE_NAME-i: 用于数据库身份验证的用户 IDuserid-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 中自定义以下值:
Job 卡片:更新账号、班级和 msgclass
DUMPIN:指向你的 SMF 数据集
DUMPOUT:指定输出数据集名称和 HLQ
类型:选择记录类型(14、15、30、110 或其他)
日期:格式 yyyy/ddd (例如 2026/055、2026/056)
空间:根据预期的数据量进行调整
如果不需要,请移除排序步骤
选项 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.10useridpasswordtype i LOCSITE RDW put 'your.hlq.SMF.OUTPUT'SMFREQS.SMFquit
正在上传 SCRT 报告
您也可以将 Sub-Capacity 报告工具 (SCRT) 报告上传到 Tr AWS ansform。
上传应用程序清单
收集完所有工件后,完成以下步骤:
按构件类型(例如 /cobol、/jcl、/copybooks、/db2、/ims、/cics、/ca7)将文件整理到子文件夹中。
将顶级文件夹压缩为单个.zip 文件。
将.zip 文件上传到连接到您的 AWS 转换工作空间的 Amazon S3 存储桶。
注意
SMF 记录必须放置在 Amazon S3 存储桶中与源代码不同的文件夹中,并且必须采用.tar.gz 或.gz 格式。
有关将 Amazon S3 存储桶连接到 T AWS ransform 的详细说明,请参阅设置连接器。