안내서

Similar documents
OpenFrame

안내서

Microsoft Word - AnyLink Introduction v3.2.3.doc

Tmax

Tablespace On-Offline 테이블스페이스 온라인/오프라인

개발및운영 Tibero DB Link (Tibero To Oracle) - Local 방식

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다.

USER GUIDE

MySQL-.. 1

안내서

인디쓔피-IOM핸돜벁닄큐1014pdf, page Preflight ( IOM핸돜벁닄큐__1014 )

OpenFrame

Microsoft PowerPoint - chap01-C언어개요.pptx

개발및운영 Tibero Perl 연동

튜닝및모니터링 HP JVM 튜닝옵션

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

[JEUS 7] eclipse plug-in 연동 1. 개요 Eclipse 와 JEUS 7 연동시필요한 plug-in 제공및환경설정에관한가이드제공하여 Eclipse 에서 JEUS 7 기동및 종료테스트할수있는방법을기술하였습니다. 2. Plug-in 설치 2.1 [Step

Windows 8에서 BioStar 1 설치하기

API 매뉴얼

슬라이드 1

OpenFrame

목차 1. 노드매니저종류 Java Type SSH Type 노드설정파일및로깅 nodes.xml jeusnm.properties <servername>.properties...

PowerPoint 프레젠테이션

Microsoft Word - src.doc

ISP and CodeVisionAVR C Compiler.hwp

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

마리오와 소닉 리우 올림픽™

개발및운영 Eclipse 를이용한 ANT 활용방법

2012-민간네트워크-05_중국

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

API 매뉴얼

DBMS & SQL Server Installation Database Laboratory

목차 JEUS EJB Session Bean가이드 stateful session bean stateful sample 가이드 sample source 결과확인 http session에

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

Tibero HiDB

PowerPoint 프레젠테이션

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

OpenFrame

untitled

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - qmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i qmail 1.03 spf-filter 년 6 월

Tibero

단계

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

untitled

untitled

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

OpenFrame

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

untitled

문서 템플릿

FY2005 LIG

PowerPoint 프레젠테이션

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - postfix) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i postfix spf-filter 년 6 월

메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail spf-filter 년 6 월

(Microsoft PowerPoint - \301\24613\260\255 - oFusion \276\300 \261\270\274\272)

Windows Server 2012

BMP 파일 처리

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

설치및환경설정 Tibero tbprobe 사용법과원격지포트체크

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

BSC Discussion 1

B _02-M_Korean.indd

Microsoft Word - PLC제어응용-2차시.doc

Microsoft PowerPoint - 03_DB Migration 방법론 및 툴 사용법-인쇄.ppt

H_AR_ P

Hardware Manual TSP100

안내서

3) MySQL data 백업백업방법 : dump 파일로저장저장위치 : /backup/mysqldump 백업주기 : 시간별 (/etc/cron.hourly) 또는일별 (/etc/cron.daily) 보관기간 : 7 일백업스크립트 : 아래예제 6-1). 참조 4) 웹데이

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

OpenFrame

ICAS CADWorx SPLM License 평가판설치가이드

로거 자료실

804NW±¹¹®

untitled

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - CSharp-10-예외처리

untitled

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

안내서

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

Linux 권장커널파라미터 1. 커널파라미터별설명및설정방법 1.1 nofile ( max number of open files ) 설명 : 지원되는열린파일수를지정합니다. 기본설정이보통대부분의응용프로그램에대해충분합니다. 이매개 변수에설정된값이너무낮으면파일열기오류, 메모리

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

ez-shv manual

작성자 : 기술지원부 김 삼 수

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

ez-md+_manual01

Layout 1

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

목차 1. 개요 개요 연동테스트홖경 PowerBuilder Connection Tibero ODBC Driver 설정 PowerBuilder Connection 설정 Tiber

Microsoft PowerPoint - Java7.pptx

Microsoft Word - Armjtag_문서1.doc

PowerPoint Presentation

Microsoft PowerPoint 웹 연동 기술.pptx

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습

Transcription:

OpenFrame 툴참조안내서 소프트웨어 OpenFrame/Online v5.3 OpenFrame/Batch v4.0 안내서버전 v1.2 Copyright 2008 TamxSoft Co., Ltd. All Rights Reserved.

Copyright Notice Copyright 2008 TmaxSoft Co., Ltd. All Rights Reserved. TmaxSoft Co., Ltd. 서울특별시강남구대치동 946-1글라스타워 18층우 )135-708 Restricted Rights Legend This software and documents are made available under the terms of the TmaxSoft License Agreement and may only be used or copied in accordance with the terms of this agreement. No part of this document may be reproduced, transmitted, or translated in any form or by any means, electronic, mechanical, manual, or optical, without the prior written consent of TmaxSoft Co., Ltd. 이소프트웨어및안내서는오직 TmaxSoft Co., Ltd. 와의사용권계약하에서만이용이가능하며, 사용권계약에따라서사용하거나복사할수있습니다. 또한이안내서에서언급하지않은정보에대해서는보증및책임을지지않습니다. 이안내서에대한권리는저작권에보호되므로발행자의허가없이전체또는일부를어떤형식이나, 사진녹화, 기록, 정보저장및검색시스템과같은그래픽이나전자적, 기계적수단으로복제하거나사용할수없습니다. Trademarks Tmax, WebtoB, WebT, JEUS and OpenFrame are registered trademarks of TmaxSoft Co., Ltd. Other products, titles or services may be registered trademarks of their respective companies. Tmax, WebtoB, WebT, JEUS, OpenFrame 은 TmaxSoft Co., Ltd. 의등록상표입니다. 기타모든제품들과회사이름은각각해당소유주의상표로서참조용으로만사용됩니다. 안내서정보안내서제목 : OpenFrame 툴참조안내서발행일 : 2008년7월15일소프트웨어버전 : OpenFrame/Online v5.3, OpenFrame/Batch v4.0 안내서버전 : v1.2 2 OpenFrame 툴참조안내서

연락처 Korea TmaxSoft Co., Ltd. 18F Glass Tower, 946-1, Daechi-Dong, Kangnam-Gu, Seoul 135-708 South Korea Tel: 82-2-6288-2114 Fax: 82-2-6288-2115 Email: info@tmax.co.kr Website: http://www.tmax.co.kr USA TmaxSoft, Inc. US Headquarter (San Jose) 130 Rio Robles San Jose, CA 95134, USA Tel: 1-408-321-2400 Fax: 1-408-321-2444 Email: info@tmaxsoft.com Website: http://www.tmaxsoft.com Sales Office (New Jersey) 560 Sylvan Ave, Englewood Cliffs NJ 07632, USA Tel: 1-201-567-8266 Fax: 1-201-567-7339 Email: newjersey@tmaxsoft.com Website: http://www.tmaxsoft.com Japan TmaxSoft Japan Co., Ltd. 5F Sanko Bldg, 3-12-16 Mita, Minato-Ku, Tokyo, 108-0073 Japan Tel: 81-3-5765-2550 Fax: 81-3-5765-2567 Email: info.jp@tmaxsoft.com Website: http://www.tmaxsoft.co.jp OpenFrame 툴참조안내서 3

China TmaxSoft China Co., Ltd. Beijing Silver Tower, RM 1508, 2# North Rd Dong San Huan, Chao yang District, Beijing, China, 100027 Tel: 86-10-6410-6145~8 Fax: 86-10-6410-6144 Email: info.cn@tmaxsoft.com Website: http://www.tmaxsoft.com.cn Shanghai Office Room 4123, 41 Floor, China Development Bank Building, No.500 Pudong Road(s), Shanghai, China, 200120 Tel: 86-21-6109-5751 Fax: 86-21-6109-5750 Email: info.cn@tmaxsoft.com Website: http://www.tmaxsoft.com.cn 4 OpenFrame 툴참조안내서

내용목차 안내서에대하여... 10 안내서의대상... 10 안내서의전제조건... 10 안내서구성... 11 안내서규약... 12 시스템사용환경... 13 관련안내서... 14 제1장 OpenFrame 툴개요... 15 1.1 툴소개... 15 제2장 OpenFrame 초기화툴... 17 2.1 tjesinit... 17 2.2 lockinit... 18 2.3 mascat... 19 2.4 voladd... 21 제3장데이터셋툴... 25 3.1 dsview... 25 3.2 dsedit... 27 3.3 dsload... 29 3.4 dssave... 32 3.5 dsmigin... 35 3.6 dsmigout... 41 3.7 cobgensch... 43 3.8 pligensch... 47 3.9 dslist... 49 3.10 dsmove... 55 3.11 dstouch... 61 3.12 pdsgen... 63 제4장 HiDB 관련툴... 65 4.1 hdmpgen... 65 OpenFrame 툴참조안내서 5

4.2 hdgensch... 66 4.3 hdprecon... 69 4.4 hdload... 72 4.5 hdprfxres... 76 4.6 hdprfxup... 78 제5장온라인시스템툴... 81 5.1 ofboot... 81 5.2 ofdown... 82 5.3 ofadmin... 83 5.4 ofmadmin... 87 5.5 ofmsvr... 89 5.6 ofclient... 90 5.7 osddump... 94 5.8 osdgen... 95 5.9 oscresp... 97 5.10 osccheck... 98 5.11 osccblpp... 100 5.12 mscasmc... 101 5.13 mscmapc... 102 5.14 msimapc... 104 제6장운영편의를위한툴... 109 6.1 icfscan... 109 6.2 icfspchk... 111 6.3 icfdump... 114 6.4 icfload... 115 6.5 jclview... 116 6.6 textrun... 123 6.7 dlupdate... 126 6.8 dlclean... 127 6.9 enpasswd... 128 6.10 oferror... 129 제7장기타툴... 131 7.1 cobolprep... 131 7.2 dliprep... 134 6 OpenFrame 툴참조안내서

7.3 offile... 135 7.4 tplipp... 136 7.5 jobattr... 138 7.6 excicblpp... 146 OpenFrame 툴참조안내서 7

그림목차 [ 그림 3-1] PL/I 스키마파일생성과 OpenFrame 데이터셋생성과정... 47 [ 그림 4-1] 입 / 출력데이터셋형식... 70 [ 그림 4-2] 출력파일형식... 76 [ 그림 6-1] 초기화면... 119 [ 그림 6-2] 메뉴선택화면... 119 [ 그림 6-3] JCL 파일 open 후화면... 120 [ 그림 6-4] 데이터셋정보열람화면... 120 [ 그림 6-5] GDG 멤버정보조회화면... 121 [ 그림 6-6] 데이터셋검색화면... 121 [ 그림 7-1] tplipp 구조... 136 8 OpenFrame 툴참조안내서

표목차 [ 표 0-1] 안내서규약... 12 [ 표 0-2] 시스템사용환경... 13 [ 표 0-3] OpenFrame 관련안내서... 14 [ 표 3-1] dsview 명령어... 26 [ 표 3-2] dsedit 명령어... 28 [ 표 3-3] dsmigin 시 ASCII 변환코드... 37 [ 표 3-5] dsmigout 시 ASCII 코드... 41 [ 표 6-1] jclview 메뉴구성... 118 [ 표 6-2] jclview 단축키구성... 118 [ 표 7-1] 일반옵션... 131 [ 표 7-2] 변환및추가옵션... 132 [ 표 7-3] 디버깅관련옵션... 132 [ 표 7-4] 전처리옵션... 133 [ 표 7-5] 전처리결과옵션... 133 [ 표 7-6] 프로젝트별특별옵션... 133 [ 표 7-7] tplipp 옵션... 138 OpenFrame 툴참조안내서 9

안내서에대하여 안내서에대하여 안내서의대상 본안내서는리호스팅솔루션인 OpenFrame 에서필요로하는각종툴프로그램 을사용하는사용자를대상으로기술한다. 안내서의전제조건 본안내서를정확히사용하려면 OpenFrame 의개념을이해하고있어야한다. OpenFrame 에대한이해를돕기위해 시작하기안내서 와 Batch 안내서 를먼 저숙지할것을권장한다. 10 OpenFrame 툴참조안내서

안내서에대하여 안내서구성 툴참조안내서는총 7개의장으로구성되어있다. 각장의주요내용은다음과같다. 제1장 : OpenFrame 툴개요각장에서다뤄질툴의전반적인개요에대해기술한다. 제2장 : OpenFrame 초기화툴 OpenFrame 초기화툴프로그램인 tjesinit, lockinit, mascat, voladd를사용하여 OpenFrame을초기화하는방법에대해기술한다. 제3장 : 데이터셋툴데이터셋툴프로그램인 dsview, dsedit, dsload, dssave, dsmigin, dsmigout, dslist, dsmove, dstouch, pdsgen을사용하여여러가지데이터셋관련작업을처리하기위한방법에대해기술한다. 제4장 : HiDB 툴 HiDB 툴프로그램인 hdgensch, hdload, hdmpgen, hdprecon, hdprfxres, hdprfxup를사용하여 HiDB 관련작업을수행하는방법에대해기술한다. 제5장 : 온라인시스템툴온라인시스템에서필요로하는 ofboot, ofdown, ofadmin, ofmadmin, ofmsvr, ofclient, osddump, osdgen, osccblpp, mscasmc, mscmapc, msimapc 등을사용하는방법에대해기술한다. 제6장 : 운영편의를위한툴 icfscan, icfspchk, icfdump, icfload, jclview, textrun, dlclean, dlupdate, enpasswd, oferror 등운영편의를위해제공되는툴을사용하는방법에대해기술한다. 제7장 : 기타툴사용자편의를위해제공되는 OpenFrame 초기화툴, 데이터셋툴, HiDB 관련툴, 운영편의를위한툴그리고온라인시스템툴외에 cobolprep, dliprep, cobgensch, pligensch, offile, tplipp, jobattr 툴을사용하는방법에대해기술한다. OpenFrame 툴참조안내서 11

안내서에대하여 안내서규약 표기 AaBbCc123 의미 명령어 AaBbCc123 명령어수행후화면에출력된결과물 참고 : 참고또는주의사항 { } 필수인수값 [ ] 옵션인수값 선택인수값 ( 따옴표 ) 다른관련안내서또는안내서내의다른장및절 언급 하이퍼링크 메일계정, 웹사이트, 다른장및절참고 진하게 강조 <AaBbCc123> 프로그램소스코드의파일명, 디렉터리이름 Courier New 파일, 디렉터리이름, 환경설정변수 _ 스페이스..., +, * 파라미터등이반복되어나옴 [ 그림 1-1] 그림이름 [ 표 1-1] 표이름 [ 표 0-1] 안내서규약 12 OpenFrame 툴참조안내서

안내서에대하여 시스템사용환경 요구사항 Platform IBM AIX 5.x HP-UX 11.xx Solaris 9 (SunOS 5.9) Hardware 최소 120MB 하드디스크공간 256MB 이상메모리공간 1GB 이상하드디스크와 512MB 이상메모리공간권장 Database Tibero 3.0 Oracle 9i 또는 10g Compiler MF-Cobol 컴파일러 [ 표 0-2] 시스템사용환경 OpenFrame 툴참조안내서 13

안내서에대하여 관련안내서 제품 OpenFrame 안내서시작하기안내서배치안내서유틸리티안내서 TJES 안내서데이터셋안내서 TSAM 안내서 HiDB 안내서 OSC 운영자안내서 OSI 운영자안내서 [ 표 0-3] OpenFrame 관련안내서 14 OpenFrame 툴참조안내서

제 1 장 OpenFrame 툴개요 제 1 장 OpenFrame 툴개요 1.1 툴소개 OpenFrame 툴프로그램은배치 JOB을실행하는데있어서직접적으로사용되지않고, Mainframe에서사용되었던 JCL이나데이터셋, 데이터베이스등을마이그레이션하는과정에서편의성을위해제공되거나 OpenFrame 시스템을운영하는데필요한기능들을제공한다. 본안내서에서는 2장에서 OpenFrame 초기설정을위한툴, 3장에서는데이터셋을조작하는툴, 4장에서는 HiDB 관련데이터전환을위한툴, 5장에서는온라인시스템을위한툴, 6장에서는 OpenFrame 운영상편의를위해제공되는툴, 7장에서는기타툴을소개하며, 각절에서는툴의소개와기능, 사용법, 사용예제, 관련환경설정및유의사항을기술한다. OpenFrame 툴참조안내서 15

제 2 장 OpenFrame 초기화툴 제 2 장 OpenFrame 초기화툴 2.1 tjesinit tjesinit 은 OpenFrame 배치에서시스템데이터셋뿐만아니라 JOBQ 와 SPOOL 등을초기화하기위해사용되는프로그램이다. OpenFrame 시스템초기화작업을담당하는 tjesinit은시스템을초기화할때다음을수행한다. - JESST 초기화 tjes.conf로부터 JOBQ 크기, OUTPUTQ 크기, NODELIST 등을읽어 SYSx.JESST를초기화한다. - JOBQ 초기화 JOBQ에등록된모든내용을삭제한다. - OUTPUTQ 초기화 OUTPUTQ에등록된모든내용을삭제한다. - SPOOL 초기화 SPOOL 볼륨내의 TJES 관련데이터를모두삭제한다. 다음의주의사항을주지한권한이있는시스템관리자가 tjesinit을수행한다. - TSAM은사용가능한상태이어야한다. - OpenFrame 엔진 (TMAX) 은기동되지않은상태이어야한다. - JOB의수행내역이백업되지않고삭제된다. 참고 : OpenFrame 시스템을완전히초기화하기위해서는 lockinit 툴을이용하여데이터셋 lock 을초기화해야한다. 사용법 tjesinit 프로그램을실행하는방법은다음과같다. Usage: tjesinit OpenFrame 툴참조안내서 17

제 2 장 OpenFrame 초기화툴 사용예제 다음은 TJES 를초기화하는예이다. $ tjesinit 참고 : 관련툴프로그램으로는 lockinit 이있다. 2.2 lockinit lockinit은배치시스템을부팅하기전에초기화처리로써 lock 데이터셋혹은로그데이터셋을제거 (truncate) 하는프로그램이다. lockinit은 lock 데이터셋과로그데이터셋을제거시에해당데이터셋에대해서별도의백업을하지않는다. 또한배치시스템이기동중일때에는 lockinit을사용해서는안된다. 사용법 lockinit 프로그램을실행하는방법은다음과같다. Usage: lockinit lockinit l lockinit -d - lockinit 환경설정파일 ds.conf [LOCK_SERVER] 섹션의 LOG_DATASET과 LOCK_DATASET에지정된로그및 lock 데이터셋모두를제거한다. - lockinit -l 환경설정파일 ds.conf [LOCK_SERVER] 섹션의 LOG_DATASET에지정된로그데이터셋을제거한다. 18 OpenFrame 툴참조안내서

제 2 장 OpenFrame 초기화툴 - lockinit -d 환경설정파일 ds.conf [LOCK_SERVER] 섹션의 LOCK_DATASET 에지정된 lock 데이터셋을제거한다. 사용예제 다음은로그데이터셋및 lock 데이터셋을모두제거하는예이다. $ lockinit 다음은로그데이터셋을제거하는예이다. $ lockinit l 다음은 lock 데이터셋을제거하는예이다. $ lockinit d Appendix lockinit을실행했을때문제가발생한경우에는먼저 ds.conf [TSAM_CLIENT] 섹션에정의된 DATABASE 설정값을확인하고정상적으로데이터베이스에접속이되는지를확인한다. 또한동일설정파일의 [LOCK_SERVER] 섹션의 LOG_DATASET과 LOCK_DATSET에지정된데이터셋이름이정확한지를확인한다. 2.3 mascat mascat은 OpenFrame 제품을처음설치할때, 마스터카탈로그를생성해주는프로그램이다. OpenFrame 제품을처음설치할때, 데이터셋과관련해서기본적으로수행해야하는절차는다음과같다. OpenFrame 툴참조안내서 19

