View a markdown version of this page

메인프레임 소스 아티팩트 컬렉션 - AWS 변환

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

메인프레임 소스 아티팩트 컬렉션

이 주제에서는 AWS 변환을 사용하여 메인프레임 현대화 이니셔티브를 지원하기 위해 메인프레임 소스 코드 및 관련 아티팩트를 수집하는 프로세스를 간략하게 설명합니다. 소스 아티팩트의 적절한 수집 및 준비는 성공적인 분석, 마이그레이션 계획 및 구현에 매우 중요합니다.

소스 코드 인벤토리

애플리케이션 소스 코드 유형

지원되는 애플리케이션 소스 코드 유형은 다음과 같습니다.

  • COBOL 프로그램

  • JCL 스크립트

  • 어셈블러 프로그램

  • PL/I 프로그램

  • CICS 트랜잭션

  • 자연 프로그램

  • REXX 스크립트

  • Easytrieve 프로그램

  • 카피북 및 포함

  • Proc 라이브러리

데이터베이스 자산

지원되는 데이터베이스 자산은 다음과 같습니다.

  • DB2 DCLGEN 및 DDL 스크립트

  • IMS 데이터베이스 정의(PSBs 및 DBDs)

  • VSAM 파일 정의

  • 물리적 및 논리적 데이터베이스 스키마

  • 데이터베이스 절차 및 트리거

소스 코드 파일 확장명

확장을 잘 모르는 경우 비워 두거나 .txt로 두면 AWS 변환이 이를 분류합니다.

다음 표에는 메인프레임 소스 아티팩트의 일반적인 파일 확장명이 나열되어 있습니다.

메인프레임 소스 코드 파일 확장명
언어/유형 일반 확장 설명
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 IMS MFS(메시지 형식 서비스)
PSB .psb IMS PSB(프로그램 사양 블록)
DBD .dbd IMS 데이터베이스 정의
JCL Proc .prc, .proc JCL 프로시저 라이브러리
JCL 포함 사항 .inc JCL 파일 포함
매크로 .mac 어셈블러 매크로
컨트롤 카드 .ctl JCL 유틸리티 제어 카드

수집 방법

소스 코드 추출

메인프레임 PDS 라이브러리에서 대화형 소스 코드를 추출하려면 보안 FTP 클라이언트(WinSCP/FileZilla)를 사용합니다.

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: 권한 부여 정보 추출(grants)

  • -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 보고서에 포함되어 있습니다. LIST=NODD 파라미터와 함께 LJOB 유틸리티를 사용하여 메인프레임에서 보고서를 생성합니다. 보고서에는 .ca7 확장자가 있어야 합니다. 각 보고서에는 열 1에 ANSI 캐리지 컨트롤 문자가 있어야 합니다. LJOB 유틸리티를 실행하는 데 사용되는 JCL에 DCB=RECFM=FBA (또는 FA)를 지정하여 열 1에 캐리지 컨트롤 문자가 있는 보고서를 생성할 수 있습니다.

예: LJOB,JOB=ZBN*,LIST=ALL

자세한 내용은 Broadcom 설명서를 참조하세요.

SMF 데이터 추출

시스템 관리 시설(SMF) 레코드는 AWS 변환에서 배치 작업 및 CICS 트랜잭션 사용량을 분석하는 데 사용하는 활동 지표를 제공합니다. 지원되는 SMF 레코드 유형은 14, 15, 30(하위 유형 5), 64, 102, 110(하위 유형 1, 데이터 클래스 1, 3, 4)입니다.

SMF 레코드의 형식 요구 사항:

  • 레코드 유형 30 및 110을 포함해야 합니다(최소).

  • RDW(Record Descriptor Word) 바이트가 포함된 원시 바이너리 EBCDIC 형식이어야 합니다.

  • 다음 중 하나로 제공해야 합니다.

    • .zip 형식으로 압축된 최대 600MB의 파일

    • .tar.gz 또는 .gz 형식으로 압축된 최대 5GB의 파일

  • 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. 작업 카드: 계정, 클래스 및 msgclass 업데이트

  2. DUMPIN: SMF 데이터 세트를 가리킵니다.

  3. DUMPOUT: 출력 데이터 세트 이름 및 HLQ 지정

  4. 유형: 레코드 유형 선택(14, 15, 30, 110 또는 기타)

  5. 날짜: 형식 yyyy/ddd(예: 2026/055,2026/056)

  6. 공간: 예상 데이터 볼륨에 따라 조정

  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(Sub-Capacity Reporting Tool) 보고서를 AWS 변환에 업로드할 수도 있습니다.

애플리케이션 인벤토리 업로드

모든 아티팩트를 수집한 후 다음 단계를 완료합니다.

  1. 아티팩트 유형(예: /cobol, /jcl, /copybooks, /db2, /ims, /cics, /ca7)별로 파일을 하위 폴더로 구성합니다.

  2. 최상위 폴더를 단일 .zip 파일로 압축합니다.

  3. AWS 변환 작업 영역에 연결된 Amazon S3 버킷에 .zip 파일을 업로드합니다.

참고

SMF 레코드는 Amazon S3 버킷 내의 소스 코드와 별도의 폴더에 있어야 하며 .tar.gz 또는 .gz 형식이어야 합니다.

Amazon S3 버킷을 AWS 변환에 연결하는 방법에 대한 자세한 지침은 섹션을 참조하세요커넥터 설정.