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 的详细说明,请参阅设置连接器。