제 2 장 OpenFrame 초기화툴 디바이스및볼륨설정 디바이스에대한설정파일인 unit.conf 파일과볼륨에대한설정파일인 volume.conf 파일을 OpenFrame 운영환경에맞게설정한다. Non-VSAM 볼륨디렉터리생성 UNIX 명령어인 mkdir을사용해서 volume.conf 파일에설정된대로볼륨디렉터리를생성한다. VSAM 볼륨테이블스페이스생성 VSAM 데이터셋이저장되는공간인데이터베이스테이블스페이스를생성한다. (SQL 명령어 CREATE TABLESPACE 사용 ) 마스터카탈로그생성 OpenFrame 제품과같이배포되는 mascat 프로그램을사용해서마스터카탈로그를생성한다. VVDS (VSAM Volume Dataset) 데이터셋생성및등록 OpenFrame 제품과같이배포되는 voladd 프로그램을사용해서각볼륨별로 VVDS 데이터셋을생성하고마스터카탈로그에등록한다. 사용법 mascat 프로그램을실행하는방법은다음과같다. Usage: mascat create {dsname} {volser} mascat remove {dsname} - create 마스터카탈로그를생성한다. - remove 마스터카탈로그를제거한다. - {dsname} 마스터카탈로그의이름을지정한다. 20 OpenFrame 툴참조안내서

제 2 장 OpenFrame 초기화툴 - {volser} 마스터카탈로그가생성될볼륨시리얼이나제거할마스터카탈로그가등록 된볼륨시리얼을지정한다. 사용예제 아래예제는 100000 이라는볼륨에 SYS1.MASTER.ICFCAT 이라는이름으로마 스터카탈로그를생성하는예이다. $ mascat create SYS1.MASTER.ICFCAT 100000 관련환경설정 mascat 프로그램은마스터카탈로그 VSAM 데이터셋을생성하기위해 ds.conf 설정파일의 [SYS1_CLIENT] 섹션에기술된 TSAM 서버로접속한다. mascat 프로그램으로생성된마스터카탈로그 VSAM 데이터셋을 OpenFrame 카탈로그로사용하기위해서는카탈로그접속정보를 ds.conf 설정파일의 [ICF_STORAGE] 섹션과 [ICF_BACKUP] 섹션에등록해주어야한다. mascat 프로그램으로생성된마스터카탈로그는 ds.conf 설정파일의 [ICF_CATALOG] 섹션에등록해주어야한다. 위의사용예제에서생성된마스터카탈로그를 ds.conf 설정파일에다음과같이설정해주어야한다. [ICF_CATALOG] MASCAT_VSER=100000 MASCAT_NAME=SYS1.MASTER.ICFCAT 2.4 voladd voladd는 OpenFrame 제품을처음설치할때, VVDS 데이터셋을생성하고마스터카탈로그에등록해주는프로그램이다. OpenFrame 제품을운용중에볼륨을추가하는경우에도사용된다. OpenFrame 툴참조안내서 21

제 2 장 OpenFrame 초기화툴 OpenFrame 제품을처음설치할때, 데이터셋과관련해서기본적으로수행해야하는절차는다음과같다. 디바이스및볼륨설정디바이스에대한설정파일인 unit.conf 파일과볼륨에대한설정파일인 volume.conf 파일을 OpenFrame 운영환경에맞게설정한다. Non-VSAM 볼륨디렉터리생성 UNIX 명령어인 mkdir을사용해서 volume.conf 파일에설정된대로볼륨디렉터리를생성한다. VSAM 볼륨테이블스페이스생성 VSAM 데이터셋이저장되는공간인데이터베이스테이블스페이스를생성한다. (SQL 명령어 CREATE TABLESPACE 사용 ) 마스터카탈로그생성 OpenFrame 제품과같이배포되는 mascat 프로그램을사용해서마스터카탈로그를생성한다. VVDS (VSAM Volume Dataset) 데이터셋생성및등록 OpenFrame 제품과같이배포되는 voladd 프로그램을사용해서각볼륨별로 VVDS 데이터셋을생성하고마스터카탈로그에등록한다. 사용법 voladd 프로그램을실행하는방법은다음과같다. Usage: voladd define {volser} voladd delete {volser} - define VVDS 데이터셋을정의한다. - delete VVDS 데이터셋을삭제한다. 22 OpenFrame 툴참조안내서

제 2 장 OpenFrame 초기화툴 - {volser} 정의하거나삭제하려고하는볼륨의시리얼번호를지정한다. 사용예제 아래는 100000 이라는볼륨에 VVDS 데이터셋을생성하고카탈로그에등록하는 예이다. $ voladd define 100000 아래는 VSPOOL이라는볼륨에 VVDS 데이터셋을생성하고마스터카탈로그에등록했다가삭제하는예이다. $ voladd define VSPOOL $ voladd delete VSPOOL 관련환경설정 ds.conf [SYS1_CLIENT] voladd 프로그램이 VVDS 데이터셋을생성하기위해접속하는 TSAM 서버정보가설정되어있다. ds.conf [ICF_STORAGE] voladd 프로그램이 VVDS 데이터셋을카탈로그에등록하기위해접속하는 TSAM 서버정보가설정되어있다. 주의 : VVDS 데이터셋도 ICF 카탈로그의일부이므로 VVDS 데이터셋을생성하기전에 ds.conf 설정파일의 [SYS1_CLIENT] 섹션의내용이 [ICF_STORAGE] 섹션의내용과동일한지확인이필요하다. OpenFrame 툴참조안내서 23

제 3 장데이터셋툴 제 3 장데이터셋툴 3.1 dsview dsview 는데이터셋의내용을보여준다. 사용법 dsview 프로그램을실행하는방법은다음과같다. Usage: dsview [-s] dataset_name [member_name] [-c user_catalog] - [-s] 시스템데이터셋의내용을보고자할때사용하는옵션이다. 설정파일중 ds.conf의 [SYS1_CLIENT] 섹션과 [TSAM_CLIENT] 섹션의접속계정이같은경우에는옵션에상관없이시스템데이터셋의내용을볼수있다. - dataset_name 보고자하는데이터셋의이름을지정한다. - [member_name] 보고자하는데이터셋의멤버이름을지정한다. - [-c user_catalog] 보고자하는데이터셋이사용자카탈로그에등록되어있는경우이옵션을설정한다. 단, 사용자카탈로그에 alias가설정되어있어서데이터셋이름만으로찾을수있는경우에는이옵션을주지않아도된다. 참고 : 자세한내용은 데이터셋안내서 의 제 4 장통합카탈로그의카탈로그관리 를참고한다. OpenFrame 툴참조안내서 25

제 3 장데이터셋툴 dsview 에서사용할수있는명령어는다음과같다. 명령어 설명 CTRL+b 이전페이지 CTRL+f 다음페이지 ^ 현재행의첫문자로이동 $ 현재행의마지막문자로이동 125G 125 라인으로이동 :125 125 라인으로이동 G 마지막행으로이동 h,j,k,l 왼쪽, 위쪽, 아래쪽, 오른쪽으로이동 숫자를앞에붙이면숫자만큼이동한다. 예 ) 5h - 5칸왼쪽으로이동한다. /abc abc를검색 /abc 5 5행에서 abc를검색 //616263 Hexa code로검색 n 다음검색 CTRL+l 화면새로고침 :h 도움말 :q 종료 [ 표 3-1] dsview 명령어 사용예제 시스템데이터셋의내용을보여주는예이다. $ dsview -s SYS1.JOBQ 데이터셋에속한멤버의내용을보여주는예이다. $ dsview AAA.PDS TESTPGM 사용자카탈로그에등록되어있는데이터셋의내용을보여주는예이다. $ dsview AAA.BBB -c USERCAT 26 OpenFrame 툴참조안내서

제 3 장데이터셋툴 관련환경설정 dstool.conf [DSVIEW] NOCATALOG_VIEW=[YES NO] 카탈로그에등록되어있지않은 Non-VSAM 데이터셋의내용을보기위한설정이다. NOCATALOG_VIEW=YES를지정하면, 카탈로그에등록되어있지않은데이터셋이라도디폴트볼륨에있는 Non-VSAM 데이터셋의내용을볼수있다. NOCATALOG_VIEW=NO를지정하면, 카탈로그에등록되어있지않은데이터셋의내용은볼수없다. 참고 : 데이터셋에대한자세한내용은 데이터셋안내서 를참고한다. 3.2 dsedit dsedit은 dsview에서좀더발전된형태로데이터셋의내용을보여주고데이터셋의내용을변경을할수있다. 변경은 Replace만이가능하다. 변경이가능하기때문에데이터셋에 lock을독점적으로 (exclusive) 건다. 시용법 dsedit 프로그램을실행하는방법은다음과같다. Usage: dsedit [-s] dataset_name [member_name] [-c user_catalog] - [-s] 시스템데이터셋의내용을보고자할때사용하는옵션이다. 설정파일중 ds.conf 파일의 [SYS1_CLIENT] 섹션과 [TSAM_CLIENT] 섹션의접속계정이같은경우에는옵션에상관없이시스템데이터셋의내용을볼수있다. - dataset_name 보고자하는데이터셋의이름이다. OpenFrame 툴참조안내서 27

제 3 장데이터셋툴 - [member_name] 보고자하는데이터셋의멤버이름이다. - [-c user_catalog] 보고자하는데이터셋이사용자카탈로그에등록되어있는경우이옵션을설정한다. 단, 사용자카탈로그에 alias가설정되어있어서데이터셋이름만으로찾을수있는경우에는이옵션을주지않아도된다. 참고 : 자세한내용은 데이터셋안내서 의 제 4 장통합카탈로그의카탈로그관리 를참고한다. dsedit 에서사용할수있는명령어는다음과같다. 명령어 설명 CTRL+b 이전페이지 CTRL+f 다음페이지 ^ 현재행의첫문자로이동 $ 현재행의마지막문자로이동 125G 125 라인으로이동 :125 125 라인으로이동 G 마지막행으로이동 h,j,k,l 왼쪽, 위쪽, 아래쪽, 오른쪽으로이동 숫자를앞에붙이면숫자만큼이동한다. 예 ) 5h - 5칸왼쪽으로이동한다. /abc abc를검색 /abc 5 5행에서 abc를검색 //616263 Hexa code로검색 n 다음검색 R Replace 모드의시작이다. VSAM의 key는변경할수없다. ESC Replace한내용을저장한다. Backspace Replace 모드중에변경내용을되돌린다. CTRL+l 화면새로고침 :h 도움말 :q 종료 [ 표 3-2] dsedit 명령어 28 OpenFrame 툴참조안내서

제 3 장데이터셋툴 사용예제 시스템데이터셋의내용을보여주는예이다. $ dsedit -s SYS1.JOBQ 데이터셋에속한멤버의내용을보여주는예이다. $ dsedit AAA.PDS TESTPGM 사용자카탈로그에등록되어있는데이터셋을보고자할경우 $ dsedit AAA.BBB -c USERCAT 관련환경설정 dstool.conf [DSVIEW] NOCATALOG_VIEW=[YES NO] 카탈로그에등록되어있지않은 Non-VSAM 데이터셋의내용을보기위한설정이다. NOCATALOG_VIEW=YES를지정하면, 카탈로그에등록되어있지않은데이터셋이라도디폴트볼륨에있는 Non-VSAM 데이터셋의내용을볼수있다. NOCATALOG_VIEW=NO를지정하면, 카탈로그에등록되어있지않은데이터셋의내용은볼수없다. 참고 : 데이터셋에대한자세한내용은 데이터셋안내서 를참고한다. 3.3 dsload dsload는 dsedit의기능을보완하기위한툴로서 Non-VSAM 데이터셋을 UNIX 파일로백업하는기능을제공한다. 이후백업한파일을열어서내용을수정한후 dssave 툴을사용하여파일을데이터셋으로올릴수있다. OpenFrame 툴참조안내서 29

제 3 장데이터셋툴 사용법 dsload 프로그램을실행하는방법은다음과같다. Usage: dsload dataset_name [-m member_name] [-t target filepath] [-f] [-d delimiter] [-c user_catalog] - dataset_name 파일로내리고자하는데이터셋의이름이다. - [-m member_name] 파일로내리고자하는데이터셋의멤버이름이다. - [-t target filepath] 타깃파일의 UNIX 파일경로이다. 이옵션을주지않은경우, 아래의환경설정중 LOAD_DIR에지정된디렉터리를타깃 UNIX 파일경로로사용하고, 데이터셋이름과동일한파일을생성한다. - [-f] 대상파일이이미존재하는경우기존의파일을덮어쓰기한다. - [-d delimiter] 데이터셋레코드사이의 delimiter를지정한다. 특별히 newline으로하고자하는경우 NEWLINE 이라고지정한다. 이옵션을주지않은경우, 아래의환경설정중에 DELIMITER의값을참조한다. - [-c user_catalog] 백업하려는데이터셋이사용자카탈로그에등록되어있는경우에설정한다. 단, 사용자카탈로그에 alias가설정되어있어서데이터셋이름만으로찾을수있는경우에는이옵션을주지않아도된다. 참고 : 자세한내용은 데이터셋안내서 의 제 4 장통합카탈로그의카탈로그관리 를참고한다. 30 OpenFrame 툴참조안내서

제 3 장데이터셋툴 사용예제 데이터셋을 UNIX 파일로백업하는일반적인예이다. $ dsload AAA.BBB 데이터셋의멤버를 UNIX 파일로백업하는예이다. $ dsload AAA.PDS -m MEMBER01 사용자카탈로그에등록되어있는데이터셋을 UNIX 파일로백업하는예이다. $ dsload AAA.BBB -c USERCAT 데이터셋을 UNIX 파일로백업하되, UNIX 상에동일한파일이존재할경우덮어쓰기하는예이다. $ dsload AAA.BBB f 데이터셋을 UNIX 파일로백업하며, 레코드간의 delimiter를 %% 으로지정하는예이다. $ dsload AAA.BBB -d %% 관련환경설정 dstool.conf [DSLOAD] SIZE_LIMIT dsload시데이터셋의크기를제한한다. 설정된값보다작은크기의데이터셋만사용가능하다. 0보다큰수를지정한다. dstool.conf [DSLOAD] LOAD_DIR dsload시에파일을생성할 UNIX 디렉터리경로를지정한다. LOAD_DIR과 [-t target filepath] 옵션을둘다설정하지않은경우에러가발생한다. dstool.conf [DSLOAD] DELIMITER dsload시에레코드의 delimiter로문자또는 NEWLINE 을지정한다. DELIMITER 와 [-d delimiter] 옵션을둘다설정하지않은경우 delimiter는 NULL 스트링이다. 참고 : 관련툴프로그램으로는 dssave이있다. OpenFrame 툴참조안내서 31

제 3 장데이터셋툴 3.4 dssave dssave 는 dsedit 의기능을보완하기위한툴로서변경하고자하는데이터셋을 dsload 를통해서 UNIX 파일로백업하여변경한후, 변경한 UNIX 파일을 Non- VSAM 데이터셋으로올리는기능을한다. 새로데이터셋을생성하지않고, 카탈로그에이미등록되어있는데이터셋에만덮어쓰기한다. 사용법 dssave 프로그램을실행하는방법은다음과같다. Usage: dssave dataset_name [-m member_name] [-s source filepath] [-b] [-d delimiter] [-r] [-t] [-c user_catalog] - dataset_name 올리고자하는데이터셋의이름이다. - [-m member_name] 올리고자하는데이터셋의멤버이름이다. - [-s source filepath] 소스파일의 UNIX 파일경로이다. 이옵션을주지않은경우, 아래의환경설정중 LOAD_DIR에지정된디렉터리를소스 UNIX 파일경로로사용하고, 이디렉터리상에서데이터셋이름으로파일을찾는다. - [-b] 타깃데이터셋의레코드포맷 (RECFM) 이 FB(Fixed Block) 일때, 소스파일의한레코드의길이가짧다면그길이만큼레코드의뒷부분을스페이스로채워준다. - [-d delimiter] 데이터셋레코드사이의 delimiter를지정한다. 32 OpenFrame 툴참조안내서

제 3 장데이터셋툴 특별히 newline 으로하고자하는경우 NEWLINE 이라고지정한다. 이옵션을주지않은경우, 아래의환경설정중에 DELIMITER 의값을참조 한다. - [-r ] 데이터셋으로올리고난후소스파일을삭제한다. - [-t] 소스파일을데이터셋으로올릴수있는지레코드의길이, 포맷, delimiter 를 확인한다. - [-c user_catalog] 올리고자하는데이터셋이사용자카탈로그에등록되어있는경우에설정한다. 단, 사용자카탈로그에 alias가설정되어있어서데이터셋이름만으로찾을수있는경우에는이옵션을주지않아도된다. 참고 : 자세한내용은 데이터셋안내서 의 제 4 장통합카탈로그의카탈로그관리 를참고한다. 사용예제 UNIX 파일을 Non-VSAM 데이터셋으로올리는일반적인예이다. $ dssave AAA.BBB UNIX 파일을 Non-VSAM 데이터셋의멤버로올리는예이다. $ dssave AAA.PDS -m MEMBER01 UNIX 파일을사용자카탈로그에등록된 Non-VSAM 데이터셋으로올리는예이다. $ dssave AAA.BBB -c USERCAT OpenFrame 툴참조안내서 33

제 3 장데이터셋툴 RECFM=FB 인 Non-VSAM 데이터셋으로올리는경우부족한레코드길이를스 페이스로채우는예이다. $ dssave AAA.BBB b 데이터셋레코드간의 delimiter 를 %% 으로지정하는예이다. $ dssave AAA.BBB -d %% UNIX 파일을데이터셋으로올린후소스파일을삭제하는예이다. $ dssave AAA.BBB r UNIX 파일을데이터셋으로올릴수있는지확인하는예이다. $ dssave AAA.BBB -t 참고 : dssave 를수행하기위해서는사전에 dsload 툴을사용하여 UNIX 상에소스파일을생성해두어야한다. 관련환경설정 dstool.conf [DSLOAD] LOAD_DIR dssave시에소스파일의 UNIX 디렉터리경로를지정한다. LOAD_DIR과 [-s source filepath] 옵션을둘다설정하지않은경우에러가발생한다. dstool.conf [DSLOAD] DELIMITER dssave시에레코드의 delimiter로문자또는 NEWLINE 을지정한다. DELIMITER 와 [-d delimiter] 옵션을둘다설정하지않은경우 delimiter는 NULL 스트링이다. 참고 : 관련툴프로그램으로는 dsload 가있다. 34 OpenFrame 툴참조안내서

제 3 장데이터셋툴 3.5 dsmigin dsmigin 는 EBCDIC 코드형태의 Mainframe 데이터셋을 ASCII 코드형태의 OpenFrame 데이터셋으로마이그레이션할때사용하는프로그램이다. Mainframe 데이터셋을 UNIX 환경의 OpenFrame 데이터셋으로마이그레이션하기위해서는일반적으로다음과같은절차가수행된다. Step I. FTP를이용하여 Mainframe 데이터셋을 UNIX 파일로다운로드한다. Step II. 데이터셋을마이그레이션할때스키마파일이필요한경우해당데이터셋을사용하는 COBOL이나 PL/I 소스파일을참조하여스키마파일을작성한다. Step III. dsmigin 툴을이용하여 UNIX에다운로드된파일을 OpenFrame 데이터셋으로적재 (import) 하는작업을수행한다. 사용법 dsmigin 프로그램을실행하는방법은다음과같다. Usage: dsmigin <src_file> <dest_file dataset_name> [options] - <src_file> 마이그레이션을수행할 UNIX 소스파일명또는파일경로를지정한다. - <dest_file> 또는 <dataset_name> 생성할파일또는데이터셋이름을지정한다. 다음은 dsmigin의옵션에대한설명이다. - [-C] EBCDIC 문자로작성된파일을 ASCII 문자로변환만하고 OpenFrame으로적재하지않을경우지정한다. - [-I] [-C] 옵션과반대로변환작업을수행하지않고입력파일을직접 OpenFrame 툴참조안내서 35

