View a markdown version of this page

大型主機來源成品集合 - AWS 轉換

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

大型主機來源成品集合

本主題概述了收集大型主機原始程式碼和相關成品的程序,以支援使用 AWS Transform 的大型主機現代化計畫。正確收集和準備來源成品對於成功分析、遷移規劃和實作至關重要。

原始程式碼庫存

應用程式原始碼類型

支援下列應用程式原始碼類型:

  • COBOL 程式

  • JCL 指令碼

  • 組裝器程式

  • PL/I 程式

  • CICS 交易

  • 自然程式

  • REXX 指令碼

  • Easytrieve 程式

  • 複製手冊和 包含

  • Proc 程式庫

資料庫資產

支援下列資料庫資產:

  • DB2 DCLGEN 和 DDL 指令碼

  • IMS 資料庫定義 (PSBs和 DBDs)

  • VSAM 檔案定義

  • 實體和邏輯資料庫結構描述

  • 資料庫程序和觸發條件

原始程式碼副檔名

如果您不確定延伸模組,請將它保留為空白或 .txt,且 AWS Transform 會為您分類。

下表列出大型主機來源成品的常見副檔名。

大型主機原始碼副檔名
語言/類型 常見延伸模組 說明
COBOL .cbl、.cob、.cobol COBOL 來源程式
JCL .jcl 任務控制語言指令碼
組裝器 .asm 組合語言程式
PL/I .pl1 PL/I 語言程式
CICS 定義 .csd CICS 系統定義 (CSD)
自然 .nat 自然程式
REXX .rex、.rexx REXX 指令碼
Easytrieve .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 IMSMFS (訊息格式服務)
PSB .psb IMS PSB (程式規格區塊)
DBD .dbd IMS 資料庫定義
JCL 處理 .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 提供的 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 報告中。使用 LJOB 公用程式搭配 LIST=NODD 參數來產生大型主機的報告。報告必須具有.ca7副檔名。每個報告在資料欄 1 中都必須有 ANSI 換行控制字元。您可以在用來執行 LJOB 公用程式的 JCL 中指定 DCB=RECFM=FBA(或 FA),在資料欄 1 中建立包含換行控制字元的報告。

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

如需詳細資訊,請參閱 Broadcom 文件

擷取 SMF 資料

System Management Facility (SMF) 記錄提供 AWS Transform 用來分析批次任務和 CICS 交易用量的活動指標。支援下列 SMF 記錄類型:14、15、30 (子類型 5)、64、102、110 (子類型 1 搭配資料類別 1、3 和 4)。

SMF 記錄的格式需求:

  • 必須包含記錄類型 30 和 110 (至少)

  • 必須是包含 RDW (Record Descriptor Word) 位元組的原始二進位 EBCDIC 格式

  • 必須以下列其中一種方式提供:

    • 高達 600 MB 的檔案,以 .zip 格式壓縮

    • 最多 5 GB 的檔案,以 .tar.gz 或 .gz 格式壓縮

  • 必須與 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. 工作卡:更新帳戶、類別和訊息類別

  2. DUMPIN:指向您的 SMF 資料集

  3. DUMPOUT:指定輸出資料集名稱和 HLQ

  4. TYPE:選取記錄類型 (14、15、30、110 或其他)

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

  6. SPACE:根據預期的資料量調整

  7. 如果不需要,請移除 SORT 步驟

選項 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 報告

您也可以將子容量報告工具 (SCRT) 報告上傳至 AWS 轉換。

應用程式庫存上傳

收集所有成品之後,請完成下列步驟:

  1. 依成品類型將檔案整理成子資料夾 (例如 /cobol、/jcl、/copybooks、/db2、/ims、/cics、/ca7)。

  2. 將頂層資料夾壓縮為單一 .zip 檔案。

  3. 將 .zip 檔案上傳至連接到 AWS 轉換工作區的 Amazon S3 儲存貯體。

注意

SMF 記錄必須放置在與 Amazon S3 儲存貯體中原始碼不同的資料夾中,且必須是 .tar.gz 或 .gz 格式。

如需將 Amazon S3 儲存貯體連線至 AWS 轉換的詳細說明,請參閱 設定連接器