제 3 장데이터셋툴 OpenFrame 으로적재하는경우지정한다. - [-S] 입력파일로주어진데이터가소스파일일경우지정한다. 이옵션이지정되 면, 레코드포맷 (RECFM) 은 L 타입이된다. - [-m member_name] 생성할멤버이름 (PDS 를생성할경우 ) 또는생성할상대세대번호 (GDG 를 생성할경우 ) 를지정한다. PDS(Partitioned Data Set) 를생성할경우에는 <dataset_name> 과 [member_name] 을모두지정하여주어야하며, <dataset_name> 만지정되어있는경우에는 SDS(Sequential Data Set) 를생성하게된다. GDG(Generation Data Group) 을생성할경우에는 <dataset_name> 과세대번호를지정하여주어야하며, 일반적으로 +1을지정한다. SDS 를생성하는예 ) $ dsmigin OFR.DATA.SDSEXAM01.TXT OFR.DATA.SDSEXAM01 PDS 를생성하는예 ) $ dsmigin OFR.DATA.PDSEXAM01.TXT OFR.DATA.PDSEXAM01 -m MEMBER1 GDG 를생성하는예 ) $ dsmigin OFR.DATA.GDGEXAM01.TXT OFR.DATA.GDGEXAM01 -m +1 - [-u unit] 데이터셋이생성될 UNIT 그룹명을지정한다. - [-v volume] 데이터셋이생성될볼륨시리얼을지정한다. 이옵션을지정하지않을경우에는 ds.conf [DATASET_DEFAULT] DEFAULT_VOLSER에등록되어있는디폴트볼륨시리얼에데이터셋이생성된다. 36 OpenFrame 툴참조안내서

제 3 장데이터셋툴 - [-c user_catalog] 데이터셋이등록될사용자카탈로그를지정한다. 지정하지않을경우에는 마스터카탈로그에데이터셋이등록된다. - [-e encoding_code] EBCDIC에서 ASCII로코드변환시 EBCDIC 2바이트문자를어떤 ASCII 문자코드로변환할지를지정한다. encoding_code 값에따른변환처리는다음과같으며, 디폴트는 KR 이다. 변환코드 US KR JPW 설명영어 (Default) 한국어 (EUC-KR) 일본어 (Shift-JIS) [ 표 3-3] dsmigin 시 ASCII 변환코드 - [-s scheme] UNIX 소스파일의한레코드에여러 char-set이섞여있는경우에는 (EBCDIC, ASCII 코드가섞여있거나 2바이트문자, Packed Decimal, Zoned Decimal이사용된경우등 ) 레코드단위의단순코드변환이불가능하기때문에 cobgensch 또는 pligensch 프로그램을이용하여스키마파일을생성한후해당스키마파일을지정한다. - [-o dsorg] 생성할데이터셋의 DSORG를지정한다. DSORG에설정할수있는값은 PS, PSU, DA, DAU 등이있으며, 이옵션을지정하지않은경우디폴트값은 PS이다. - [-p keypos] 마이그레이션될데이터셋이 ISAM 타입일경우키위치를지정한다. - [-l rec_len] 데이터셋의레코드포맷 (RECFM) 을 F(Fixed) 로생성할경우에데이터셋의레코드길이를지정한다. OpenFrame 툴참조안내서 37

제 3 장데이터셋툴 -l 옵션을사용하는예 ) $ dsmigin OFR.DATA.SDSEXAM01.TXT OFR.DATA.SDSEXAM01 -s OFR.DATA.SDSEXAM01.conv -l 166 - [-b blksize] 데이터셋의블록사이즈 (BLKSIZE) 를지정한다. - [-f recfm] 데이터셋의레코드포맷 (RECFM) 을지정한다. 지정할수있는레코드포맷으로는 F(Fixed), FB(Fixed Blocked), V(Variable), VB(Variable Blocked), L 타입이있다. - [-d delimiter] UNIX 소스파일에서레코드간의구분을위해사용된 delimiter 를지정한다. - [-w lockwait] 적재 (Import) 대상데이터셋에 lock이걸려있는경우 lock이풀릴때까지대기하고있다가 unlock이되면작업을수행한다. 이옵션을지정하지않은경우적재대상데이터셋에이미 lock이걸려있다면에러메시지를출력하고작업수행을중단한다. - [-N] 마이그레이션과정에서데이터셋을카탈로그에등록하지않을경우지정한 다. - [-R] 데이터셋이이미카탈로그에등록된경우에 re-catalog를위한옵션이다. 카탈로그에서대상데이터셋의등록정보를찾아, 해당볼륨으로데이터셋을적재하고, UNIT, 볼륨, 생성일자등의기존등록정보는그대로유지한다. 이옵션을지정하면 unit(-u) 이나 volume(-v) 파라미터는무시되며, 이옵션을지정하지않은경우적재대상데이터셋이이미카탈로그에등록되어있다면에러메시지를출력하고작업수행을중단한다. - [-F] 대상데이터셋이카탈로그에이미등록되어있다면해당데이터셋을삭제 하고, 다시데이터셋적재작업을수행하여카탈로그에등록한다. UNIT, 볼륨, 38 OpenFrame 툴참조안내서

제 3 장데이터셋툴 생성일자등데이터셋의기존등록정보는모두새롭게갱신된다. 이옵션을지정하지않은경우적재대상데이터셋이이미카탈로그에이미 등록되어있다면에러메시지를출력하고작업수행을중단한다. - [-D] EBCDIC 에서 ASCII 로의코드변환과마이그레이션디버깅결과를화면에출 력한다. - [-V] dsmigin 의버전정보를화면에출력한다. 사용예제 스키마파일의간단한 sample을보여주는예이다. ############################ # conversion scheme sample # ############################ * scheme # 01 a. 0, 166, EBC_ASC, L1 # I-TEST1 # 01 b. 0, 10, COPY, L2 # I-TEST2 10, 90, EBC_ASC, L3 # I-TEST3 100, 66, JO_KSC, L4 # I-TEST4 * condition 0, 0, "\0", ( L1 ) ############################ <DSI.TESTDATA1.conv> UNIX 파일을데이터셋으로적재하는예이다. OpenFrame 툴참조안내서 39

제 3 장데이터셋툴 $ dsmigin DSI.TESTDATA1.txt DSI.TESTDATA1 -s DSI.TESTDATA1.conv -v 100000 - e KR 위의 dsmigin를실행한결과는다음과같다. =====< DSMIGIN START >===== DSMIGIN: (record count = 7) =====< DSMIGIN FINISH >==== dsmigin 를실행한후데이터셋등록정보를확인하는예이다. $ tjesmgr psds DSI.TESTDATA1 위의 tjesmgr 를실행한결과는다음과같다. DSN : DSI.TESTDATA1 VOLUME : 100000 TYPE : NONVSAM DSORG : PS RECFM : F KEYPOS : 0 KEYLEN : 0 LRECL(A) : 32760 LRECL(M) : 32760 BLKSIZE : 32760 DATASIZE : 17000 OWNER ID : OpenFrame DEVTYPE : 3380 CREATION : 20070121 EXPIRATION : 99991231 LAST REFERENCE DATE(TIME) : 20070121(055356) SMS STORAGE CLASS : SMS MANAGEMENT CLASS : MCLAS001 SMS DATA CLASS : 관련환경설정 ds.conf [DATASET_DEFAULT] DEFAULT_VOLSER 디폴트볼륨시리얼을지정한다. 참고 : 관련툴프로그램으로는 dsmigout 이있다. 40 OpenFrame 툴참조안내서

제 3 장데이터셋툴 3.6 dsmigout dsmigout 은 ASCII 코드형태의 OpenFrarme 데이터셋을 EBCDIC 코드형태의 Mainframe 데이터셋으로변환하여 UNIX 파일로이출 (export) 하는프로그램이다. 가변길이데이터셋을이출할때, 레코드구분을위하여각레코드마다 delimiter로 0x0d0a(New Line) 을붙여준다. 사용법 dsmigout 프로그램을실행하는방법은다음과같다. Usage: dsmigout <dataset_name> <dest_file> [options] - <dataset_name> 이출 (export) 하려는데이터셋의이름을기술한다. 데이터셋은카탈로그에등록되어있어야한다. - <dest_file> Output으로생성될파일이름을기술한다. 다음은 dsmigout의옵션에대한설명이다. - [-e encoding] ASCII에서 EBCDIC으로코드변환시 ASCII 코드의종류를지정한다. encoding 값에따른변환처리는다음과같다. 변환코드 KR US JP 설명한국어 (EUC-KR) 영어일본어 (Shift-JIS) [ 표 3-4] dsmigout 시 ASCII 코드 - [-s scheme] OpenFrame 데이터셋의한레코드에여러 char-set이섞여있는경우에는 (EBCDIC, ASCII 코드가섞여있거나 2바이트문자, Packed Decimal, Zoned Decimal이사용된경우등 ) 레코드단위의단순코드변환이불가능하기때 OpenFrame 툴참조안내서 41

제 3 장데이터셋툴 문에 cobgensch 또는 pligensch 프로그램을이용하여스키마파일을생성한 후해당스키마파일을지정한다. - [-D] ASCII 에서 EBCDIC 으로의코드변환과마이그레이션디버깅결과를화면에 출력한다. - -V dsmigout 의버전정보를화면에출력한다. 사용예제 스키마파일의간단한 sample을보여주는예이다. ############################ # conversion scheme sample # ############################ * scheme # 01 a. 0, 166, EBC_ASC, L1 # I-TEST1 # 01 b. 0, 10, COPY, L2 # I-TEST2 10, 90, EBC_ASC, L3 # I-TEST3 100, 66, JO_KSC, L4 # I-TEST4 * condition 0, 0, "\0", ( L1 ) ############################ <DSI.TESTDATA1.conv> dsmigout 결과를보여주는예이다. 42 OpenFrame 툴참조안내서

제 3 장데이터셋툴 $ dsmigout DSI.TESTDATA1 DSI.TESTDATA1.out -e KR -s DSI.TESTDATA1.con 위의 dsmigout 을실행한결과는다음과같다. ==> 100 records is exported. DSI.TESTDATA1 의레코드들이 EBC_ASC 변환방식에의해서바뀌어 DSI.TESTDATA1.out으로출력된다. 참고관련툴프로그램으로는 dsmigin 이있다. 3.7 cobgensch cobgensch는 Mainframe 데이터셋을 OpenFrame 데이터셋으로마이그레이션하는과정에서필요한데이터셋마이그레이션스키마파일을생성해주는프로그램이다. 데이터셋마이그레이션스키마파일을생성하는프로그램으로는 cobgensch과 pligensch가있다. cobgensch는코볼 copybook 소스파일을참조하여스키마파일을생성하고, pligensch는 PL/I 소스파일을참조하여스키마파일을생성한다. 데이터셋마이그레이션수행시원본데이터파일인 UNIX 소스파일의한레코드에여러 char-set이섞여있는경우에는 (EBCDIC, ASCII 코드가섞여있거나 2 바이트문자, Packed Decimal, Zoned Decimal이사용된경우등 ) 레코드단위의일괄적인단순코드변환을할수없다. 따라서레코드의각필드에대한코드변환규칙을스키마파일에정의한다. 이후 dsmigin 프로그램을실행할때각데이터셋에해당하는스키마파일을지정하여데이터셋마이그레이션작업을수행한다. cobgensch 프로그램은코볼소스파일이나코볼 copybook 파일로마이그레이션스키마파일을생성한다. 사용법 cobgensch 를실행하는방법은다음과같다. OpenFrame 툴참조안내서 43

제 3 장데이터셋툴 Usage: cobgensch input_file [-r rec_len] - input_file 코볼소스파일또는코볼 copybook 파일을지정한다. - [-r rec_len] 스키마파일을사용할데이터셋이고정길이레코드이고레코드길이를알고있는경우에레코드길이를지정하면, 스키마파일생성시에레코드길이정합성을체크한다. 사용예제 코볼 copybook 파일의간단한 sample을보여주는예이다. FD I-FILE RECORDING MODE IS F RECORD CONTAINS 95 CHARACTERS BLOCK CONTAINS 0 RECORDS LABEL RECORDS ARE STANDARD DATA RECORD ARE I-REC. 01 I-REC. 05 I-SAGNO PIC X(11). 05 I-DAMBO PIC X(02). 05 I-PHNO PIC X(03). 05 I-BKNO PIC 9(03). 05 I-BKDT PIC X(10). 05 I-BKDT-I PIC X(01). 05 I-BSGB PIC X(02). 05 I-BSHG PIC X(02). 05 I-CIGB PIC X(02). 05 I-CIHG PIC X(02). 05 I-JHGB PIC X(02). 05 I-TTJC PIC S9(13) COMP-3. 44 OpenFrame 툴참조안내서

제 3 장데이터셋툴 05 I-TTIC PIC S9(13). 05 I-NAME PIC X(20). 05 I-TEST1 PIC Z(10). 05 I-TEST2 PIC +(10). 05 I-TEST3 PIC -(10). 05 I-TEST4 PIC ---------9. 05 I-TEST5 PIC ----------. 05 I-TEST6 PIC $(10). 05 I-TEST7 PIC \(10). <COB.TESTDATA1.cpy> cobgensch 를실행하여정합성을체크하는예이다. $ cobgensch COB.TESTDATA1.cpy -r 100 위의 cobgensch를실행한결과, 레코드길이정합성체크에서에러가발생했다. input filename = COB.TESTDATA1.cpy input record length = 100 scheme filename = /home/tmax/openframe/schema/cob.testdata1.conv ** input record length is different from scheme record length!!! ** (input reclen = 100, scheme reclen = 150) cobgensch 를실행하여코볼스키마파일을생성하는예이다. $ cobgensch COB.TESTDATA1.cpy 위의 cobgensch 를실행한결과정상적으로코볼스키마파일이생성되었다. input filename = COB.TESTDATA1.cpy scheme filename = /home/tmax/openframe/schema/cob.testdata1.conv cobgensch 를실행하여코볼스키마파일을생성하고, 정합성을체크하는예이다. $ cobgensch COB.TESTDATA1.cpy -r 150 위의 cobgensch 를실행한결과정상적으로코볼스키마파일이생성되었고, 정 OpenFrame 툴참조안내서 45

제 3 장데이터셋툴 합성체크시오류가발생하지않았다. input filename = COB.TESTDATA1.cpy input record length = 150 scheme filename = /home/tmax/openframe/schema/cob.testdata1.conv 위의 cobgensch 를실행한후생성된스키마파일의내용 sample 을보여준다. * scheme # 01 ROOT_REC_01. 0, 11, EBC_ASC, L2 # I-SAGNO 11, 2, EBC_ASC, L3 # I-DAMBO 13, 3, EBC_ASC, L4 # I-PHNO 16, 3, ZONED, L5 # I-BKNO 19, 10, EBC_ASC, L6 # I-BKDT 29, 1, EBC_ASC, L7 # I-BKDT-I 30, 2, EBC_ASC, L8 # I-BSGB 32, 2, EBC_ASC, L9 # I-BSHG 34, 2, EBC_ASC, L10 # I-CIGB 36, 2, EBC_ASC, L11 # I-CIHG 38, 2, EBC_ASC, L12 # I-JHGB 40, 7, COPY, L13 # I-TTJC 47, 13, ZONED, L14 # I-TTIC 60, 20, EBC_ASC, L15 # I-NAME 80, 10, ZONED, L16 # I-TEST1 90, 10, ZONED, L17 # I-TEST2 100, 10, ZONED, L18 # I-TEST3 110, 10, EBC_ASC, L19 # I-TEST4 120, 10, ZONED, L20 # I-TEST5 130, 10, ZONED, L21 # I-TEST6 140, 10, ZONED, L22 # I-TEST7 * condition 46 OpenFrame 툴참조안내서

제 3 장데이터셋툴 0, 0, "\0", ( L2 L3 L4 L5 L6 L7 L8 L9 L10 L11 L12 L13 L14 L15 L16 L17 L18 L19 L20 L21 L22 ) <COB.TESTDATA1.conv> 3.8 pligensch pligensch는 Mainframe 데이터셋을 OpenFrame 데이터셋으로마이그레이션하는과정에서필요한데이터셋마이그레이션스키마파일을생성해주는프로그램이다. cobgensch 프로그램과마찬가지로 PL/I 소스파일을참조하여 Mainframe 데이터셋의레코드구조를파악하여스키마파일을생성한다. [ 그림 3-1] PL/I 스키마파일생성과 OpenFrame 데이터셋생성과정 [ 그림 3-1] 과같이 pligensch에 PL/I 소스를입력하면레코드구조를담은스키마파일이생성된다. dsmigin 수행시스키마파일과 Mainframe 데이터셋을입력파라미터로지정하여 OpenFrame 데이터셋을생성할수있다. 사용법 pligensch 를실행하는방법은다음과같다. Usage: pligensch [-h] [-y] [-l] [-d] [-o file] [-i dir] [-s] [-f aix] [-f liant] file1 [file2...] - [-h] pligensch에서사용가능한옵션에대한정보를보여준다. OpenFrame 툴참조안내서 47

제 3 장데이터셋툴 - [-y] parser 에서생성된디버그메시지를보여준다. - [-l] scanner 에서생성된디버그메시지를보여준다. - [-d] scanner 와 parser 를포함한모든생성된디버그메시지를보여준다. - [-o file] 전처리결과를출력할파일명을지정한다. - [-i dir] PL/I 의 include 파일들이존재하는위치를지정한다. - [-s] 입력파일이 structure 만을포함하는파일일때지정한다. - [-f aix] 입력으로받을 PL/I 소스가 AIX PL/I일때지정한다. -f 옵션을주지않으면기본적으로 AIX PL/I로인식한다. - [-f liant] 입력으로받는 PL/I 소스가 Liant Open PL/I 일때지정한다. 사용예제 다음은 PL/I Include 파일의간단한 sample을보여주는예이다. 3 TEST1 CHAR(02), 3 TEST2 CHAR(05), 3 TEST3, 5 TEST4 PIC (03)9, 5 TEST5 PIC (03)X, 3 TEST6 FIXED DEC (3, 0); 48 OpenFrame 툴참조안내서

제 3 장데이터셋툴 <PLI.TESTDATA1.inc> pligensch 를실행하여코볼스키마파일을생성하는예이다. $ pligensch s PLI.TESTDATA1.inc 위의 pligensch 를실행한결과정상적으로코볼스키마파일이생성되었다. Initiation Scheme filename = /home/tmax/openframe/schema/pli.testdata1.conv pligensch 를실행한후생성된스키마파일의내용 sample 을보여준다. * scheme # 01 TEST1_STRUCTURE. 0, 2, EBC_ASC, L2 # TEST1 2, 5, EBC_ASC, L3 # TEST2 # 03 TEST3. 7, 3, ZONED, L5 # TEST4 10, 3, EBC_ASC, L6 # TEST5 13, 2, COPY, L7 # TEST6 * condition 0, 0, "\0", ( L2 L3 L5 L6 L7 ) <PLI.TESTDATA1.conv> 3.9 dslist dslist 는데이터셋에대한정보를조회할때사용하는프로그램이다. 사용자의옵션에따라다음의기능이있다. - 특정데이터셋이름으로데이터셋정보를조회한다. - 특정볼륨에들어있는데이터셋에대한정보를조회한다.. - 특정카탈로그에등록된데이터셋에대한정보를조회한다.. OpenFrame 툴참조안내서 49

제 3 장데이터셋툴 - 생성일자, 마지막참조일자및데이터셋크기별로조건을주어서조건에 해당하는데이터셋정보를조회한다. - 결과는카탈로그별로데이터셋이름을기준으로정렬되어조회된다. 사용법 dslist 프로그램을실행하는방법은다음과같다. Usage: dslist [-v volser] [-dsn dsname] [-cat user_catalog] [-cd create_date] [-rd last_reference_date] [-sz data_size] [-V] - [-v volser] 특정볼륨에속해있는데이터셋을조회한다. 지정한볼륨에해당하는데이터셋정보만조회된다. - [-dsn dsname] 조회하고자하는데이터셋이름을지정한다. 와일드카드문자를사용하여데이터셋이름을지정할수있다. AAA.* 는 AAA.BBB나 AAA.CCC 처럼다음한개의퀄리파이어에대해서모든데이터셋을찾는다. AAA.** 는 AAA.BBB, AAA.CCC, AAA.BBB.FFF, AAA.BBB.GGG 처럼 AAA. 으로시작하는모든데이터셋을찾는다. - [-cat user_catalog] 특정카탈로그에등록된데이터셋을조회할때사용된다. 지정된카탈로그에등록된데이터셋정보만조회한다. - [-cd create_date] create_date에해당하는데이터셋만조회한다. 생성일자가 2006 년 3 월 28 일인데이터셋정보만조회하는예이다. 50 OpenFrame 툴참조안내서

제 3 장데이터셋툴 $ dslist -cd 20060328 생성일자가 2006년 1월 1일이후부터 2006년 3월 31일이전인데이터셋정보만조회하는예이다. $ dslist -cd 20060101-20060331 생성일자가 2006 년 1 월 1 일이후인데이터셋정보만조회하는예이다. $ dslist -cd 20060101- 생성일자가 2006 년 3 월 31 일이전인데이터셋정보만조회하는예이다. $ dslist -cd -20060331 - [-rd last_reference_date] last_reference_date에해당하는데이터셋만조회한다. 마지막참조일자가 2006 년 3 월 28 일인데이터셋정보만조회하는예이다. $ dslist -rd 20060328 마지막참조일자가 2006년 1월 1일이후부터 2006년 3월 31일이전인데이터셋정보만조회하는예이다. $ dslist -rd 20060101-20060331 마지막참조일자가 2006년 1월 1일이후인데이터셋정보만조회하는예이다. $ dslist -rd 20060101- 마지막참조일자가 2006년 3월 31일이전인데이터셋정보만조회하는예이다. $ dslist -rd -20060331 - [-sz data_size] data_size에해당하는데이터셋만조회한다. OpenFrame 툴참조안내서 51

제 3 장데이터셋툴 데이터셋크기가 1K 바이트인데이터셋정보만조회하는예이다. $ dslist -sz 1K 데이터셋크기가 100 바이트이상이고 100M 바이트이하인데이터셋정보만조회하는예이다. $ dslist -sz 100-1M 데이터셋크기가 1M 바이트이상인데이터셋정보만조회하는예이다. $ dslist -sz 1M- 데이터셋크기가 12M 바이트이하인데이터셋정보만조회하는예이다. $ dslist -sz -12M - [-V] dslist의버전을확인한다. 사용예제 볼륨 100000에속해있는데이터셋중 2007년 1월 21일이후에생성된데이터셋의정보를조회하는예이다. $ dslist -v 100000 -cd 20070121- 위의 dslist 프로그램수행후출력되는내용은다음과같다. ----------< CATALOG: SYS1.MASTER.ICFCAT.MJES >----------- DSN : DSI.TESTDATA1 VOLUME : 100000 TYPE : NONVSAM DSORG : PS RECFM : VB KEYPOS : 0 KEYLEN : 0 LRECL(A) : 32760 LRECL(M) : 32760 BLKSIZE : 2097152 DATASIZE : 17000 52 OpenFrame 툴참조안내서

제 3 장데이터셋툴 OWNER ID : saza DEVTYPE : 3380 CREATION : 20070121 EXPIRATION : 99991231 LAST REFERENCE DATE(TIME) : 20070121(055815) SMS STORAGE CLASS : SMS MANAGEMENT CLASS : MCLAS001 SMS DATA CLASS : DSN : TEST.INPUT01 VOLUME : 100000 TYPE : NONVSAM DSORG : PO RECFM : FB KEYPOS : 0 KEYLEN : 0 LRECL(A) : 21 LRECL(M) : 21 BLKSIZE : 2100 DATASIZE : 357 OWNER ID : ROOT DEVTYPE : 3380 CREATION : 20070124 EXPIRATION : 99991231 LAST REFERENCE DATE(TIME) : 20070124(162253) SMS STORAGE CLASS : SMS MANAGEMENT CLASS : MCLAS001 SMS DATA CLASS : DSN : TEST.INPUT02 VOLUME : 100000 TYPE : NONVSAM DSORG : PO RECFM : FB KEYPOS : 0 KEYLEN : 0 LRECL(A) : 21 LRECL(M) : 21 BLKSIZE : 2100 DATASIZE : 252 OWNER ID : ROOT DEVTYPE : 3380 CREATION : 20070124 EXPIRATION : 99991231 LAST REFERENCE DATE(TIME) : 20070124(154028) SMS STORAGE CLASS : SMS MANAGEMENT CLASS : MCLAS001 SMS DATA CLASS : ====> 3 entries exist in catalog SYS1.MASTER.ICFCAT.MJES OpenFrame 툴참조안내서 53

제 3 장데이터셋툴 ======== total 3 entries are found. ======== 데이터셋크기가 10K 바이트이상 20K 바이트이하인데이터셋의정보를보여주는예이다. $ dslist -sz 10K-20K 위의 dslist 프로그램수행후출력되는내용은다음과같다. ----------< CATALOG: SYS1.MASTER.ICFCAT.MJES >----------- DSN : DSI.TESTDATA1 VOLUME : 100000 TYPE : NONVSAM DSORG : PS RECFM : VB KEYPOS : 0 KEYLEN : 0 LRECL(A) : 32760 LRECL(M) : 32760 BLKSIZE : 2097152 DATASIZE : 17000 OWNER ID : saza DEVTYPE : 3380 CREATION : 20070121 EXPIRATION : 99991231 LAST REFERENCE DATE(TIME) : 20070121(055815) SMS STORAGE CLASS : SMS MANAGEMENT CLASS : MCLAS001 SMS DATA CLASS : ====> 1 entries exist in catalog SYS1.MASTER.ICFCAT.MJES ----------< CATALOG: TEST.UCAT >----------- DSN : YTH.TEST01 VOLUME : 100000 TYPE : NONVSAM DSORG : PS RECFM : FB KEYPOS : 0 KEYLEN : 0 LRECL(A) : 100 LRECL(M) : 100 BLKSIZE : 100 DATASIZE : 18000 OWNER ID : saza DEVTYPE : 3380 CREATION : 20061230 EXPIRATION : 99991231 LAST REFERENCE DATE(TIME) : 20061230(013412) 54 OpenFrame 툴참조안내서

제 3 장데이터셋툴 SMS STORAGE CLASS : SMS MANAGEMENT CLASS : MCLAS001 SMS DATA CLASS : ====> 1 entries exist in catalog TEST.UCAT ======== total 2 entries are found. ======== 3.10 dsmove dsmove는데이터셋을 move 시키는기능을하는프로그램이다. 다시말해, 데이터셋의이름은유지하면서볼륨만을변경하거나데이터셋의이름만을변경할수있고, 또는이름과볼륨을모두변경할수도있다. 데이터셋이 move될때생성일자는입력데이터셋의생성일자로유지된다. 사용법 dsmove 프로그램을실행하는방법은다음과같다. Usage: dsmove IN-DSN OUT-DSN [-v out_volser] [-V] dsmove -V - in_dsn 입력데이터셋이름을기술한다. dsmove가정상종료되면입력데이터셋은삭제된다. - out_dsn 출력데이터셋이름을기술한다. 와일드카드문자를사용하여 in_dsn 과 out_dsn 을지정할수있다. in_dsn에는 AAA.* 또는 AAA.** 처럼마지막에와일드카드를사용한다. AAA.* 는 AAA.BBB나 AAA.CCC 처럼 AAA으로시작되는데이터셋중에다음한개의퀄리파이어에대해서모든데이터셋을찾아 dsmove의입력데이터셋으로사용한다. AAA.** 는 AAA.BBB, AAA.CCC, AAA.BBB.FFF, AAA.BBB.GGG 처럼 AAA. 으로 OpenFrame 툴참조안내서 55

제 3 장데이터셋툴 시작하는모든데이터셋을찾아입력데이터셋으로사용한다. out_dsn에는 DDD.* 또는 DDD.** 모두동일한결과를보인다. out_dsn에서 * 는에러메시지를출력하고종료한다. 다음은 AAA. 으로시작하는모든데이터셋을 DDD. 으로시작하는데이터셋으로변경하는예이다. $ dsmove AAA.** DDD.* 위의예제에서 AAA.BBB와 AAA.BBB.CCC는 DDD.BBB와 DDD.BBB.CCC로각각변경된다. - [-v out_volser] 출력데이터셋이생성될볼륨을기술한다. 만일 in_dsn 이름과 out_dsn 이름이같다면볼륨을반드시기술해야한다. 그리고이때기술된볼륨은입력데이터셋의볼륨과달라야한다. - [-V] dsmove의버전을확인한다. 사용예제 데이터셋의볼륨만변경하는예이다. $ dsmove DSMOVE.TEST01 DSMOVE.TEST01 -v 200000 위의 dsmove 프로그램실행전 DSMOVE.TEST01 의정보는다음과같다. DSN : DSMOVE.TEST01 VOLUME : 100000 TYPE : NONVSAM DSORG : PS RECFM : FB KEYPOS : 0 KEYLEN : 0 LRECL(A) : 11 LRECL(M) : 11 BLKSIZE : 110 DATASIZE : 32472 OWNER ID : saza DEVTYPE : 3380 CREATION : 20061215 EXPIRATION : 99991231 56 OpenFrame 툴참조안내서

제 3 장데이터셋툴 LAST REFERENCE DATE(TIME) : 20070124(131120) SMS STORAGE CLASS : SMS MANAGEMENT CLASS : MCLAS001 SMS DATA CLASS : <DSMOVE.TEST01> dsmove 프로그램실행후다음메시지가출력된다. [20070124 13:13:31]: dsmove start [20070124 13:13:31]: ----------------------------------------- [20070124 13:13:31]: dsname DSMOVE.TEST01 is processing. [20070124 13:13:32]: Dataset DSMOVE.TEST01 is moved to volume 200000 [20070124 13:13:32]: ----------------------------------------- [20070124 13:13:32]: dsmove end [20070124 13:13:32]: RC = 0 dsmove 프로그램실행후 DSMOVE.TEST01 의정보는다음과같다. DSN : DSMOVE.TEST01 VOLUME : 100000 TYPE : NONVSAM DSORG : PS RECFM : FB KEYPOS : 0 KEYLEN : 0 LRECL(A) : 11 LRECL(M) : 11 BLKSIZE : 110 DATASIZE : 32472 OWNER ID : saza DEVTYPE : 3480 (TAPE Device) CREATION : 20061215 EXPIRATION : 99991231 LAST REFERENCE DATE(TIME) : 20070124(131509) SMS STORAGE CLASS : SMS MANAGEMENT CLASS : MCLAS001 SMS DATA CLASS : <DSMOVE.TEST01> 위의예제에서데이터셋 DSMOVE.TEST01의볼륨이 100000에서 200000으로바뀌었다. 볼륨 200000은테이프볼륨으로설정된상태라 DEVTYPE도 TAPE으로바뀌었다. OpenFrame 툴참조안내서 57

제 3 장데이터셋툴 데이터셋의이름을변경하는예이다. $ dsmove DSMOVE.TEST02 DSMOVE.TEST03 dsmove 프로그램실행전 DSMOVE.TEST02 의정보는다음과같다. DSN : DSMOVE.TEST02 VOLUME : 200000 TYPE : NONVSAM DSORG : PS RECFM : FB KEYPOS : 0 KEYLEN : 0 LRECL(A) : 11 LRECL(M) : 11 BLKSIZE : 110 DATASIZE : 32472 OWNER ID : saza DEVTYPE : 3480 (TAPE Device) CREATION : 20061215 EXPIRATION : 99991231 LAST REFERENCE DATE(TIME) : 20070124(132209) SMS STORAGE CLASS : SMS MANAGEMENT CLASS : MCLAS001 SMS DATA CLASS : <DSMOVE.TEST02> dsmove 프로그램실행후다음메시지가출력된다. [20070124 13:23:03]: dsmove start [20070124 13:23:03]: ----------------------------------------- [20070124 13:23:03]: dsname DSMOVE.TEST02 is processing. [20070124 13:23:04]: dataset DSMOVE.TEST02 is moved to dataset DSMOVE.TEST03 [20070124 13:23:04]: ----------------------------------------- [20070124 13:23:04]: dsmove end [20070124 13:23:04]: RC = 0 데이터셋 DSMOVE.TEST02는삭제되고, 데이터셋 DSMOVE.TEST03이생성된다. DSMOVE.TEST03의정보는다음과같다. DSN : DSMOVE.TEST03 58 OpenFrame 툴참조안내서

제 3 장데이터셋툴 VOLUME : 200000 TYPE : NONVSAM DSORG : PS RECFM : FB KEYPOS : 0 KEYLEN : 0 LRECL(A) : 11 LRECL(M) : 11 BLKSIZE : 110 DATASIZE : 32472 OWNER ID : saza DEVTYPE : 3480 (TAPE Device) CREATION : 20061215 EXPIRATION : 99991231 LAST REFERENCE DATE(TIME) : 20070124(132304) SMS STORAGE CLASS : SMS MANAGEMENT CLASS : MCLAS001 SMS DATA CLASS : 위의예제에서데이터셋이름만 DSMOVE.TEST03으로변경되고, LAST REFERENCE DATE(TIME) 을제외한나머지정보는동일하다. 데이터셋의이름과볼륨을둘다변경하는예이다. $ dsmove DSMOVE.TEST04 DSMOVE.TEST05 -v 100000 dsmove 실행전 DSMOVE.TEST04 의정보는다음과같다. DSN : DSMOVE.TEST04 VOLUME : 200000 TYPE : NONVSAM DSORG : PS RECFM : FB KEYPOS : 0 KEYLEN : 0 LRECL(A) : 11 LRECL(M) : 11 BLKSIZE : 110 DATASIZE : 32472 OWNER ID : saza DEVTYPE : 3480 (TAPE Device) CREATION : 20061215 EXPIRATION : 99991231 LAST REFERENCE DATE(TIME) : 20070124(132719) SMS STORAGE CLASS : SMS MANAGEMENT CLASS : MCLAS001 SMS DATA CLASS : <DSMOVE.TEST04> OpenFrame 툴참조안내서 59

제 3 장데이터셋툴 dsmove 프로그램실행후다음메시지가출력된다. [20070124 13:28:58]: dsmove start [20070124 13:28:58]: ------------------------------------------------ [20070124 13:28:58]: dsname DSMOVE.TEST04 is processing. [20070124 13:28:58]: 데이터셋 DSMOVE.TEST04 is moved to 데이터셋 DSMOVE.TEST05 [20070124 13:28:58]: ------------------------------------------------ [20070124 13:28:58]: dsmove end [20070124 13:28:58]: RC = 0 데이터셋 DSMOVE.TEST04는삭제되고, 데이터셋 DSMOVE.TEST05가볼륨 100000에생성된다. DSMOVE.TEST05의정보는다음과같다. DSN : DSMOVE.TEST05 VOLUME : 100000 TYPE : NONVSAM DSORG : PS RECFM : FB KEYPOS : 0 KEYLEN : 0 LRECL(A) : 11 LRECL(M) : 11 BLKSIZE : 110 DATASIZE : 32472 OWNER ID : saza DEVTYPE : 3380 CREATION : 20061215 EXPIRATION : 99991231 LAST REFERENCE DATE(TIME) : 20070124(133028) SMS STORAGE CLASS : SMS MANAGEMENT CLASS : MCLAS001 SMS DATA CLASS : 와일드카드문자를사용하여데이터셋이름을변경하는예이다. $ dsmove TEST01.* TEST02.* 위의 dsmove 프로그램실행후다음의메시지가출력된다. [20070124 14:54:39]: dsmove start [20070124 14:54:39]: ------------------------------------------------ [20070124 14:54:39]: dsname TEST01.EDIT01 is processing. [20070124 14:54:40]: dataset TEST01.EDIT01 is moved to dataset 60 OpenFrame 툴참조안내서

제 3 장데이터셋툴 TEST02.EDIT01 [20070124 14:54:40]: ------------------------------------------------ [20070124 14:54:40]: dsname TEST01.FB01 is processing. [20070124 14:54:40]: dataset TEST01.FB01 is moved to dataset TEST02.FB01 [20070124 14:54:40]: ------------------------------------------------ [20070124 14:54:40]: dsname TEST01.PDS01 is processing. [20070124 14:54:40]: dataset TEST01.PDS01 is moved to dataset TEST02.PDS01 [20070124 14:54:40]: ------------------------------------------------ [20070124 14:54:40]: dsmove end [20070124 14:54:40]: RC = 0 세개의데이터셋 TEST01.EDIT01, TEST01.FB01, TEST01.PDS01이각각 TEST02.EDIT01, TEST02.FB01, TEST02.PDS01으로이름이변경되었다. 관련환경설정 dstool.conf [DSMOVE] SYSOUT=log file path dsmove 수행중발생하는메시지가 stdout, stderr 대신 SYSOUT에설정된로그파일경로에기록된다. 3.11 dstouch dstouch는데이터셋의레코드카운트및생성일자를갱신하는프로그램이다. 데이터셋의실제레코드카운트가카탈로그에기록되어있는카운트와다른경우실제카운트로카탈로그의기록을갱신한다. 사용법 dstouch 프로그램을실행하는방법은다음과같다. Usage: dstouch dataset_name [member_name] [-c user_catalog] [-d creation_date] OpenFrame 툴참조안내서 61

제 3 장데이터셋툴 - dataset_name 변경하고자하는데이터셋의이름을지정한다. - [member_name] 변경하고자하는데이터셋의멤버이름을지정한다. - [-c user_catalog] 변경하고자하는데이터셋이사용자카탈로그에등록되어있는경우지정한 다. 단, 사용자카탈로그 alias 가설정되어있어서데이터셋이름만으로찾 을수있는경우에는이옵션을주지않아도된다. 참고 : 자세한내용은 데이터셋안내서 의 제 4 장통합카탈로그의카탈로그관리 를참고한다. - [-d creation_date] 변경하고자하는생성일자를 YYYYMMDD 형식으로지정한다. 이옵션으로데이터셋의생성일자도함께갱신할수있다. 사용예제 AAA.BBB 데이터셋의레코드의카운트를갱신하는예이다. $ dstouch AAA.BBB AAA.BBB 데이터셋의멤버 MEMBER01 의레코드카운트를갱신하는예이다. $ dstouch AAA.BBB MEMBER01 사용자카탈로그 USERCAT에등록되어있는 AAA.BBB 데이터셋의레코드카운트를갱신하는예이다. $ dstouch AAA.BBB -c USERCAT AAA.BBB 데이터셋의레코드카운트갱신하고생성일자 2007년4월30일로변경하는예이다. $ dstouch AAA.BBB -d 20070430 62 OpenFrame 툴참조안내서

제 3 장데이터셋툴 참고 : 데이터셋에대한자세한내용은 데이터셋안내서 를참고한다. 3.12 pdsgen pdsgen은 PDS 데이터셋을생성하거나 OpenFrame 인스톨러에서시스템에필요한 PDS 데이터셋을생성하는프로그램이다. PDS 데이터셋을생성할때데이터셋에 lock을걸지않으므로, 운영중에는사용하지않고인스톨할때만사용하도록권장한다. 사용법 pdsgen 프로그램을실행하는방법은다음과같다. Usage: pdsgen {dsname} {volser} [-rf {recfm}] [-len {lrecl}] - {dsname} 생성할 PDS 데이터셋이름을지정한다. - {volser} 생성한 PDS 데이터셋을저장할볼륨시리얼을지정한다. - [-rf {recfm}] 생성할 PDS 데이터셋의레코드포맷을지정한다. - [-len {lrecl}] 생성할 PDS 데이터셋의레코드길이를지정한다. pdsgen을통해생성된 PDS는 RECFM=FB, LRECL=80, BLKSIZE=8000의속성을가진다. 사용예제 TEST.PDS 데이터셋을 100000 볼륨에생성하는예이다. $ pdsgen TEST.PDS 100000 OpenFrame 툴참조안내서 63

제 3 장데이터셋툴 위의프로그램을실행하면다음과같은 TEST.PDS 파일이생성된다. DSN : TEST.PDS VOLUME : 100000 TYPE : NONVSAM DSORG : PO RECFM : FB KEYPOS : 0 KEYLEN : 0 LRECL(A) : 80 LRECL(M) : 80 BLKSIZE : 8000 DATASIZE : 0 OWNER ID : open DEVTYPE : 3380 CREATION : 20070126 EXPIRATION : LAST REFERENCE DATE(TIME) : () SMS STORAGE CLASS : SMS MANAGEMENT CLASS : SMS DATA CLASS : 64 OpenFrame 툴참조안내서

제 4 장 HiDB 관련툴 제 4 장 HiDB 관련툴 4.1 hdmpgen hdmpgen 은 IMS DB 데이터셋을 OpenFrame HiDB 데이터셋으로마이그레이션 하기위해서 IMS DB 데이터셋을 SAM 파일로덤프할때사용할코볼프로그램 을생성하는툴이다. 사용법 hdmpgen 프로그램을실행하는방법은다음과같다. Usage: hdmpgen DBDNAME - DBDNAME 마이그레이션할데이터셋의구조를정의한 DBD 이름을지정한다. hdmpgen 은 DBD를바탕으로코볼프로그램을생성한다. hdmpgen 을실행시킨디렉터리에 DBDNAME.cbl 코볼프로그램이생성된다. 사용예제 EXDBD1 으로코볼프로그램을생성하는예이다. $ hddmpgen EXDBD1 위의예제실행결과코볼프로그램 EXDBD1.cbl 이생성된다. 참고 : HiDB 에대한자세한내용은 HiDB 안내서 를참고한다. OpenFrame 툴참조안내서 65

제 4 장 HiDB 관련툴 4.2 hdgensch hdgensch는 IMS DB 데이터셋을 OpenFrame HiDB 데이터셋으로마이그레이션할때 EBCDIC 코드에서 ASCII 코드로변환시사용되는스키마파일을생성하는프로그램이다. 스키마파일에는레코드의필드별로코드변환규칙이지정되어있다. 사용법 hdgensch 프로그램을실행하는방법은다음과같다. Usage: hdgensch DBDNAME - DBDNAME 마이그레이션할 HiDB 데이터셋의구조를정의한 DBD 이름을지정한다. DBD 안에는여러개의세그먼트들이정의되어있다. hdgensch를이용하여스키마파일을만들기위해서는이들세그먼트이름에해당하는코볼 copybook이 $WORK/cpybook 디렉터리에존재해야한다. $WORK/hidb_conv/scheme 에 DBDNAME.conv 스키마파일이생성된다. 사용예제 스키마파일을생성하는예이다. $ hdgensch EXDBD1 PRINT DBD DATASET NOGEN NAME=EXDBD1,ACCESS=(HIDAM,VSAM) DD1=HIDAMD,DEVICE=3380 * SEGM LCHILD FIELD NAME=SEG1,BYTES=48,POINTER=TWINBWD NAME=(POINTER,EXHIIND),POINTER=INDX NAME=(SEG1KEY,SEQ),BYTES=6,START=1,TYPE=C 66 OpenFrame 툴참조안내서

제 4 장 HiDB 관련툴 FIELD FIELD FIELD NAME=KOSI,BYTES=4,START=7,TYPE=C NAME=/CKXX,BYTES=4,START=1 NAME=/SX1,BYTES=4 * SEGM FIELD FIELD FIELD NAME=SEG2,PARENT=((SEG1,DBLE)),BYTES=32,POINTER=TWINBWD NAME=(SEG2KEY,SEQ),BYTES=6,START=1,TYPE=C NAME=HAHA,BYTES=4,START=7,TYPE=C NAME=/SX2,BYTES=4 * SEGM FIELD NAME=SEG3,PARENT=((SEG2,DBLE)),BYTES=16,POINTER=TWINBWD NAME=(SEG3KEY,SEQ),BYTES=6,START=1,TYPE=C * SEGM FIELD NAME=SEG4,PARENT=((SEG2,DBLE)),BYTES=32,POINTER=TWINBWD NAME=(SEG4KEY,SEQ),BYTES=6,START=1,TYPE=C * SEGM FIELD NAME=SEG5,PARENT=((SEG1,DBLE)),BYTES=48,POINTER=TWINBWD NAME=(SEG5KEY,SEQ),BYTES=6,START=1,TYPE=C * DBDGEN FINISH END <DBD EXDBD1> 위의 <DBD EXDBD1> 에서 SEGM 구문에정의된 NAME은 SEG1, SEG2, SEG3, SEG4, SEG5가있으며이들을세그먼트라부른다. hdgensch는 DBD에서이들세그먼트이름을찾고, 지정된디렉터리 ($WORK/cpybook) 에서세그먼트에해당하는코볼 copybook을찾는다. 위의예제에서는지정된디렉터리 ($WORK/cpybook) 에서 SEG1.cpy, SEG2.cpy, SEG3.cpy, SEG4.cpy, SEG5.cpy를찾는다. 그리고 hdgensch 프로그램을사용하여각각의 copybook에서스키마파일 SEG1.conv, SEG2.conv, SEG3.conv, SEG4.conv, SEG5.conv을생성한다. 마지막으로이들 5개의스키마파일을하나의 EXDBD1.conv 스키마파일로생성한다. OpenFrame 툴참조안내서 67

제 4 장 HiDB 관련툴 EXDBD1.conv 의결과는다음과같다. # conversion scheme *conversion SEG1 0, 8, EBC_ASC # SEGMENT ID 8, 48, EBC_ASC # SEG1-DATA # conversion scheme *conversion SEG2 0, 8, EBC_ASC # SEGMENT ID 8, 16, EBC_ASC # SEG2-DATA 24, 4, ZONED # SEG2-NUM 28, 12, EBC_ASC # SEG2-NAME 40, 16, COPY # FILLER # conversion scheme *conversion SEG3 0, 8, EBC_ASC # SEGMENT ID 8, 16, EBC_ASC # SEG3-NAME 24, 32, COPY # FILLER # conversion scheme *conversion SEG4 0, 3, EBC_ASC # SEGMENT ID 8, 28, EBC_ASC # SEG4-NAME 36, 4, COPY # SEG-VAL 40, 16, COPY # FILLER # conversion scheme 68 OpenFrame 툴참조안내서

제 4 장 HiDB 관련툴 *conversion SEG5 0, 3, EBC_ASC # SEGMENT ID 8, 48, EBC_ASC # SEG5-DATA *condition 0, 8, "SEG1 ", SEG1 0, 8, "SEG2 ", SEG2 0, 8, "SEG3 ", SEG3 0, 8, "SEG4 ", SEG4 0, 8, "SEG5 ", SEG5 관련환경설정 UNIX 환경파일 (.profile) 에환경변수 WORK를설정한다. WORK=$HOME/work $WORK/cpybook 디렉터리안에필요한 copybook 이존재해야한다. hdprecon, hdload, hdprfxres, hdprfxup과함께 IMS DB 데이터셋을 HiDB 데이터셋으로마이그레이션할때쓰인다. 참고 : HiDB 에대한자세한내용은 HiDB 안내서 를참고한다. 4.3 hdprecon hdprecon은 IMS DB 데이터셋을 OpenFrame HiDB 데이터셋으로마이그레이션할때데이터의포맷을원하는형태로맞추기위해사용되는프로그램이다. OpenFrame 툴참조안내서 69

제 4 장 HiDB 관련툴 hdprecon 의입 / 출력데이터셋의형식은다음과같다. [ 그림 4-1] 입 / 출력데이터셋형식 사용법 hdprecon 프로그램을실행하는방법은다음과같다. Usage: hdprecon IN-FILE OUT-FILE DBDNAME record_size [header_size] - IN-FILE 포맷팅에사용할파일명을지정한다. - OUT-FILE 포맷팅후생성된파일을저장할파일명을지정한다. - DBD_NAME 마이그레이션할데이터셋을정의한 DBD 이름을지정한다. - record_size 입력데이터셋의레코드크기를지정한다. - [header_size] 데이터가아닌키부분의크기를지정한다. 사용예제 마이그레이션대상데이터셋을 DBD에맞춰포맷팅한후새로운데이터셋을생성하는예이다. 이때각레코드의크기는 66 바이트로맞춰진다. 70 OpenFrame 툴참조안내서

제 4 장 HiDB 관련툴 $ hdprecon EXDBD1.in EXDBD1.out EXDBD1 66 PRINT DBD DATASET NOGEN NAME=EXDBD1,ACCESS=(HIDAM,VSAM) DD1=HIDAMD,DEVICE=3380 * SEGM LCHILD FIELD FIELD FIELD FIELD NAME=SEG1,BYTES=48,POINTER=TWINBWD NAME=(POINTER,EXHIIND),POINTER=INDX NAME=(SEG1KEY,SEQ),BYTES=6,START=1,TYPE=C NAME=KOSI,BYTES=4,START=7,TYPE=C NAME=/CKXX,BYTES=4,START=1 NAME=/SX1,BYTES=4 * SEGM FIELD FIELD FIELD NAME=SEG2,PARENT=((SEG1,DBLE)),BYTES=32,POINTER=TWINBWD NAME=(SEG2KEY,SEQ),BYTES=6,START=1,TYPE=C NAME=HAHA,BYTES=4,START=7,TYPE=C NAME=/SX2,BYTES=4 * SEGM FIELD NAME=SEG3,PARENT=((SEG2,DBLE)),BYTES=16,POINTER=TWINBWD NAME=(SEG3KEY,SEQ),BYTES=6,START=1,TYPE=C * SEGM FIELD NAME=SEG4,PARENT=((SEG2,DBLE)),BYTES=32,POINTER=TWINBWD NAME=(SEG4KEY,SEQ),BYTES=6,START=1,TYPE=C * SEGM FIELD NAME=SEG5,PARENT=((SEG1,DBLE)),BYTES=48,POINTER=TWINBWD NAME=(SEG5KEY,SEQ),BYTES=6,START=1,TYPE=C * DBDGEN FINISH END <DBD.EXDBD1> 위예제에서 hdprecon은 EXDBD1.in 파일을읽어서 [ 그림 4-1] 의출력데이터형식으로변환하여 EXDBD1.out 파일을생성한다. OpenFrame 툴참조안내서 71

제 4 장 HiDB 관련툴 관련환경설정 UNIX 환경파일 (.profile) 에환경변수 WORK 를설정한다. WORK=$HOME/work $WORK/data 디렉터리입력파일이존재해야한다. 포맷팅후생성되는출력파일도이디렉터리에생성된다. DBDLIB 이정의되어있어야하고, 필요한 DBD 가 DBDLIB 에존재해야한다. hdgensch, hdload, hdprfxres, hdprfxup과함께 IMS DB 데이터셋을 HiDB 데이터셋으로마이그레이션할때쓰인다. 참고 : HiDB 에대한자세한내용은 HiDB 안내서 를참고한다. 4.4 hdload hdload는 IMS DB 데이터셋을 OpenFrame HiDB 데이터셋으로마이그레이션할때 ASCII 코드로변환된데이터를 OpenFrame HiDB 데이터베이스로로드하기위해사용되는프로그램이다. 사용법 hdload 프로그램을실행하는방법은다음과같다. Usage : hdload PSB_name DATA_file DD_list - PSB_name 데이터를로드시킬때필요한 PSB 이름을지정한다. - DATA_file ASCII 코드로변환된데이터를저장할파일을지정한다. 데이터내의레코드는계층순서에맞게정렬되어있어야한다. 72 OpenFrame 툴참조안내서

제 4 장 HiDB 관련툴 - DD_list PSB에서사용되는 DBD에는 DDNAME만기술되어있다. 따라서데이터셋을로드하기위해서는 DDNAME에데이터셋이름을연결시켜주어야한다. HiDB 데이터셋을로드할때는한개의 DD만필요한것이아니므로, 필요한 DD 개수만큼기술해주어야한다. 사용예제 데이터를로드시키는예이다. $ hdload EXPSB1 EXPSB1.data EXPSB1.ddlist PSB EXPSB1 의내용은다음과같다. PRINT PCB SENSEG SENSEG SENSEG SENSEG SENSEG PSBGEN NOGEN TYPE=DB,DBDNAME=EXDBD1,KEYLEN=18,PROCOPT=LS NAME=SEG1 NAME=SEG2,PARENT=SEG1 NAME=SEG3,PARENT=SEG2 NAME=SEG4,PARENT=SEG2 NAME=SEG5,PARENT=SEG1 PSBNAME=EXPSB1,LANG=COBOL END 이 PSB 는 DBD EXDBD1 를지정하고있다. DBD EXDBD1 의내용은다음과같다. PRINT DBD DATASET NOGEN NAME=EXDBD1,ACCESS=(HIDAM,VSAM) DD1=HIDAMD,DEVICE=3380 * SEGM LCHILD FIELD FIELD FIELD NAME=SEG1,BYTES=48,POINTER=TWINBWD NAME=(POINTER,EXHIIND),POINTER=INDX NAME=(SEG1KEY,SEQ),BYTES=6,START=1,TYPE=C NAME=KOSI,BYTES=4,START=7,TYPE=C NAME=/CKXX,BYTES=4,START=1 OpenFrame 툴참조안내서 73

제 4 장 HiDB 관련툴 FIELD NAME=/SX1,BYTES=4 * SEGM FIELD FIELD FIELD NAME=SEG2,PARENT=((SEG1,DBLE)),BYTES=32,POINTER=TWINBWD NAME=(SEG2KEY,SEQ),BYTES=6,START=1,TYPE=C NAME=HAHA,BYTES=4,START=7,TYPE=C NAME=/SX2,BYTES=4 * SEGM FIELD NAME=SEG3,PARENT=((SEG2,DBLE)),BYTES=16,POINTER=TWINBWD NAME=(SEG3KEY,SEQ),BYTES=6,START=1,TYPE=C * SEGM FIELD NAME=SEG4,PARENT=((SEG2,DBLE)),BYTES=32,POINTER=TWINBWD NAME=(SEG4KEY,SEQ),BYTES=6,START=1,TYPE=C * SEGM FIELD NAME=SEG5,PARENT=((SEG1,DBLE)),BYTES=48,POINTER=TWINBWD NAME=(SEG5KEY,SEQ),BYTES=6,START=1,TYPE=C * DBDGEN FINISH END 이 DBD는 3번째줄 DATASET DD1=HIDAMD,DEVICE=3380에서쓰여진것처럼 HIDAMD라는 DD를사용한다. 그리고 6번째줄 LCHILD NAME=(POINTER,EXHIIND),POINTER=INDX에서, EXHIIND라는 DBD를사용한다. DBD EXHIIND 는 INDEX 를위해서사용된다. DBD EXHIIND 의내용은다음과같다. PRINT DBD DATASET NOGEN NAME=EXHIIND,ACCESS=(INDEX,VSAM) DD1=HIDAMI,DEVICE=3380 * 74 OpenFrame 툴참조안내서

제 4 장 HiDB 관련툴 SEGM LCHILD FIELD NAME=POINTER,BYTES=6 NAME=(SEG1,EXDBD1),INDEX=SEG1KEY NAME=(INDEXFLD,SEQ),BYTES=6,START=1 * DBDGEN FINISH END 이 DBD는 HIDAMI라는 DD를사용한다. 따라서이예제의 HiDB 데이터셋을로드하기위해서는 HIDAMD, HIDAMI 두개의 DD에대해서데이터셋을정의해야한다. EXPSB1.ddlist 는다음과같다. HIDAMD,TEST.HDLOADD HIDAMI,TEST.HDLOADI hdload 를실행하면 EXPSB1.data 가로드된다. 환경설정 UNIX 환경파일 (.profile) 에환경변수 WORK 를설정해야한다. WORK=$HOME/work $WORK/hidb_conv/data에로드되는데이터파일과 DD list가정의된파일이존재해야한다. hdprecon, hdgensch, hdprfxres, hdprfxup과함께 IMS DB 데이터셋을 HiDB 데이터셋을마이그레이션할때쓰인다. 참고 : HiDB 에대한자세한내용은 HiDB 안내서 를참고한다. OpenFrame 툴참조안내서 75

제 4 장 HiDB 관련툴 4.5 hdprfxres hdprfxres 는 IMS DB 데이터셋을 OpenFrame HiDB 데이터셋으로마이그레이션 할때 Logical Relationship 이있는경우에사용되는프로그램이다. hdload를통해 Logical Relationship에관계된데이터셋이모두로드된후에사용한다. 데이터셋간에 Logical Relationship이존재하는경우, 서로연관된세그먼트들의 prefix를 [ 그림 4-2] 의형태로출력파일에출력한다. 여기서생성된출력파일은 LPCK와 Sequence를키로하여정렬한후 hdprfxup 을통해다시 HiDB 데이터셋으로로드시킨다. [ 그림 4-2] 출력파일형식 사용법 hdprfxres 프로그램을실행하는방법은다음과같다. Usage: hdprfxres PSB_name DD_list OUTPUT_FILE - PSB_NAME 어플리케이션프로그램에서 HiDB를사용하기위한정보를담고있는 PSB 이름을기술한다. - DD_list PSB 안에는어플리케이션프로그램이 HiDB를사용하는데필요한 DBD가기술되어있다. 76 OpenFrame 툴참조안내서

제 4 장 HiDB 관련툴 또 DBD 에는 DDNAME 이기술되는데, DD_list 는 DBD 에기술된 DDNAME 과 데이터가저장되는데이터셋이름을연결시킨정보를담고있는파일을기 술한다. - OUTPUT_FILE hdprfxres 의출력파일명을기술한다. 사용예제 Logical Relationship 에관련된세그먼트들의 prefix 를추출하는예이다. $ hdprfxres EX1LPSB EX1PDBD.ddlist EX1PRFX1.out - EX1LPSB에는 Logical Relationship으로연관된 HiDB에대한 DBD 및여러정보들이기술되어있다. - EX1PDBD.ddlist에는 EX1LPSB에서사용하는모든 DBD에대해서 DDNAME 과데이터가저장되는데이터셋이름의연결정보가기술되어있다. - 관계된 HiDB에서 Logical Relationship으로연관된세그먼트들에대한 prefix 정보가 [ 그림 4-2] 의형태로 EX1PRFX1.out에출력된다. 환경설정 UNIX 환경파일 (.profile) 에환경변수 WORK 를설정해야한다. WORK=$HOME/work $WORK/ddlist 디렉터리에 DD_list 파일이존재해야한다. $WORK/hdprfx 디렉터리에 output 파일이생성된다. OpenFrame 툴참조안내서 77

제 4 장 HiDB 관련툴 Appendix hdprfxup 을하기전에 [ 그림 4-2] 에서의 LPCK(Logical Parent Concatenated Key) 와 SEQUENCE 을키로하여정렬을해야한다. hdgensch, hdprecon, hdload, hdprfxup과함께 IMS DB 데이터셋을 HiDB 데이터셋으로마이그레이션할때쓰인다. 참고 : HiDB 에대한자세한내용은 HiDB 안내서 를참고한다. 4.6 hdprfxup hdprfxup은 IMS DB 데이터셋을 OpenFrame HiDB 데이터셋으로마이그레이션할때 Logical Relationship이있는경우에사용되는프로그램이다. hdprfxres의출력파일에대해서정렬작업을거친후에사용된다. 정렬된데이터를사용하여 HiDB의 Logical Relationship에관련된세그먼트들의 prefix를갱신하여세그먼트들간에 Logical Relation을맺어준다. 사용법 hdprfxup 프로그램을실행하는방법은다음과같다. Usage: hdprfxup PSB_name DD_list INPUT-FILE - PSB_name 어플리케이션프로그램에서 HiDB를사용하기위한정보를담고있는 PSB 이름을기술한다. hdprfxres에서사용하는것과동일한 PSB를사용한다. - DD_list PSB안에는어플리케이션프로그램이 HiDB를사용하는데필요한 DBD가기술되어있다. 또 DBD에는 DDNAME이기술되는데, DD_list는 DBD에기술된 DDNAME과데이터가저장되는데이터셋이름을연결시킨정보를담고있 78 OpenFrame 툴참조안내서

제 4 장 HiDB 관련툴 는파일을기술한다. hdprfxres 에서사용하는것과동일한 DD_list 를사용한다. - INPUT-FILE hdprfxup의 input으로사용되는파일을기술한다. hdprfxres의 output 파일에대해서정렬작업을거친파일을사용한다. 사용예제 hdprfxres에서생성된파일을정렬한 prefix를로드하여 logical relationship을맺어주는예이다. $ hdprfxup EX1LPSB EX1PDBD.ddlist EX1PRFX1.in EX1LPSB에는 Logical Relationship으로연관된 HiDB에대한 DBD 및정보들이기술되어있다. EX1PDBD.ddlist에는 EX1LPSB에서사용하는모든 DBD에대해서 DDNAME과데이터셋이름의연결정보가기술되어있다. EX1PRFX1.in의데이터를바탕으로 Logical Relationship에관련된세그먼트들의 prefix를갱신한다. 관련환경설정 UNIX 환경파일 (.profile) 에환경변수 WORK를설정해야한다. WORK=$HOME/work $WORK/ddlist 디렉터리에 DD_list 파일이존재해야한다. $WORK/hdprfx 디렉터리에 input 파일이존재해야한다. hdgensch, hdprecon, hdload, hdprfxres과함께 IMS DB 데이터셋을 HiDB 데이터셋으로마이그레이션할때쓰인다. 참고 : HiDB 에대한자세한내용은 HiDB 안내서 를참고한다. OpenFrame 툴참조안내서 79

제 5 장온라인시스템툴 제 5 장온라인시스템툴 5.1 ofboot ofboot 는 OpenFrame 온라인시스템을부팅하는프로그램이다. 엔진을부팅하기전에필요한리소스들을준비하고, 엔진을부팅한후에는실제 사용자의요청을처리하기전에필요한작업을자동으로수행한다. ofboot를실행시키면다음과같은세단계를거쳐서부팅작업을수행하게된다. 첫번째단계는 OpenFrame 온라인시스템에서사용할공유메모리나디렉터리, 파일등의리소스들을할당하는단계이다. 두번째단계는실제 OpenFrame 엔진을기동시키는단계이다. 마지막단계에서는 OpenFrama 온라인시스템을기동후실제사용자의요청을처리하기전에필요한초기화작업을수행하는단계이다. 이단계에서는온라인서버의부팅상태를확인해서정상적으로부팅될때까지기다리는작업과 OpenFrame 엔진의포트를개방하는작업을기본적으로수행하게된다. 이외에도 ofboot.post 파일에트랜잭션관련스크립트를추가하여, ofclient 툴을이용해서특정트랜잭션을호출하는작업등을수행할수있다. 첫번째단계와마지막단계는각각 $(TMAXDIR)/config 디렉터리에있는 ofboot.pre, ofboot.post 라는두개의쉘스크립트를이용해서시스템운영자가직접설정할수있다. 참고 : ofclient 에대한내용은본안내서의 5.6 ofclient 를참고한다. ofboot.pre 와 ofboot.post 에대한자세한내용은 OpenFrame OSC 운영자안내서 와 OpenFrame OSI 운영자안내서 를참고한다. 두번째단계는 $(OPENFRAME_HOME)/config 디렉터리에있는 ofsys.seq, ofuser.seq 라는두개의텍스트파일을이용해서 ofboot 시 OpenFrame 엔진의서버를순서대로기동시킨다. 이때 ofuser.seq는시스템운영자가직접설정할수있다. OpenFrame 툴참조안내서 81

제 5 장온라인시스템툴 사용법 ofboot 을실행하는방법은다음과같다. Usage: ofboot ofboot -n [NODE] - -n [NODE] OpenFrame 온라인시스템의해당노드만부팅한다. 아무런옵션을지정하지않을경우, OpenFrame 온라인시스템전체를부팅한다. 5.2 ofdown ofdown은 OpenFrame 온라인시스템을종료하는프로그램이다. 엔진을실제로내리기전에최종적으로필요한작업을수행하고, 엔진을종료한후에는엔진에서사용하는리소스들을반환해주는작업을자동화한다. ofboot를실행시키면다음과같은세단계를거쳐서종료과정을수행하게된다. 첫번째단계는 OpenFrame 온라인시스템을내리기전에필요한작업을수행하는단계이다. 이외에도 ofdown.pre 파일에종료시필요한트랜잭션관련스크립트를추가하여, ofclient 툴을이용해서특정트랜잭션을호출하는작업등을수행할수있다. 두번째단계는실제 OpenFrame 엔진을종료하는단계이다. 마지막단계에서는엔진종료후 OpenFrame 온라인시스템에서사용하고있던공유메모리나디렉터리, 파일등의리소스들을삭제하는단계이다. 첫번째단계와마지막단계는각각 $(TMAXDIR)/config 디렉터리에있는 ofdown.pre, ofdown.post 라는두개의쉘스크립트를이용해서시스템운영자가직접설정할수있다. 82 OpenFrame 툴참조안내서

제 5 장온라인시스템툴 참고 : ofdown.pre 와 ofdown.post 에대한자세한내용은 OpenFrame OSC 운영자안내서 와 OpenFrame OSI 운영자안내서 를참고한다. 두번째단계는 $(OPENFRAME_HOME)/config 디렉터리에있는 ofsys.seq, ofuser.seq 라는두개의텍스트파일을이용해서 ofdown 시 OpenFrame 엔진의서버를순서대로종료시킨다. 이때 ofuser.seq는시스템운영자가직접설정할수있다. 사용법 ofdown을실행하는방법은다음과같다. Usage: ofdown ofdown -n [NODE] ofdown -i - -n [NODE] OpenFrame 온라인시스템의해당노드만종료한다. - -i OpenFrame의모든서버들에대해서종료과정을거치지않고강제로종료한다. 특정서버가종료되지않거나모든서버들을즉시종료시키고자할경우에사용한다. 아무런옵션을지정하지않을경우, OpenFrame 온라인시스템전체를종료한다. 5.3 ofadmin ofadmin은 OSC와 OSI 서버를부팅하기위해서필요한공유메모리나디렉터리등의리소스를준비하며서버가종료된후에는서버를위해준비된리소스들을반환하는프로그램이다. OpenFrame 툴참조안내서 83

제 5 장온라인시스템툴 사용법 ofadmin을실행하는방법은다음과같다. Usage: ofadmin [options] ofadmin -create {OSC OSI OSInn} ofadmin -remove {OSC OSI OSInn} ofadmin -create <server> [-x <resource>...] ofadmin -remove <server> [-x <resource>...] ofadmin -loglvl {OSC OSI OSInn}:{E I D} ofadmin -tacf {OSC OSI OSInn}:{on off} [options] 은 ofmsvr의정보를확인하는 h, -v 옵션이있다. - -create OSC OSC 시스템에서사용할 SWA(System Work Area) 영역을공유메모리에생성한다. - -create <server> [-x <resource>...] 아래와같은작업을거쳐 OSC 서버에서사용되는리소스들을준비한다. <server> 의종류는 OSC 어플리케이션서버와 MSC 게이트웨이서버가있다. x 옵션은 <resource> 를나열할경우해당리소스를제외하고 OSC 서버에서사용되는리소스들을준비한다. 1. OSC 서버에서사용할 RWA(Region Work Area) 영역을공유메모리에생성하고 OSC 서버에서필요한설정파일을읽어서 RWA 영역에저장한다. 2. OSC 서버에서사용할 CWA(Common Work Area) 영역을공유메모리에생성한다. 3. OSC 서버에서사용할 RTSD(RunTime System Definition) 영역을공유메모리에생성하고, OSD 데이터셋으로부터 System Definition 정보를읽어서 RTSD 영역에저장한다. 4. OSC 서버의종류가 MSC 게이트웨이서버일경우사용할 ATI(Active Terminal Information) 영역을공유메모리에생성한다. 5. Intra Partition TDQ에서사용하는데이터셋을초기화한다. 6. OSC 서버에서사용할 TSQ(Temporary Storage Queue) 영역을공유메모리에생성한다. 84 OpenFrame 툴참조안내서

제 5 장온라인시스템툴 7. OSC 태스크컨트롤기능을위해사용되는임시파일을저장할디렉터리 를생성한다. - -create OSI OSInn 아래의작업을거쳐 OSI 시스템에서사용할리소스들을준비한다. (nn : OSI 콘트롤리전을여러개설정할때사용예 ) ofadmin create OSI01) 1. OSI 시스템에서사용할 RWA 영역을공유메모리에생성하고, OSI 시스템에서필요한설정파일을읽어서 RWA 영역에저장한다. 2. OSI 시스템에서사용할 SWA 영역을공유메모리에생성한다. 3. OSI 시스템에서사용할 ATI 영역을공유메모리에생성한다. 4. OSI 시스템에서사용할 RTSD(RunTime System Definition) 영역을공유메모리에생성하고, OSD 데이터셋으로부터 OSI 사용자서버및사용자트랜잭션정보를읽어서 RTSD 영역에저장한다. - -remove OSC OSC 시스템을위해할당된 SWA 공유메모리영역을삭제한다. - -remove <server> [-x <resource>...] 아래의작업을거쳐 OSC 서버를위해할당된리소스들을제거한다. <server> 의종류는 OSC 어플리케이션서버와 MSC 게이트웨이서버가있다. x 옵션은 <resource> 를나열할경우해당리소스를제외하고 OSC 서버를 위해할당된리소스들을제거한다. 1. OSC 태스크컨트롤기능을위해사용되는임시파일을저장할디렉터리 를삭제한다 2. OSC 서버를위해할당된 TSQ 공유메모리영역을삭제한다. 3. OSC 서버의종류가 MSC 게이트웨이서버일경우할당된 ATI 공유메 모리영역을삭제한다. 4. OSC 서버를위해할당된 RTSD 공유메모리영역을삭제한다. 5. OSC 서버를위해할당된 CWA 공유메모리영역을삭제한다. 6. OSC 서버를위해할당된 RWA 공유메모리영역을삭제한다. - -remove OSI 아래의작업을거쳐 OSI 시스템을위해준비된리소스들을제거한다. 1. OSI 시스템을위해할당된 RTSD 공유메모리영역을삭제한다. 2. OSI 시스템을위해할당된 ATI 공유메모리영역을삭제한다. 3. OSI 시스템을위해할당된 SWA 공유메모리영역을삭제한다. OpenFrame 툴참조안내서 85

제 5 장온라인시스템툴 4. OSI 시스템을위해할당된 RWA 공유메모리영역을삭제한다. - -loglvl {OSC OSI OSInn}:{E I D} OSC 시스템또는 OSI 시스템의로그레벨을다음의세가지중하나로수정한다. E (Error Level) 는에러가발생했을경우의로그정보만기록한다. I (Information Level) 는에러레벨보다더자세한경고나알림메시지까지로그에기록한다. D (Debug Level) 는엔진의버그상황을추적하기위해서도움이되는자세한로그정보를기록한다. - -tacf {OSC OSI OSInn}:{on off} OSC 시스템또는 OSI 시스템의자원을사용할때 TACF를사용한보안인증과정을거칠것인지혹은생략할것인지결정한다. on은 TACF를사용한보안인증과정을거치도록설정한다. off는 TACF를사용한보안인증과정을생략한다. 사용예제 OSC 시스템을위한공유리소스를할당한다. $ ofadmin -create OSC OSC00001 서버를위해 cwa 와 tdq 를제외한나머지공유리소스를할당한다. $ ofadmin -remove OSC00001 x cwa tdq OSC00001 서버를위해할당된공유리소스를제거한다. $ ofadmin -remove OSC00001 OSC00001 서버를위해 cwa와 tdq를제외한나머지할당된공유리소스를제거한다. $ ofadmin -remove OSC00001 x cwa tdq 86 OpenFrame 툴참조안내서

제 5 장온라인시스템툴 OSC 시스템의로그레벨을 Information level 로설정한다. $ ofadmin -loglvl OSC:I OSI 시스템의자원을사용할때 TACF 보안인증과정을거치도록설정한다. $ ofadmin -tacf OSI:on 관련환경설정 OSC.conf ofadmin 툴의 OSC 관련기능을사용하기위해서는 OSC.conf 파일및 OSC, MSC 개별서버를위한설정파일들이모두설정되어있어야한다. OSI.conf ofadmin 툴의 OSI 관련기능을사용하기위해서는 OSI.conf 파일의설정항목들이모두설정되어있어야한다. 5.4 ofmadmin ofmadmin은멀티노드로구성된 OpenFrame 온라인시스템의부팅을위해서필요한기능을제공하는 TCP/IP 클라이언트프로그램이다. OpenFrame 온라인시스템을멀티노드로설정할경우, 모든노드의온라인시스템이동일한온라인설정파일을사용할수있도록하고, 각노드에서는개별적으로 ofboot 및 ofdown을실행함으로써노드들이사용할리소스들을각자할당받을수있도록하는기능을제공한다. ofmsvr 툴이 ofmadmin 의서버역할을수행한다. OpenFrame 툴참조안내서 87

제 5 장온라인시스템툴 사용법 ofmadmin을실행하는방법은다음과같다. Usage: ofmadmin [options] ofmadmin -cpcfg <remoteip>:<remoteport> ofmadmin -boot <remoteip>:<remoteport>:<remotenode> ofmadmin -shutdown <remoteip>:<remoteport>:<remotenode> [options] 은 ofmsvr 의정보를확인하는 h, -v 옵션이있다. - -cpcfg <remoteip>:<remoteport> online.conf 설정파일을원격노드로복사한다. <remoteip> 에는원격노드의 IP 주소를, <remoteport> 에는원격노드에떠있는 ofmsvr의포트번호를설정한다. - -boot <remoteip>:<remoteport>:<remotenode> 원격노드에부팅명령을요청한다. <remoteip> 에는원격노드의 IP 주소를, <remoteport> 에는원격노드에떠있는 ofmsvr의포트번호를, 그리고 <remotenode> 에는원격의노드의이름을입력한다. - -shutdown <remoteip>:<remoteport>:<remotenode> 원격노드에다운명령을요청한다. <remoteip> 에는원격노드의 IP 주소를, <remoteport> 에는원격노드에떠있는 ofmsvr의포트번호를, 그리고 <remotenode> 에는원격의 TMAX 노드의이름을입력한다. 사용예제 현재노드의온라인설정파일 (online.conf) 을로컬시스템상의 127.0.0.1의 IP 주소를갖고 32000번포트를사용하는 ofmsvr로복사한다. $ ofmadmin -cpcfg 127.0.0.1:32000 127.0.0.1의 IP 주소를가지는서버의 32000번포트를사용하는 ofmsvr에게 TMAX의 NODE2를부팅하도록요청한다. 88 OpenFrame 툴참조안내서

제 5 장온라인시스템툴 $ ofadmin -boot 127.0.0.1:32000:NODE2 127.0.0.1의 IP 주소를가지는서버의 32000번포트를사용하는 ofmsvr에게 TMAX의 NODE2를내리도록요청한다. $ ofadmin -shutdown 127.0.0.1:32000:NODE2 5.5 ofmsvr ofmsvr는다른노드의 ofmadmin으로부터노드의부팅이나다운에관련된요청이발생하면발생한요청을수행하고수행과정이나결과등을로그로남기는역할을수행하는 TCP/IP 서버프로그램이다. ofmsvr는다음과같은기능을가지고있다. 첫째, ofmadmin으로부터 cpcfg 옵션의요청을받으면 ofmadmin이전송한환경파일내용을로컬노드의 online.conf에덮어쓰기한다. 둘째, ofmadmin으로부터 boot 옵션의요청을받으면 ofboot의 -n 옵션을이용해서로컬노드를부팅시킨다. 셋째, ofmadmin으로부터 down 옵션의요청을받으면 ofdown의 -n 옵션을이용해서로컬노드를종료시킨다. 사용법 ofmsvr 을실행하는방법은다음과같다. Usage: ofmsvr [options] nohup ofmsvr& [options] 은 ofmsvr 의정보를확인하는 h, -v 옵션이있다. ofmsvr 프로세스를실행시킨다. ofmsvr은항상메모리에상주해야하는프로그램으로프로그램이름뒤에 & 를붙여서실행시킨다. OpenFrame 툴참조안내서 89

제 5 장온라인시스템툴 관련환경설정 ofmsvr.conf [OFMSVR] PORT=32000 ofmsvr 가사용할포트번호를얻어온다. ofmsvr.conf 설정파일을작성한후 $(OpenFrame_HOME)/config 디렉터리에저장한다. ofmsvr이사용할포트번호는사용환경에따라빈포트번호로설정한다. Appendix ofmsvr는 $(OpenFrame_HOME)/log/ofmsvr.log 파일에원격으로부터요청받은내용및처리결과를기록한다. 5.6 ofclient ofclient는 OpenFrame 온라인시스템에트랜잭션을요청하기위한클라이언트프로그램이다. 이외에도특정 TMAX 서버의상태를확인하는기능과 TMAX 엔진의차단된포트를해제하는기능, 사용자인증을필요로하는트랜잭션을위해서사용자인증후트랜잭션을발생하는기능을한다. 사용법 ofclient 을실행하는방법은다음과같다. Usage: ofclient [[-s <IP>] -p <port>] <transid> [<send_buf>] [-l <recv_buflen>] ofclient [[-s <IP>] -p <port>] -oesn [<username>/<password> [<transid> [<send_buf>]]] ofclient [[-s <IP>] -p <port>] -oplt <tmaxsvr> [-wait] ofclient [[-s <IP>] -p <port>] -unblock ofclient [-h -v] - [-s <IP>] 90 OpenFrame 툴참조안내서

제 5 장온라인시스템툴 연결하려는 OpenFrame 온라인시스템이설치된시스템의 IP 주소를지정한다. OpenFrame이동작하고있는 UNIX 시스템과동일한시스템에서 ofclient 를실행할경우이옵션을생략할수있으며, 이경우로컬시스템의 IP 주소로접속한다. - -p <port> 연결하려는 OpenFrame 온라인시스템이사용하고있는포트번호를지정한다. online.conf 설정파일에아래와같이 [TMAX] 섹션및 TMAXIP 항목을설정할경우 p 옵션을설정하지않아도 ofclient에서자동으로아래옵션에설정된포트로연결을시도하게된다. [TMAX] TMAXPORT=12120 - <transid> 발생시키려고하는트랜잭션의이름을지정한다. - <send_buf> 트랜잭션을호출할때보낼데이터를버퍼에기술한다. - -l <recv_buflen> 트랜잭션의응답을받을버퍼의크기를지정한다. 지정하지않으면 64K 바이트크기의버퍼를설정한다. - -oplt <tmaxsvr> [-wait] 이옵션에지정된 tmax_server가현재사용자요청을받을수있는지또는받을수없는상태인지확인한다. -wait 옵션을추가로설정하면 TMAX 서버가준비상태가될때까지 1초간격으로계속해서확인을수행한다. - -oesn [<username>/<password> [<transid> [<send_buf>]]] 트랜잭션을요청할사용자에대한 TACF 인증을받은후인증을필요로하는트랜잭션을발생시킨다. 명령어라인에서파라미터를지정하지않은경우 ( 즉, -oesn만입력한경우 ), 프롬프트에 user id, group, password, new password를입력하고 TACF 사용자 OpenFrame 툴참조안내서 91

제 5 장온라인시스템툴 인증과정을거친다. 사용자인증에성공한후프롬프트에트랜잭션이름과그트랜잭션에전송할메시지를입력하여해당트랜잭션을발생시키거나, quit 이라고입력하여 ofclient를종료한다. 명령어라인에서파라미터로사용자아이디와비밀번호를지정하면사용자인증을위한프롬프트를생략할수있고, 사용자아이디와비밀번호그리고트랜잭션이름을함께입력하면프롬프트입력을생략하고 TACF 사용자인증을거친후바로요청된트랜잭션을발생시킨다. send_buf에는트랜잭션에넘겨줄메시지를입력한다. - [-unblock] TMAX 의 Call Block 기능으로차단되어있는 TMAX 포트를해제한다. 사용예제 로컬시스템의 12100번포트를통해 TRAN이라는트랜잭션을발생시키는예이다. 이때트랜잭션에 1234567890이라는메시지를전송하고, 받는버퍼의크기는 1024K 바이트로지정한다. $ ofclient -s 127.0.0.1 -p 12100 TRAN 1234567890 -l 1024 (OFCLIENT ) service TRAN is started.. (OFCLIENT ) service TRAN done $ 트랜잭션결과로메시지가돌아온다면다음과같은형태로화면에출력된다. (OFCLIENT ) service TRAN is started.. (OFCLIENT ) service TRAN output: <<OUTPUT MESSAGE>> $ OSC00001이라는서버가준비상태인지확인하는예이다. 준비상태가아니라면준비상태가될때까지 1초간격으로계속해서서버의상태를확인한다. 준비상태가되면서버가준비상태가되었음을출력하고종료한다. $ ofclient -p 12100 -oplt OSC00001 -wait (OFCLIENT ) Wait until the tmax server OSC00001 being ready.. 92 OpenFrame 툴참조안내서

제 5 장온라인시스템툴 (OFCLIENT ) server OSC00001 is ready. $ 사용자아이디와비밀번호를입력하고 TACF 사용자인증을받은뒤 TRAN이라는트랜잭션을발생시키는예이다. 비밀번호를입력할때에는화면에입력한값이표시되지않는다. $ ofclient -p 12100 -oesn user id: USER group id: password: new password: service (or type 'quit' to quit): TRAN send buffer: 1234567890 (OFCLIENT ) service FC01 is started.. (OFCLIENT ) service FC01 output: <<OUTPUT MESSAGE>> service (or type 'quit' to quit): quit $ 하나의트랜잭션만요청할경우에는아래와같은방식을사용한다. $ ofclient -p 12100 -oesn USER/PASS TRAN (OFCLIENT ) service FC01 is started.. (OFCLIENT ) service FC01 output: <<OUTPUT MESSAGE>> $ 12120번포트를통해서해당시스템에차단되었던 TMAX 포트를해제한다. 이때, 12120번포트는해당시스템의 TMAX 설정파일에 CllUnBlkPort로설정되어있는포트번호를사용해야한다. $ ofclient -p 12120 -unblock (OFCLIENT ) Unblock done. $ OpenFrame 툴참조안내서 93

제 5 장온라인시스템툴 Appendix Call Block이란 TMAX가부팅되었을때특별한초기화단계를거칠때까지다른클라이언트의접속을막기위해서, 처음부팅될시점에 TMAX 포트를차단하는기능이다. TMAX 시스템에는 Call Block 기능이사용중이더라도 Unblock call을받기위해서항상열려있는포트가있으며, 그포트는 CllUnBlkPort 항목으로설정된다. 5.7 osddump osddump는 OSD 데이터셋에들어있는온라인리소스정의들을매크로형태의파일로저장하는프로그램이다. 특정 OSD 데이터셋에정의되어있는리소스의정의들을전부혹은특정타입의리소스정의들을선택해서추출할수있다. 생성된매크로파일은다시 osdgen의입력파일로사용할수있다. 사용법 osddump를실행하는방법은다음과같다. Usage: osddump [options1] osddump <file> <dataset> [options2] [option1] 은 osddump의정보를확인하는 h, -v 옵션이있고, [option2] 는 osddump 를실행하는데필요한 t, -s 옵션이있다. - file 추출된매크로형식의텍스트를저장할파일이름을지정한다. 기존에있던파일을선택했을경우기존의내용은모두삭제되고새로추출된매크로형식의텍스트로덮어쓰기된다. - dataset 추출할대상이되는 OSD 데이터셋의이름을지정한다. - [-t <type>+] 추출할리소스들의타입을지정한다. 아무것도지정하지않을경우에는선택 94 OpenFrame 툴참조안내서

제 5 장온라인시스템툴 한 OSD 데이터셋에정의되어있는모든타입의리소스정의들을추출한다. type에는다음과같은종류들이있으며하나이상지정할수있다. OSC에서사용하는리소스 : file, tdq, terminal, typeterm, connection. tsmodel OSI에서사용하는리소스 : lterm, region, applctn, trans - [-s] OSD 데이터셋을사용하기위해 SYS1 연결을사용하도록설정한경우에는 반드시 -s 옵션을추가해야한다. 사용예제 OPNFRAME.ONLINE.OSDLIB 데이터셋에정의되어있는모든리소스정의를 읽어서매크로형태로 resource.dat 파일에저장하는예이다. $ osddump resource.dat OPNFRAME.ONLINE.OSDLIB 시스템데이터셋서버에서관리되는 OPNFRAME.ONLINE.OSDLIB 이라는데이터셋으로부터 TDQueue에대한정의를읽어서 dct.dat 파일에저장하는예이다. $ osddump dct.dat OPNFRAME.ONLINE.OSDLIB -t tdq -s 5.8 osdgen osdgen은매크로형식의리소스정의가정의되어있는텍스트파일을읽어서 OpenFrame 온라인시스템에서사용하는구조로만들고지정된데이터셋에저장하는역할을수행하는프로그램이다. 리소스정의들을저장하고있는데이터셋을 OSD(Online System Definition) 데이터셋이라고부른다. 텍스트파일에중복되는정의가있거나 OSD 데이터셋에같은자원에대한정의가이미존재하는경우에는기존의것을마지막에정의된것으로덮어쓰기한다. 사용법 osdgen 을실행하는방법은다음과같다. OpenFrame 툴참조안내서 95

제 5 장온라인시스템툴 Usage: osdgen [options1] osdgen <file> <dataset> [options2] [option1] 은 osdgen의정보를확인하는 h, -v 옵션이있고, option2는 osdgen를실행하는데필요한 -s 옵션이있다. - file OSD 데이터셋에저장하려는리소스정의매크로파일을지정한다. - dataset 리소스정의매크로를저장할 OSD 데이터셋의이름을지정한다. - [-s] OSD 데이터셋을사용하기위해 SYS1 연결을사용하도록설정한경우에는 반드시 -s 옵션을추가해야한다. 사용예제 resource.dat 파일에들어있는리소스정의매크로들을읽어서시스템에서사용하는구조로만든후 OPNFRAME.ONLINE.OSDLIB 데이터셋에저장하는예이다. $ osdgen resource.dat OPNFRAME.ONLINE.OSDLIB Appendix OSD 데이터셋을생성하는 IDCAMS 스크립트의예는다음과같다. 다음스크립트를이용하면 1000000 볼륨에 OPNFRAME.ONLINE.OSDLIB 이라는 데이터셋이생성된다. DELETE OPNFRAME.ONLINE.OSDLIB CLUSTER DEFINE CLUSTER (NAME(OPNFRAME.ONLINE.OSDLIB) - KILOBYTES (128,128) - VOLUMES (100000) - INDEXED KEYS (9,0) - 96 OpenFrame 툴참조안내서

제 5 장온라인시스템툴 RECORDSIZE (100,2000) ) - DATA (CONTROLINTERVALSIZE (2048)) 관련환경설정 IDCAMS를통해생성된 OSD 데이터셋에 osdgen을이용해서리소스정의를저장한후다음과같은환경을설정한다. OSC.conf [OSD] DSNAME OSC 서버에서설정한 OSD 데이터셋에정의된리소스들을사용할수있다. OSI.conf [OSD] DSNAME OSI 서버에서설정한 OSD 데이터셋에정의된리소스들을사용할수있다. 5.9 oscresp oscresp는 OSC 어플리케이션서버에서사용자어플리케이션수행중에어플리케이션에서사용하고있는 EXEC CICS 구문의수행결과로 RESP, RESP2 값이세팅되었을경우해당값이어떤의미인지조회할수있도록제공되는툴이다. 사용자는 oscresp에 EIBFN, RESP, RESP2 값을입력함으로써에러원인에대한상세한설명을조회할수있고, 특정 EIBFN에대응되는 EXEC CICS 커맨드를찾아내거나 EIBFN, RESP값만입력해서가능한 RESP2 값이어떤것들이있는지확인하는것도가능하다. 사용법 oscresp를실행하는방법은다음과같다. Usage: oscresp [options] oscresp <EIBFN> [<RESP> [<RESP2>]] [options] 에는 oscresp의정보를확인하는 h, -v 옵션이있다. - EIBFN 오류가발생한 EXEC CICS 커맨드의 EIBFN 값을입력한다. RESP, RESP2 값을입력하지않을경우해당 EIBFN이어떤커맨드를의미하는지알려준다. - RESP OpenFrame 툴참조안내서 97

제 5 장온라인시스템툴 EIBLK 에설정된 RESP 값을입력한다. RESP2 값이입력되지않았을경우에 는가능한모든 RESP2 값의종류를나열한다. - RESP2 EIBLK 에설정된 RESP2 값을입력한다. 사용예제 다음은 EXEC CICS RECEIVE MAP (EIBFN=1802) 에서 RESP=10, RESP2=00 값 이설정되었을경우해당에러의내용을조회하는예이다. $ oscresp 1802 10 00 EIBFN 1802 RECEIVE MAP INVREQ occurs if a RECEIVE MAP command is issued in a nonterminal task; these tasks do not have a TIOA or a TCTTE. $ 5.10 osccheck osccheck는 OSC 어플리케이션서버를위한설정파일들을체크해서항목들의설정내용을조회하고, 설정파일에오류나빠진항목이없는지확인하는툴이다. osccheck 툴을통해서누락된필수항목, 설정값형식및범위오류, 권장하지않는중복설정된값, 경우에따라문제가될수있는설정정보등을체크할수있고, 실제서버에서사용될설정값들이어떻게되는지확인하는것도가능하다. osccheck에서제공되는정보는서버부팅이안되는설정오류레벨, 설정오류외에기동중에문제를야기할수있는경고레벨, 특정시스템에서만문제가될소지가있는정보레벨, 그리고모든설정에대한정보를보여주는메시지레벨의 4 단계가있으며, 옵션을통해서어느레벨이상의메시지만보여줄것인지설정할수있다. 98 OpenFrame 툴참조안내서

제 5 장온라인시스템툴 사용법 osccheck를실행하는방법은다음과같다. Usage: osccheck [-l<n>] [-a [<server>]...] osccheck [-h -v] 옵션으로는 oscresp의정보를확인하는 -h, -v 옵션, 출력메시지의레벨을설정하는 -l 옵션, 모든설정파일을검사하는 -a 옵션등이있다. - l<n> 메시지의레벨을조정한다. <n> 에올수있는레벨의정보는다음과같다. 1: ERROR ( 오류를야기하는문제만출력 ) 2: WARNING ( 오류를야기하지는않으나시스템운영중에문제가될소지가있는설정까지출력 ) 3: INFO ( 특정시스템에서는정상이지만, 다른시스템에서는오류일수있는내용을추가로출력 ) 4: MESSAGE ( 특정파일의특정섹션의특정항목에어떤값이설정되었는지모두출력 ) - a $OPENFRAME_HOME/config 디렉터리에있는모든 OSC 관련설정파일들 을체크한다. - <server> 입력된서버에서사용하는설정파일들만체크한다. 사용예제 다음은 OSC00001 서버의설정을체크해서경고레벨까지출력하도록하는예제 이다. $ osccheck OSC00001 WARNING : file(osc.conf) section(osc) key(jobid) - setting this field in osc.conf is not recommanded WARNING : file(osc.conf) section(osc) key(rwa_shmkey) - setting this field in osc.conf is not recommanded $ OpenFrame 툴참조안내서 99

제 5 장온라인시스템툴 5.11 osccblpp osccblpp 는 OpenFrame OSC 어플리케이션서버에서처리될코볼프로그램소스 내에존재하는 EXEC CICS 명령어를전처리하여결과물을산출하는프로그램이 다. 결과물은해당파일명에 osccblpp_ 이라는접두어가붙는다. 사용법 osccblpp을실행하는방법은다음과같다. Usage: osccblpp [-b] [-n] [-nc] [-v] file1 [file2...] - file1: 전처리할코볼프로그램소스파일을지정한다. - [file2...] 전처리할코볼프로그램소스파일을두개이상지정할수있다. - [-n] EXEC CICS 명령어를전처리하지않는다. - [-nc] DFHCOMMAREA 를추가하지않는다. - [-v] Verbose mode 로실행한다. 사용예제 CBLSAMPLE.cob 파일을전처리하여 osccblpp_cblsample.cob 이라는파일을 생성하는예이다. $ osccblpp CBLSAMPLE.cob 100 OpenFrame 툴참조안내서

제 5 장온라인시스템툴 5.12 mscasmc mscasmc는맵에있는덤프용어셈블러매크로명령어를없애주는프로그램이다. 실제로화면에영향을미치고맵을정의하는부분외에덤프용으로쓰여지는매크로들이있는데, 가령 PRINT ON, NOGEN, TITLE 같은매크로들은 mscasmc 툴을사용하여전처리를해준다. 사용법 mscasmc을실행하는방법은다음과같다. Usage: mscasmc [options1] <file> mscasmc [options2] <output-file> <file> [options1] 에는 mscasmc의사용법을확인하고입력된맵을보여주는 h, -d 옵션이있다. [options2] 에는출력될파일명을설정하는 o 옵션이있다. - [-d] 컴파일하고자하는파일의전처리과정을출력하면서컴파일하는옵션으로, 해당소스가어떻게전처리되고어디서에러가발생했는지를한눈에알수있다. - [-o file] mscasmc 결과를저장할파일을지정한다. - [-h] mscasmc 의옵션에대한도움말을확인한다. - file 전처리하려는맵파일의이름을지정한다. 사용예제 SCSOW03.map 파일의덤프용어셈블러매크로명령어를제거해주는예이다. $ mscasmc SCSOW03.map OpenFrame 툴참조안내서 101

제 5 장온라인시스템툴 위의명령어를실행한후다음과같은메시지가출력되면서컴파일이된다. [BMSASMC] input map : SCSOW03.map [BMSASMC] file[scsow03.map.atm] create ok. 5.13 mscmapc mscmapc 는맵파일을작성한후 MSC 게이트웨이나기타 OSC 모듈에서내부 적인처리를하기위해사용할바이너리파일과코볼어플리케이션에서맵필드 에매치시키기위해생성하는코볼카피파일을생성하는프로그램이다. 사용법 mscmapc를실행하는방법은다음과같다. Usage: mscmapc [options1] <file> mscmapc [options2] <dir> <file> [options1] 에는 mscmapc의사용법을확인하고입력된맵을보여주는등 -h, -d, -m, -n, -p1, -p2 옵션이있다. [options2] 에는 OpenStudio를위한출력디렉터리를설정하는 -o 옵션이있다. - [-d] 컴파일하고자하는소스의전처리과정을출력해주는옵션이다. 전처리과정을보면서컴파일이되기때문에에러발생시찾기가쉽다. - [-h] 옵션도움말을보여준다. - [-m] 맵셋이름으로코볼카피파일을생성한다. - [-n] 맵셋부분을맵이름으로하여바이너리파일을생성한다. - [-o directory] 바이너리파일과카피파일을생성할디렉터리를지정한다. 주로 OpenStudio 102 OpenFrame 툴참조안내서

제 5 장온라인시스템툴 에서 mscmapc 툴을사용할때디렉터리를지정하는옵션으로쓰인다. - [-p [1 2]] 단말기화면에출력되는내용을미리보여준다. -p1이주어졌을경우에는맵의 1 바이트캐릭터만정상적으로출력되고 2 바이트캐릭터는정상출력되지않는다. -p2가주어지면 2 바이트캐릭터까지정상적으로출력된다. 기본값은 p1이다. - file 컴파일하려는맵파일의이름을지정한다. 사용예제 다음은 BMSLOGO.map 파일을컴파일한후바이너리파일과코볼카피파일을 현재디렉터리에생성하는예이다. $ mscmapc -o./ -p1 BMSLOGO.map 위와같이입력하면아래의화면이출력된다. * input map : BMSLOGO.map * preview : ---------------------------------------------------------------(begin)- MAP : [BGLOGO ] 123456789+123456789+123456789+123456789+123456789+123456789+123456789+123456789+ ------------------------------------------------------------------------------>S 01 02 @*** WELCOME TO OpenFrame ONLINE *** 03 04 05 @ ***** /****** /*******/** /**/*******/****** /*** /**/**/**/******* 06 @/*******/*******/*******/*** /**/*******/******* /***** /********/******* 07 @/**///**/**///**/**//////*** /**/**//////**///**/**///**/********/**///// 08 @/** /**/** /**/** /****/**/** /** /**/** /**/**/**/**/** 09 @/** /**/*******/*******/*******/*******/*******/*******/**/**/**/******* 10 @/** /**/******//*******/*******/*******/******//*******/**/**/**/******* 11 @/** /**/**//// /**//////**/****/**//////**///**/**///**/**/**/**/**///// OpenFrame 툴참조안내서 103

제 5 장온라인시스템툴 12 @/** /**/** /** /** /***/** /** /**/** /**/**/**/**/** 13 @/*******/** /*******/** /***/** /** /**/** /**/**/**/**/******* 14 @//*****//** /*******/** //**/** /** /**/** /**/**/**/**/******* 15 @ ////// /// /////////// ////// /// ////// //////////////////// 16 17 @Copyright 2000-2005 TMAX Soft Co.,Ltd. 18 19 20 @INPUT START MAP : @ @_ 21 22 23 24 ------------------------------------------------------------------------------<E * ---------------------------------------------------------------------------(end)- * copybook : [.//BGLOGO_BGLOGO.cpy] create. * binary image : [.//BGLOGO_BGLOGO_CS.csym] create. 두개의파일이정상적으로만들어졌다는메시지가나오면성공적으로컴파일이완료된것이다. 5.14 msimapc msimapc는맵파일을작성한후 MSI 게이트웨이나기타 OSI 모듈에서내부적인처리를하기위해사용할바이너리파일과코볼어플리케이션에서맵필드에매치시키기위해생성하는코볼카피파일을생성하는프로그램이다. 104 OpenFrame 툴참조안내서

제 5 장온라인시스템툴 사용법 msimapc를실행하는방법은다음과같다. Usage: msimapc [options1] <file> msimapc [options2] <dir> <file> [options1] 에는 msimapc의사용법을확인하고입력된맵을보여주는등 -h, -d, -p 옵션이있다. [options2] 에는 OpenStudio를위한출력디렉터리를설정하는 -o 옵션이있다. - [-d] 컴파일하고자하는소스의전처리과정을출력해준다. 전처리과정을보면서컴파일이되기때문에에러발생시찾기가쉽다. - [-h] 옵션도움말을보여준다. - [-o directory] OpenStudio 에서사용하는옵션으로바이너리파일과카피파일을생성할디 렉터리를지정한다. - [-p] 단말기화면에출력되는내용을미리보여준다. - file 컴파일하려는맵파일의이름을지정한다. 사용예제 다음은 MFSLOGO.fmt 파일을컴파일한후바이너리파일과코볼카피파일을 생성하는예이다. $ msimapc -p MFSLOGO.fmt 위와같이입력하면아래의화면이출력된다. * INPUT FORMAT : MFSLOGO.fmt OpenFrame 툴참조안내서 105

제 5 장온라인시스템툴 ---------------------------------------------------------------------------------- * preview : ---------------------------------------------------------------(BEGIN)- FORMAT : [MSILOGO] 123456789+123456789+123456789+123456789+123456789+123456789+123456789+123456789+ -------------------------------------------------------------------------------->S 01 02 @*** WELCOME TO OpenFrame IMS ONLINE *** 03 04 05 @ ***** /****** /*******/** /**/*******/****** /*** /**/**/**/******* 06 @/*******/*******/*******/*** /**/*******/******* /***** /********/******* 07 @/**///**/**///**/**//////*** /**/**//////**///**/**///**/********/**///// 08 @/** /**/** /**/** /****/**/** /** /**/** /**/**/**/**/** 09 @/** /**/*******/*******/*******/*******/*******/*******/**/**/**/******* 10 @/** /**/******//*******/*******/*******/******//*******/**/**/**/******* 11 @/** /**/**//// /**//////**/****/**//////**///**/**///**/**/**/**/**///// 12 @/** /**/** /** /** /***/** /** /**/** /**/**/**/**/** 13 @/*******/** /*******/** /***/** /** /**/** /**/**/**/**/******* 14 @//*****//** /*******/** //**/** /** /**/** /**/**/**/**/******* 15 @ ////// /// /////////// ////// /// ////// //////////////////// 16 17 @Copyright 2000-2006 TMAX Soft Co.,Ltd. 18 19 20 @ 21 @INPUT START MOD : 22 23 24 -------------------------------------------------------------------------------<E * ---------------------------------------------------------------------------(END)- * COBOL SYMBOL FILE. 106 OpenFrame 툴참조안내서

제 5 장온라인시스템툴 - [/user/of1a/openframe/tmax/mfs/cobolsymbol/msilogo.cpy] CREATED. * BINARY IMAGE. - [/user/of1a/openframe/tmax/mfs/csymbol/02msilogo.dif] CREATED. - [/user/of1a/openframe/tmax/mfs/csymbol/02msilogo.dof] CREATED. - [/user/of1a/openframe/tmax/mfs/csymbol/msilogoi.mid] CREATED. - [/user/of1a/openframe/tmax/mfs/csymbol/msilogoo.mod] CREATED. 다섯개의파일이정상적으로만들어졌다는메시지가나오면성공적으로컴파일이완료된것이다. OpenFrame 툴참조안내서 107

제 6 장운영편의를위한툴 제 6 장운영편의를위한툴 6.1 icfscan icfscan은카탈로그에등록된엔트리의유효성및유형별통계를산출하는프로그램이다. OpenFrame 시스템운영중총카탈로그엔트리의증감에대한보고와등록된엔트리의유효성검증을위해사용할수있다. 사용법 icfscan 프로그램을실행하는방법은다음과같다. Usage: icfscan [-c user_catalog] [-h] [-i] - [-c user_catalog] 지정된사용자카탈로그만을점검한다. user_catalog을지정하지않은경우, 모든카탈로그에대한엔트리의유효성과유형별통계를산출한다. - [-h] 도움말을출력한다. - [-i] 처리과정에대한메시지를출력한다. 사용예제 모든카탈로그에대하여엔트리의유효성과유형별통계를산출하는예이다. $ icfscan 위예제에서모든카탈로그에대한카탈로그스캔을시도한후결과를보여준다. OpenFrame 툴참조안내서 109

제 6 장운영편의를위한툴 ICFSCAN [I] using master catalog : [SYS1.MASTER.ICFCAT.MJES] ICFSCAN [I] [SYS1.MASTER.ICFCAT.MJES] scanning. ICFSCAN [I] ============================================================ ICFSCAN [E] NONVSAM [DSMOVE.OUT.]...invalid path[/home/saza/openframe/volume_default/dsmove.out.] ICFSCAN [I] ============================================================ ICFSCAN [I] [SYS1.MASTER.ICFCAT.MJES] scan report. ICFSCAN [I] ============================================================ ICFSCAN [I] ICF ENTRY TOTAL : 116 ICFSCAN [I] DATASET : 1/ 112 ICFSCAN [I] - NONVSAM : 1/ 58 ICFSCAN [I] - SDS/PDS : 1/ 47 ICFSCAN [I] - GDS : 0/ 11 ICFSCAN [I] - VSAM : 0/ 54 ICFSCAN [I] - CLUSTER : 0/ 9 ICFSCAN [I] - AIX : 0/ 6 ICFSCAN [I] - PATH : 0/ 7 ICFSCAN [I] CATALOG : 0/ 1 ICFSCAN [I] ETC : 0/ 0 ICFSCAN [I] ============================================================ ICFSCAN [I] using user catalog : [TEST.UCAT] ICFSCAN [I] [TEST.UCAT] scanning. ICFSCAN [I] ============================================================ ICFSCAN [I] ============================================================ ICFSCAN [I] [TEST.UCAT] scan report. ICFSCAN [I] ============================================================ ICFSCAN [I] ICF ENTRY TOTAL : 1 ICFSCAN [I] DATASET : 0/ 1 ICFSCAN [I] - NONVSAM : 0/ 1 ICFSCAN [I] - SDS/PDS : 0/ 1 ICFSCAN [I] - GDS : 0/ 0 ICFSCAN [I] - VSAM : 0/ 0 110 OpenFrame 툴참조안내서

제 6 장운영편의를위한툴 ICFSCAN [I] - CLUSTER : 0/ 0 ICFSCAN [I] - AIX : 0/ 0 ICFSCAN [I] - PATH : 0/ 0 ICFSCAN [I] CATALOG : 0/ 0 ICFSCAN [I] ETC : 0/ 0 ICFSCAN [I] ============================================================ Appendix 카탈로그스캔시특정카탈로그항목에대해오류가발생한경우, 해당오류메 시지를화면에출력하고계속해서스캔과정을진행한다. 6.2 icfspchk icfspchk 은카탈로그를기준으로 VSAM 볼륨의사용공간을확인하는프로그램이 다. 단, Non-VSAM 데이터셋이사용하는공간에대해서는보고를하지않는다. icfspchk 프로그램은카탈로그에등록되어있는모든볼륨과각볼륨에저장되어있는모든 VSAM 데이터셋에대해서다음의측정값을출력한다. - 카탈로그이름, 데이터셋이름, 데이터셋유형 - 컨트롤인터벌크기, 평균레코드크기, 최대레코드크기, 전체레코드개수 - 추정데이터셋크기, 최대데이터셋할당공간 한볼륨안에저장되어있는모든 VSAM 데이터셋에대한보고가끝나면해당볼륨에대한총추정데이터셋크기와총데이터셋할당공간을출력한다. 사용법 icfspchk 프로그램을실행하는방법은다음과같다. Usage: icfspchk {volser} icfspchk all OpenFrame 툴참조안내서 111

제 6 장운영편의를위한툴 - {volser} 특정볼륨에대한 VSAM 데이터셋의사용량을확인하기위해지정한다. - all 모든볼륨에대한 VSAM 데이터셋의사용량을확인하기위해지정한다. 사용예제 볼륨별 VSAM 데이터셋의사용량을출력하는예이다. $ icfspchk all 위예제실행후 VSAM 데이터셋사용량보고를출력한화면이다. prog_name: icfspchk_main.c icf_initialize() success. scan_master_catalog() success. icfspchk: *** VVDS not defined for volume 200000. (continue) icfspchk: *** VVDS not defined for volume 300000. (continue) icfspchk: *** VVDS not defined for volume VSPOOL. (continue) check_volume_config() success. + scanning catalog dataset... [SYS1.MASTER.ICFCAT] + scanning catalog dataset... [TAPECAT] + examining catalog entries.. (19) entries -------------------------------------------------------------- > Space Usage Report for Volume MJES01 -------------------------------------------------------------- SYS1.MASTER.ICFCAT:AAA.KSDS01:C=(CISIZE=32,AVGLRECL=16,MAXLRECL=16,RECCOUNT =0,ESTSIZE=0,HARBADS=262144) SYS1.MASTER.ICFCAT:MRDV.B01SYODB:C=(CISIZE=6144,AVGLRECL=6137,MAXLRECL=6137,RECCOUNT=2304,ESTSIZE=14139648,HARBADS=512753664) SYS1.MASTER.ICFCAT:MRDV.B01SYODI:C=(CISIZE=1024,AVGLRECL=35,MAXLRECL=35,REC COUNT=6849,ESTSIZE=239715,HARBADS=143654912) SYS1.MASTER.ICFCAT:OPNFRAME.BATCH.DSLOCK:C=(CISIZE=256,AVGLRECL=222,MAXLREC L=222,RECCOUNT=2,ESTSIZE=444,HARBADS=262144) SYS1.MASTER.ICFCAT:OPNFRAME.BATCH.DSLOCK.LOG:C=(CISIZE=32,AVGLRECL=16,MAXLR 112 OpenFrame 툴참조안내서

제 6 장운영편의를위한툴 ECL=16,RECCOUNT=7,ESTSIZE=112,HARBADS=262144) SYS1.MASTER.ICFCAT:SYS1.JESST:C=(CISIZE=4096,AVGLRECL=32,MAXLRECL=32,RECCOU NT=1,ESTSIZE=32,HARBADS=65536) SYS1.MASTER.ICFCAT:SYS1.JESST.SM:C=(CISIZE=4096,AVGLRECL=24,MAXLRECL=24,REC COUNT=1,ESTSIZE=24,HARBADS=65536) SYS1.MASTER.ICFCAT:SYS1.JOBQ:C=(CISIZE=4096,AVGLRECL=2200,MAXLRECL=2200,REC COUNT=1000,ESTSIZE=2200000,HARBADS=9437184) SYS1.MASTER.ICFCAT:SYS1.JOBQ.SM:C=(CISIZE=4096,AVGLRECL=2200,MAXLRECL=2200, RECCOUNT=1000,ESTSIZE=2200000,HARBADS=9437184) SYS1.MASTER.ICFCAT:SYS1.JOBQ.STATUS:C=(CISIZE=4096,AVGLRECL=1024,MAXLRECL=1 024,RECCOUNT=1,ESTSIZE=1024,HARBADS=65536) SYS1.MASTER.ICFCAT:SYS1.JOBQ.STATUS.SM:C=(CISIZE=4096,AVGLRECL=1024,MAXLREC L=1024,RECCOUNT=1,ESTSIZE=1024,HARBADS=65536) SYS1.MASTER.ICFCAT:SYS1.OUTPUTQ.SM.AIX:G=(CISIZE=32768,AVGLRECL=20,MAXLRECL =20,RECCOUNT=0,ESTSIZE=0,HARBADS=65536) SYS1.MASTER.ICFCAT:SYS1.OUTPUTQ.SM.INFO:C=(CISIZE=4096,AVGLRECL=2048,MAXLRE CL=2048,RECCOUNT=5,ESTSIZE=10240,HARBADS=131072) SYS1.MASTER.ICFCAT:SYS1.OUTPUTQ.SM.MAIN:C=(CISIZE=4096,AVGLRECL=2048,MAXLRE CL=2048,RECCOUNT=1,ESTSIZE=2048,HARBADS=135266304) SYS1.MASTER.ICFCAT:SYS1.VVDS.VMJES01:C=(CISIZE=4096,AVGLRECL=288,MAXLRECL=2 88,RECCOUNT=6216,ESTSIZE=1790208,HARBADS=3145728) SYS1.MASTER.ICFCAT:TAPECAT:U=(CISIZE=32768,AVGLRECL=512,MAXLRECL=32704,RECC OUNT=10,ESTSIZE=5120,HARBADS=65536) -------------------------------------------------------------- > Total Space Used in Volume MJES01: 20589639 Bytes Used / 815005696 Bytes Allocated report_space_usages() success. icf_finalize() success. Appendix icfspchk 프로그램은예전에카탈로그 VVDS 데이터셋의레코드를재사용할수 없던문제가있어, VVDS 데이터셋의증가분을측정하기위해개발된프로그램 이다. OpenFrame 툴참조안내서 113

제 6 장운영편의를위한툴 6.3 icfdump icfdump 는 OpenFrame 제품을운용하면서관리되는카탈로그정보를백업하여 차후에문제가발생했을경우이를복구할수있도록해주는프로그램이다. icfdump 프로그램으로백업을한카탈로그덤프데이터는 icfload 프로그램으로복구할수있다. 카탈로그백업을수행하고나면, 카탈로그데이터가저장된디렉터리에두개의 UNIX 파일이생성된다. dataset.lst 백업에사용된카탈로그데이터셋의종류와이름그리고볼륨정보가저장된다. catalog.dat 카탈로그에저장되어있던카탈로그엔트리에대한정보가저장된파일이다. 사용법 icfdump 프로그램을실행하는방법은다음과같다. Usage: icfdump {volser} {dumpdir} icfdump all {dumpdir} icfdump {dumpdir} - {volser} 특정볼륨에저장되어있는카탈로그데이터만백업하고싶은경우에사용한다. {volser} 을지정하지않은경우모든볼륨에대한백업을수행한다. - all 모든볼륨에대한카탈로그데이터백업을수행한다. - {dumpdir} 백업하려고하는카탈로그데이터가저장될디렉터리를지정한다. 114 OpenFrame 툴참조안내서

제 6 장운영편의를위한툴 사용예제 모든카탈로그데이터를현재디렉터리밑에있는 dump01 디렉터리에백업하는 예이다. $ icfdump all dump01 Appendix 카탈로그데이터덤프시특정카탈로그엔트리에대한오류가발생한경우, 해당오류메시지를화면에출력하고계속해서백업과정을진행한다. 이경우오류메시지를정확하게분석해서작업을계속진행할것인지의여부를결정해야한다. 6.4 icfload icfload는 icfdump로백업한카탈로그덤프데이터를사용하여현재카탈로그시스템을백업할당시의시점으로복구해주는프로그램이다. 또한 icfload에는카탈로그데이터셋을초기화시키는과정이포함되어있어서사용되지않는카탈로그레코드등이정리되어카탈로그데이터셋의크기가작아지는효과가있다. 사용법 icfload 프로그램을실행하는방법은다음과같다. Usage: icfload {volser} {dumpdir} icfload all {dumpdir} icfload {dumpdir} - {volser} 특정볼륨에대한카탈로그내용만복구할경우에지정한다. {volser} 를지정하지않은경우모든볼륨에대한카탈로그내용을복구한다. OpenFrame 툴참조안내서 115

제 6 장운영편의를위한툴 - all 모든볼륨에대한카탈로그데이터를복구한다. - {dumpdir} icfdump 프로그램으로백업된데이터가저장된디렉터리를지정한다. 사용예제 현재디렉터리밑에있는 dump01 디렉터리에백업된데이터를기준으로모든 카탈로그내용을복구하는예이다. $ icfload all dump01 Appendix 특정볼륨을기준으로카탈로그를백업한경우에는해당볼륨을기준으로만카탈로그복구가가능하다. 하지만, 모든볼륨에대해서카탈로그백업을한경우에는특정볼륨또는모든볼륨에대해서카탈로그복구를할수있다. 6.5 jclview jclview는 tjesmgr와같이 UNIX 터미널창에서실행되는 JCL 파일뷰어를제공하는프로그램으로, curses 라이브러리를사용하여터미널창에서도윈도우화면처럼풀다운메뉴, 화면스크롤, 팝업창, 단축키등의사용자편의 UI와다중문서인터페이스를제공한다. 이외에도배치 JOB 테스트에관련된여러가지편의기능을제공하여개발및 SE의작업능률향상에도움을준다. jclview의주요기능은다음과같다. JCL 파일의멀티경로지원 JCL 프로시저열람 (JCLLIB 문장, /*JOBPARM의 PROC 문장지원 ) 데이터셋상세정보열람 (JOBCAT, STEPCAT DD문지원 ) 116 OpenFrame 툴참조안내서

제 6 장운영편의를위한툴 dsview, dsedit, vi 편집기연계호출 멤버데이터셋 (PDS, GDS) 정보열람 데이터셋조건별검색 ( 필터링, 카탈로그, 엔트리타입 ) 사용법 jclview 프로그램을실행하는방법은다음과같다. $ jclview [JCL File Name] - [JCL FILE NAME] 조회하고자하는 JCL 파일을지정한다. 해당 JCL의내용을보여준다. JCL 파일명을지정하지않으면 [ 그림 6-1] 의초기화면이뜬다. OpenFrame 툴참조안내서 117

제 6 장운영편의를위한툴 상위메뉴하위메뉴설명 JCL Dataset Help Open Select Exit Search Volume Info Find Error Msg About JCL View JCL 파일열기열려진여러개의 JCL 파일중에서보기원하는 JCL 파일선택 JCL View 종료데이터셋조건별검색볼륨정보조회 TJES 에러메시지검색 JCL View 버전정보 [ 표 6-1] jclview 메뉴구성 단축키 기능 설명 1 Open JCL 파일열기 2 Edit JCL 파일을 vi 편집기를이용하여열기 3 Select 열려진여러개의 JCL 파일중에서보기원하는 JCL 파일선택 F PgUp 이전페이지 D PgDn 다음페이지 Tab Menu 메뉴바로이동 Enter Ds Info 데이터셋정보출력 Q Close 현재보고있는 JCL 파일닫기 [ 표 6-2] jclview 단축키구성 118 OpenFrame 툴참조안내서

제 6 장운영편의를위한툴 실행예제 jclview 의초기화면은다음과같다. [ 그림 6-1] 초기화면 jclview 메뉴선택화면은다음과같다. [ 그림 6-2] 메뉴선택화면 OpenFrame 툴참조안내서 119

제 6 장운영편의를위한툴 jclview 에서 JCL 파일을연후화면은다음과같다. [ 그림 6-3] JCL 파일 open 후화면 jclview 에서데이터셋정보를열람하는화면은다음과같다. [ 그림 6-4] 데이터셋정보열람화면 120 OpenFrame 툴참조안내서

제 6 장운영편의를위한툴 jclview 에서 GDG 멤버정보를조회화면은다음과같다. [ 그림 6-5] GDG 멤버정보조회화면 jclview 에서데이터셋을검색하는화면은다음과같다. [ 그림 6-6] 데이터셋검색화면 OpenFrame 툴참조안내서 121