OpenFrame OSI 시스템 툴

본 장에서는 OpenFrame OSI 시스템에서 사용하는 툴 프로그램 사용법에 대해 기술한다.

1. 개요

다음은 OpenFrame OSI 시스템의 운영 편의를 위한 프로그램 목록이다.

프로그램명 설명

dfsuocu0

리소스 동적 변경을 위해 staging library의 정보를 현재 inactive library로 복사한다.

imscmd

터미널을 통하지 않고 OSI 명령을 입력할 수 있도록 제공한다. 특정 터미널을 명령 주체로 하지 않기 때문에 입력 터미널에 영향을 주는 명령은 실행할 수 없다.

macroprep

덤프용 어셈블러 매크로 명령어를 전처리한다.

osiboot

OSI 시스템을 기동 및 운영하는데 필요한 OpenFrame Core(Tmax/Base/Batch) 서버와 OSI 사용자 서버를 기동하는 툴이다.

osidown

OpenFrame Core 서버와 OSI 사용자 서버를 종료하는 툴이다.

osiinit

OpenFrame OSI 시스템을 운영하는데 필요한 시스템 테이블을 생성하거나 제거한다.

osimfsgen

MFS 문법에 맞게 작성된 포맷 파일을 기계언어로 컴파일하여 MID, MOD, DIF, DOF 4가지의 바이너리 파일을 생성한다.

osirtsddump

RTSD 테이블에 저장된 시스템 정의 내용을 매크로 형태로 화면에 출력한다.

osisddump

시스템 정의 테이블에 MODBLKS 라이브러리로 저장된 레코드를 매크로 형태로 화면에 출력한다.

osisdgen

매크로 형식의 리소스 정의가 정의되어 있는 스크립트 파일을 읽어서 지정된 IMS 시스템의 시스템 정의 테이블에 저장한다.

osiver

배포된 OSI 시스템의 현재 버전 정보를 출력한다.

osilogprt

AIBTDLI의 LOG 커맨드를 통해 저장된 로그를 출력한다.

2. dfsuocu0

dfsuocu0는 리소스 동적 변경을 위해 staging library의 정보를 현재 inactive library로 복사하는 툴이다. staging library의 변경에 대한 자세한 설명은 IBM 매뉴얼의 "Online Change Copy Utility"를 참조한다 .

사용법

dfsuocu0를 실행하는 방법은 다음과 같다.

Usage: dfsuocu0 <control region> [ACBLIB | FMTLIB | MODBLKS | MATRIX]
     | dfsuocu0 [-h | -v]
  • 입력 항목

    항목 설명

    <control region>

    시스템 서버(Control Region)의 ID를 지정한다.

    [ACBLIB|FMTLIB|

    MODBLKS|MATRIX]

    • ACBLIB : ACBLIB을 복사하는 경우 지정한다.

    • FMTLIB : FMTLIB을 복사하는 경우 지정한다.

    • MODBLKS : MODBLKS를 복사하는 경우 지정한다.

    • MATRIX : MATRIX를 복사하는 경우 지정한다.

  • [options]

    옵션 설명

    [-h]

    프로그램 사용을 위한 자세한 사용법을 출력한다.

    [-v]

    dfsuocu0의 버전 정보를 출력한다.

사용예제

다음은 dfsuocu0를 통해 MODBLKS를 복사하는 예이다.

$ dfsuocu0 IMSA MODBLKS
- ACTIVE MODBLKS is MODBLKSA
- Succeeded to copy MODBLKS to MODBLKSB

3. imscmd

imscmd는 터미널을 통하지 않고 OSI 명령을 입력할 수 있도록 제공하는 툴이다. 특정 터미널을 명령 주체로 하지 않기 때문에 입력 터미널에 영향을 주는 명령은 실행할 수 없다.

사용법

imscmd를 실행하는 방법은 다음과 같다.

Usage: imscmd [-u <userid>/<passwd>] <control region> <command>
     | imscmd [-u <userid>/<passwd>] <crc><command>
     | imscmd [-h | -c | -v]
  • 입력 항목

    항목 설명

    <control region>

    명령을 실행할 Control Region의 ID를 지정한다.

    <command>

    수행할 명령어를 기술한다. <command>에 대한 자세한 사용법은 OpenFrame OSI "명령어 참조 안내서"를 참고한다.

    <crc>

    명령을 수행할 Control Region에 대응하는 CRC값을 지정한다.

    CRC는 Region별로 유일한 character를 지정할 수 있다. CRC(Command Recognition Character)는 입력된 명령의 수행을 어느 Region에서 할지 결정하는 역할을 한다. Control Region별로 유일한 문자를 가져야 하며 OpenFrame 환경설정 중 osi 서브젝트에서 CRC 섹션의 키로 설정한다.

  • [options]

    옵션 설명

    [-u <userid>/<passwd>]

    JCL을 실행하는 경우 실행권한을 가진 사용자 ID와 비밀번호를 입력한다.

    [-h]

    프로그램 사용을 위한 자세한 사용법을 출력한다.

    [-c]

    IMS 커맨드 정보를 출력한다.

    [-v]

    imscmd의 버전 정보를 출력한다.

JCL을 수행하는 /START REGION 커맨드는 -u 옵션을 통한 권한 체크가 필요하고, 생략하는 경우에는 OpenFrame 환경설정 중 tjes 서브젝트에서 INTRDR 섹션의 설정을 따른다.

사용예제

다음은 imscmd 툴을 통해 /DIS LTERM 명령을 수행한 예이다.

$ imscmd IMSA /DIS LTERM ALL
IMS control region : [IMSA]
Requested command  : [DIS LTERM ALL]
----------------------------------------
LTERM     ENQCT  DEQCT    QCT
N031E01       0      0      0
N031E02       0      0      0
N031E03       0      0      0
N031E04       0      0      0
N031E05       0      0      0
N031E06       0      0      0
N031E07       0      0      0
N031E08       0      0      0
N031E09       0      0      0
*20363/103355*
----------------------------------------
Command '/DIS LTERM ALL' execution done

4. macroprep

macroprep은 덤프용 어셈블러 매크로 명령어를 전처리하는 툴이다. 실제로 화면에 영향을 미치고 Map을 정의하는 부분 외에 덤프용으로 쓰여지는 매크로들이 있는데, 같은 매크로들은 mscasmc 툴을 사용하여 전처리를 한다.

사용법

macroprep을 실행하는 방법은 다음과 같다.

Usage: macroprep [options] <file>...
  • [options]

    옵션 설명

    [-c] <dir>

    COPY 매크로의 대상파일이 위치하는 디렉터리를 지정하는 옵션이다.

    [-s]

    전처리 후 결과 파일을 생성할 때, 72컬럼에서 가장 가까운 콤마(,) 문자 이후에 줄바꿈하도록 하는 옵션이다. 이 옵션이 없을 경우에는 71컬럼에서 줄바꿈이 이루어진다.

    [-o] <dir>

    전처리 후 결과 파일이 위치하는 디렉터리를 지정하는 옵션이다.

    [-h]

    프로그램 사용을 위한 자세한 사용법을 출력한다.

    [-v]

    macroprep의 버전 정보를 출력한다.

  • 입력 항목

    항목 설명

    <file>

    컴파일하려는 MFS 포맷 파일의 이름을 지정한다.

사용예제

다음은 macroprep을 사용하여 OIVP001.TXT파일을 전처리하고 확장자가 prep인 새로운 결과 파일이 생성된 예제이다.

$ macroprep -c copy OIVP001.TXT
$ ls
OIVP001.TXT       OIVP001.TXT.prep       copy

5. osiboot

osiboot는 OSI 시스템을 기동 및 운영하는데 필요한 OpenFrame Core(Tmax/Base/Batch) 서버와 OSI 사용자 서버를 기동하는 툴이다. osiboot로 기동하려는 OpenFrame/Base 와 OpenFrame/Batch, 사용자 서버 목록은 $OPENFRAME_HOME/config/osi.ofsys.seq 파일에 모두 등록되어 있어야 한다.

  1. OpenFrame Core 기동

    OpenFrame Core 기동 과정은 내부적으로 2단계를 거친다.

    1. OpenFrame Core 역할을 수행하는 TP-Monitor인 Tmax를 기동한다.

    2. OSI 구동에 필요한 다른 OpenFrame의 패키지들에서 사용되어지는 서버 모듈(OpenFrame/Base, OpenFrame/Batch)들을 구동한다.

  2. OSI 사용자 서버 기동

    OTMA 서버와 같은 OSI 사용자 서버를 사용하는 경우 OpenFrame Core 서버와 함께 기동한다.

  3. OSI 시스템 서버 기동

    OSI 7.2 버전부터는 osiomsvr와 같은 OSI 시스템 서버를 기동한다. 시스템서버는 osi.ofsys.seq 파일에 별도로 등록하지 않는다.

사용법

osiboot을 실행하는 방법은 다음과 같다.

Usage: osiboot [options]
     | osiboot [-b] [-n <node_name>] [-o]
     | osiboot [-h | -v]
  • [options]

    옵션 설명

    [-b]

    멀티노드 환경에서 백업 서버들도 같이 기동한다.

    [-n <node_name>]

    기동하려는 노드 이름을 지정한다.

    [-o]

    OSI 시스템 서버를 기동한다. 이때에는 Tmax 엔진과 $OPENFRAME_HOME/config/osi.ofsys.seq 파일에 등록된 서버들은 기동하지 않는다.

    [-h]

    프로그램 사용을 위한 자세한 사용법을 출력한다.

    [-v]

    osiboot의 버전 정보를 출력한다.

사용예제

다음은 OpenFrame Core 서버들을 기동하는 예제이다.

$ osiboot

TMBOOT for node(NODE1) is starting:
  TMBOOT: TMM is starting: Thu Mar 11 16:23:50 2021
  TMBOOT: CLL is starting: Thu Mar 11 16:23:50 2021
  TMBOOT: CLH is starting: Thu Mar 11 16:23:50 2021
  TMBOOT: TLM(tlm) is starting: Thu Mar 11 16:23:50 2021
[2021-03-11T16:23:50.429741] [osiboot(20155)          ] [M] [OSI7061M] System server(ofrsasvr) booting ok
[2021-03-11T16:23:50.432966] [osiboot(20155)          ] [M] [OSI7061M] System server(ofrlhsvr) booting ok
[2021-03-11T16:23:50.436680] [osiboot(20155)          ] [M] [OSI7061M] System server(ofrdmsvr) booting ok
[2021-03-11T16:23:50.440769] [osiboot(20155)          ] [M] [OSI7061M] System server(ofrdsedt) booting ok
[2021-03-11T16:23:50.445375] [osiboot(20155)          ] [M] [OSI7061M] System server(ofrcmsvr) booting ok
[2021-03-11T16:23:50.449697] [osiboot(20155)          ] [M] [OSI7061M] System server(ofruisvr) booting ok
[2021-03-11T16:23:50.453979] [osiboot(20155)          ] [M] [OSI7061M] System server(ofrsmlog) booting ok
[2021-03-11T16:23:50.458096] [osiboot(20155)          ] [M] [OSI7061M] System server(obmjmsvr) booting ok
[2021-03-11T16:23:50.462654] [osiboot(20155)          ] [M] [OSI7061M] System server(obmjschd) booting ok
[2021-03-11T16:23:50.466494] [osiboot(20155)          ] [M] [OSI7061M] System server(obmjinit) booting ok
[2021-03-11T16:23:50.470602] [osiboot(20155)          ] [M] [OSI7061M] System server(obmjhist) booting ok
[2021-03-11T16:23:50.479765] [osiboot(20155)          ] [M] [OSI7061M] System server(obmjspbk) booting ok
[2021-03-11T16:23:50.485365] [osiboot(20155)          ] [M] [OSI7061M] System server(ofrpmsvr) booting ok
[2021-03-11T16:23:50.496121] [osiboot(20155)          ] [M] [OSI7061M] System server(obmtsmgr) booting ok
[2021-03-11T16:23:50.510815] [osiboot(20155)          ] [M] [OSI7061M] System server(tmsvr) booting ok
[2021-03-11T16:23:50.516011] [osiboot(20155)          ] [M] [OSI7061M] System server(osiomsvr) booting ok
[2021-03-11T16:23:50.516029] [osiboot(20155)          ] [M] [OSI7051M] Booting process complete.

6. osidown

osidown은 OSI 시스템 서버와 ${OPENFRAME_HOME}/config/osi.ofsys.seq 파일 목록에 있는 서버들을 종료하는 툴이다.

사용법

osidown을 실행하는 방법은 다음과 같다.

Usage: osidown [options]
     | osidown [-i] [-n <node_name>] [-o]
     | osidown [-h | -v]
  • [options]

    옵션 설명

    [-i]

    서버를 즉시 종료한다.

    [-n <node_name>]

    종료하려는 노드 이름을 지정한다.

    [-o]

    OSI 시스템 서버를 종료한다. 이때에는 Tmax 엔진과 $OPENFRAME_HOME/config/osi.ofsys.seq 파일에 등록된 서버들은 종료하지 않는다.

    [-h]

    프로그램 사용을 위한 자세한 사용법을 출력한다.

    [-v]

    osidown의 버전 정보를 출력한다.

사용예제

다음은 ${OPENFRAME_HOME}/config/osi.ofsys.seq 파일 목록에 있는 서버들을 종료하는 예제이다.

$ osidown
[2021-03-11T16:27:52.702893] [osidown(20337)          ] [M] [OSI7141M] System server(osiomsvr) shutdown ok
[2021-03-11T16:27:52.706805] [osidown(20337)          ] [M] [OSI7141M] System server(tmsvr) shutdown ok
[2021-03-11T16:27:52.723706] [osidown(20337)          ] [M] [OSI7141M] System server(obmtsmgr) shutdown ok
[2021-03-11T16:27:52.732120] [osidown(20337)          ] [M] [OSI7141M] System server(ofrpmsvr) shutdown ok
[2021-03-11T16:27:52.742428] [osidown(20337)          ] [M] [OSI7141M] System server(obmjspbk) shutdown ok
[2021-03-11T16:27:52.750187] [osidown(20337)          ] [M] [OSI7141M] System server(obmjhist) shutdown ok
[2021-03-11T16:27:52.776262] [osidown(20337)          ] [M] [OSI7141M] System server(obmjinit) shutdown ok
[2021-03-11T16:27:52.786100] [osidown(20337)          ] [M] [OSI7141M] System server(obmjschd) shutdown ok
[2021-03-11T16:27:52.795757] [osidown(20337)          ] [M] [OSI7141M] System server(obmjmsvr) shutdown ok
[2021-03-11T16:27:52.843192] [osidown(20337)          ] [M] [OSI7141M] System server(ofrsmlog) shutdown ok
[2021-03-11T16:27:52.853223] [osidown(20337)          ] [M] [OSI7141M] System server(ofruisvr) shutdown ok
[2021-03-11T16:27:52.860983] [osidown(20337)          ] [M] [OSI7141M] System server(ofrcmsvr) shutdown ok
[2021-03-11T16:27:52.868241] [osidown(20337)          ] [M] [OSI7141M] System server(ofrdsedt) shutdown ok
[2021-03-11T16:27:52.875517] [osidown(20337)          ] [M] [OSI7141M] System server(ofrdmsvr) shutdown ok
[2021-03-11T16:27:52.883185] [osidown(20337)          ] [M] [OSI7141M] System server(ofrlhsvr) shutdown ok
[2021-03-11T16:27:52.890716] [osidown(20337)          ] [M] [OSI7141M] System server(ofrsasvr) shutdown ok

TMDOWN for node(NODE1) is starting:
  TMDOWN: CLH downed: Thu Mar 11 16:27:52 2021
  TMDOWN: CLL downed: Thu Mar 11 16:27:52 2021
  TMDOWN: TLM downed: Thu Mar 11 16:27:52 2021
  TMDOWN: TMM downed: Thu Mar 11 16:27:52 2021
  TMDOWN: TMAX is down

7. osiinit

osiinit은 OpenFrame OSI 시스템을 운영할 때 필요한 REGION, MODSTAT, MQ, SD, RTSD 등의 시스템 테이블을 생성하거나 제거하기 위한 툴이다.

사용법

osiinit을 실행하는 방법은 다음과 같다.

Usage: osiinit <command> [options]
  • 입력 항목

    항목 설명

    <command>

    • create : OpenFrame OSI의 시스템 테이블을 생성한다.

    • remove : OpenFrame OSI의 시스템 테이블을 삭제한다.

    • list : OpenFrame OSI의 시스템 테이블의 목록을 조회한다.

  • [options]

    옵션 설명

    [-t] <table/index name>

    생성 혹은 삭제할 시스템 테이블/인덱스를 지정한다. 옵션을 지정하지 않으면 모든 시스템 테이블/인덱스 이(가) 선택된다.

    [-st] <tablespace>

    생성 혹은 삭제할 시스템 테이블/인덱스의 테이블 스페이스를 지정한다.

사용예제

다음은 OpenFrame OSI에서 사용하는 시스템 테이블의 목록을 조회하는 예이다.

$ $ osiinit list
osiinit version 7.2.0(0) oframe@tmax:ofsrc/osi(#1) 2020-11-12 19:43:54
Initialize OpenFrame OSI System Tables

No   Table
----------------------------------------------
  1  OFM_OSI_MQ_MASTER
  2  OFM_OSI_MQ
  3  OFM_OSI_MQ_SEQ
  4  OFM_OSI_MQ_BMP
  5  OFM_OSI_MQ_BMP_SEQ
  6  OFM_OSI_MQ_TRIGGER
  7  OFM_OSI_REGION
  8  OFM_OSI_REGION_STATUS
  9  OFM_OSI_SD_DATABASE
 10  OFM_OSI_SD_APPLCTN
 11  OFM_OSI_SD_TRANSACT
 12  OFM_OSI_SD_TRANSACT_IDX1
 13  OFM_OSI_SD_TERMINAL
 14  OFM_OSI_SD_LTERM
 15  OFM_OSI_SD_LTERM_IDX1
 16  OFM_OSI_RTSD_DATABASE
 17  OFM_OSI_RTSD_APPLCTN
 18  OFM_OSI_RTSD_TRANSACT
 19  OFM_OSI_RTSD_TRANSACT_IDX1
 20  OFM_OSI_RTSD_TERMINAL
 21  OFM_OSI_RTSD_LTERM
 22  OFM_OSI_RTSD_LTERM_IDX1
 23  OFM_OSI_MODSTAT
 24  OFM_OSI_CI
 25  OFM_OSI_LOG
 26  OFM_OSI_LOG_IDX1

다음은 OpenFrame OSI의 시스템 테이블 중 OFM_OSI_SD_DATABASE 테이블을 DEFVOL이라는 테이블 스페이스에 생성하는 예이다.

$ osiinit create -t OFM_OSI_SD_DATABASE -st DEFVOL
osiinit version 7.2.0(0) oframe@tmax:ofsrc/osi(#1) 2020-11-12 19:43:54
Initialize OpenFrame OSI System Tables

Creating OFM_OSI_SD_DATABASE...
 > "OFM_OSI_SD_DATABASE" created...

8. osimfsgen

osimfsgen은 MFS 문법에 맞게 작성된 포맷 파일을 기계언어로 컴파일하여 MID, MOD, DIF, DOF 4가지의 바이너리 파일을 생성하는 툴이다.

사용법

osimfsgen을 실행하는 방법은 다음과 같다.

Usage: osimfsgen [options] <file>
     | osimfsgen [options] -o <dir> <file>
     | osimfsgen [options] -m <FMTLIB> <file>
  • 입력 항목

    항목 설명

    <file>

    컴파일하려는 MFS 포맷 파일의 이름을 입력한다.

    <dir>

    바이너리 파일이 생성되는 디렉터리 경로를 입력한다.

    <FMTLIB>

    FMTLIB 데이터셋 이름을 입력한다.

    [-o]

    바이너리 파일이 생성되는 디렉터리를 지정한다.

    [-m]

    특정 Region에서 사용하는 FMTLIB 데이터셋을 지정한다.

    [-h]

    프로그램 사용을 위한 자세한 사용법을 출력한다.

    [-v]

    osimfsgen의 버전 정보를 출력한다.

  • [options]

    옵션 설명

    [-d]

    컴파일할 MFS 포맷 파일의 내용을 보여준다.

    [-l <level>]

    출력하는 메시지 로그의 레벨을 지정한다.

    • 1: 컴파일할 소스의 전처리 과정을 출력한다.

    • 2 : 미지원 구문을 출력한다.

    • 3 : 지원 구문을 출력한다.

    • 4 : 미지원, 지원 구문을 모두 출력한다.

    [-p 1]

    에뮬레이터에 나오는 화면을 1Byte 문자로 구성된 포맷으로 미리 보여준다.

    [-p 2]

    에뮬레이터에 나오는 화면을 2Byte 문자로 구성된 포맷으로 미리 보여준다.

사용예제

다음은 OIVP001.TXT 파일을 컴파일하여 IMSA의 FMTLIB(OSI.IMSA.MFSLIB)에 저장하는 예이다.

$ osimfsgen -m OSI.IMSA.MFSLIB OIVP001.TXT
osimfsgen 7.2.0(0) oframe@tmax:ofsrc/osi(#1) 2020-11-12 19:43:54
[/home/oframe/products/ofsrc/OpenFrame/volume_default/OSI.IMSA.MFSLIB/OIVP001.mfs] create ok.
[/home/oframe/products/ofsrc/OpenFrame/volume_default/OSI.IMSA.MFSLIB/OIVP001I.mfs] create ok.
[/home/oframe/products/ofsrc/OpenFrame/volume_default/OSI.IMSA.MFSLIB/OIVP001O.mfs] create ok.

9. osirtsddump

osirtsddump는 지정된 IMS 시스템의 RTSD(RunTime System Definition) 테이블에 저장된 시스템 정의 내용을 매크로 형태로 화면에 출력하는 툴이다. 출력된 매크로 내용은 다시 osisdgen의 입력으로 사용할 수 있다.

사용법

osirtsddump를 실행하는 방법은 다음과 같다.

Usage: osirtsddump <imsid>
     | osirtsddump [-h | -v]
  • 입력 항목

    항목 설명

    <imsid>

    시스템 서버(Control Region)의 ID를 지정한다.

  • [options]

    옵션 설명

    [-h]

    프로그램 사용을 위한 자세한 사용법을 출력한다.

    [-v]

    osirtsddump의 버전 정보를 출력한다.

사용예제

다음은 osirtsddump로 IMSA라는 IMS 시스템의 RTSD 테이블에 저장된 시스템 정의를 읽어서 매크로 형태의 텍스트로 출력하는 예이다.

$ osirtsddump IMSA
DATABASE DBD=OIVPIDBD,ACCESS=EX
DATABASE DBD=OIVPIX1,ACCESS=EX
DATABASE DBD=OIVPIX2,ACCESS=EX
APPLCTN FPATH=NO,PSB=OIVPI001,PGMTYPE=(TP,,1),SCHDTYP=PARALLEL
TRANSACT CODE=OIVPMPP1,EDIT=(UC),FPATH=NO,INQUIRY=(NO),MAXRGN=0,       X
        MODE=SNGL,MSGTYPE=(SNGLSEG,RESPONSE,1),PARLIM=0,PROCLIM=(0,0), X
        PRTY=(1,5,65535),SEGNO=0,SEGSIZE=0
APPLCTN FPATH=NO,PSB=OIVPI002,PGMTYPE=(TP,,1),SCHDTYP=PARALLEL
TRANSACT CODE=OIVPMPP2,EDIT=(UC),FPATH=NO,INQUIRY=(NO),MAXRGN=1,       X
        MODE=SNGL,MSGTYPE=(SNGLSEG,RESPONSE,1),PARLIM=0,PROCLIM=(0,0), X
        PRTY=(1,5,65535),SEGNO=0,SEGSIZE=0
APPLCTN FPATH=NO,PSB=OIVPI003,PGMTYPE=(TP,,1),SCHDTYP=PARALLEL
TRANSACT CODE=OIVPMPP3,EDIT=(UC),FPATH=NO,INQUIRY=(NO),MAXRGN=0,       X
        MODE=SNGL,MSGTYPE=(SNGLSEG,RESPONSE,1),PARLIM=0,PROCLIM=(0,0), X
        PRTY=(1,5,65535),SEGNO=0,SEGSIZE=0
TERMINAL NAME=(OIVPTRM1),ADDR=(),BACKUP=(0),EDIT=(NO,NO),LTERM=        X
        MSGDEL=SYSINFO,OPTIONS=(PAGDEL,OPNDST,PROT),OPTIONS=(TRSOSI),  X
        FPBUF=0,BUFSIZE=0,HEADCTL=0,FEAT=(CARD,PEN),COMPT=(),MODEL=1,  X
        PTRSIZE=120,TYPE=,SIZE=(0,0),OUTBUF=0,UNIT=,COMPT1=(,IGNORE),  X
        COMPT2=(,IGNORE),COMPT3=(,IGNORE),COMPT4=(,IGNORE),MODETBL=,   X
        SEGSIZE=0,SESSION=0
NAME N031E01,EDIT=(,ULC),OUTPUT=
TERMINAL NAME=(OIVPTRM2),ADDR=(),BACKUP=(0),EDIT=(NO,NO),LTERM=        X
        MSGDEL=SYSINFO,OPTIONS=(PAGDEL,OPNDST,PROT),OPTIONS=(TRSOSI),  X
        FPBUF=0,BUFSIZE=0,HEADCTL=0,FEAT=(CARD,PEN),COMPT=(),MODEL=1,  X
        PTRSIZE=120,TYPE=,SIZE=(0,0),OUTBUF=0,UNIT=,COMPT1=(,IGNORE),  X
        COMPT2=(,IGNORE),COMPT3=(,IGNORE),COMPT4=(,IGNORE),MODETBL=,   X
        SEGSIZE=0,SESSION=0
NAME N031E02,EDIT=(,ULC),OUTPUT=
TERMINAL NAME=(OIVPTRM3),ADDR=(),BACKUP=(0),EDIT=(NO,NO),LTERM=        X
        MSGDEL=SYSINFO,OPTIONS=(PAGDEL,OPNDST,PROT),OPTIONS=(TRSOSI),  X
        FPBUF=0,BUFSIZE=0,HEADCTL=0,FEAT=(CARD,PEN),COMPT=(),MODEL=1,  X
        PTRSIZE=120,TYPE=,SIZE=(0,0),OUTBUF=0,UNIT=,COMPT1=(,IGNORE),  X
        COMPT2=(,IGNORE),COMPT3=(,IGNORE),COMPT4=(,IGNORE),MODETBL=,   X
        SEGSIZE=0,SESSION=0
NAME N031E03,EDIT=(,ULC),OUTPUT=

10. osisddump

osisddump는 지정된 IMS 시스템의 시스템 정의(System Definition) 테이블에 MODBLKS 라이브러리로 저장된 레코드를 매크로 형태로 화면에 출력하는 툴이다. 출력된 매크로 내용은 다시 osisdgen의 입력으로 사용할 수 있다.

사용법

osisddump를 실행하는 방법은 다음과 같다.

Usage: osisddump <imsid>
     | osisddump [-h | -v]
  • 입력 항목

    항목 설명

    <imsid>

    시스템 서버(Control Region)의 ID를 지정한다.

  • [options]

    옵션 설명

    [-h]

    프로그램 사용을 위한 자세한 사용법을 출력한다.

    [-v]

    osisdgen의 버전 정보를 출력한다.

사용예제

다음은 osisddump로 IMSA라는 IMS 시스템의 SD 테이블에서 MODBLKS 라이브러리로 저장된 시스템 정의를 읽어서 매크로 형태의 텍스트로 출력하는 예이다.

$ osisddump IMSA
DATABASE DBD=OIVPIDBD,ACCESS=EX
DATABASE DBD=OIVPIX1,ACCESS=EX
DATABASE DBD=OIVPIX2,ACCESS=EX
APPLCTN FPATH=NO,PSB=OIVPI001,PGMTYPE=(TP,,1),SCHDTYP=PARALLEL
TRANSACT CODE=OIVPMPP1,EDIT=(UC),FPATH=NO,INQUIRY=(NO),MAXRGN=0,       X
        MODE=SNGL,MSGTYPE=(SNGLSEG,1),PARLIM=0,PROCLIM=(0,0),          X
        PRTY=(1,5,65535),SEGNO=0,SEGSIZE=0
APPLCTN FPATH=NO,PSB=OIVPI002,PGMTYPE=(TP,,1),SCHDTYP=PARALLEL
TRANSACT CODE=OIVPMPP2,EDIT=(UC),FPATH=NO,INQUIRY=(NO),MAXRGN=1,       X
        MODE=SNGL,MSGTYPE=(SNGLSEG,1),PARLIM=0,PROCLIM=(0,0),          X
        PRTY=(1,5,65535),SEGNO=0,SEGSIZE=0
APPLCTN FPATH=NO,PSB=OIVPI003,PGMTYPE=(TP,,1),SCHDTYP=PARALLEL
TRANSACT CODE=OIVPMPP3,EDIT=(UC),FPATH=NO,INQUIRY=(NO),MAXRGN=0,       X
        MODE=SNGL,MSGTYPE=(SNGLSEG,1),PARLIM=0,PROCLIM=(0,0),          X
        PRTY=(1,5,65535),SEGNO=0,SEGSIZE=0
TERMINAL NAME=(OIVPTRM1),ADDR=(),BACKUP=(0),EDIT=(NO,NO),LTERM=        X
        MSGDEL=SYSINFO,OPTIONS=(PAGDEL,OPNDST,PROT),OPTIONS=(TRSOSI),  X
        FPBUF=0,BUFSIZE=0,HEADCTL=0,FEAT=(CARD,PEN),COMPT=(),MODEL=1,  X
        PTRSIZE=120,TYPE=,SIZE=(0,0),OUTBUF=0,UNIT=,COMPT1=(,IGNORE),  X
        COMPT2=(,IGNORE),COMPT3=(,IGNORE),COMPT4=(,IGNORE),MODETBL=,   X
        SEGSIZE=0,SESSION=0
NAME N031E01,EDIT=(,ULC),OUTPUT=
TERMINAL NAME=(OIVPTRM2),ADDR=(),BACKUP=(0),EDIT=(NO,NO),LTERM=        X
        MSGDEL=SYSINFO,OPTIONS=(PAGDEL,OPNDST,PROT),OPTIONS=(TRSOSI),  X
        FPBUF=0,BUFSIZE=0,HEADCTL=0,FEAT=(CARD,PEN),COMPT=(),MODEL=1,  X
        PTRSIZE=120,TYPE=,SIZE=(0,0),OUTBUF=0,UNIT=,COMPT1=(,IGNORE),  X
        COMPT2=(,IGNORE),COMPT3=(,IGNORE),COMPT4=(,IGNORE),MODETBL=,   X
        SEGSIZE=0,SESSION=0
NAME N031E02,EDIT=(,ULC),OUTPUT=
TERMINAL NAME=(OIVPTRM3),ADDR=(),BACKUP=(0),EDIT=(NO,NO),LTERM=        X
        MSGDEL=SYSINFO,OPTIONS=(PAGDEL,OPNDST,PROT),OPTIONS=(TRSOSI),  X
        FPBUF=0,BUFSIZE=0,HEADCTL=0,FEAT=(CARD,PEN),COMPT=(),MODEL=1,  X
        PTRSIZE=120,TYPE=,SIZE=(0,0),OUTBUF=0,UNIT=,COMPT1=(,IGNORE),  X
        COMPT2=(,IGNORE),COMPT3=(,IGNORE),COMPT4=(,IGNORE),MODETBL=,   X
        SEGSIZE=0,SESSION=0
NAME N031E03,EDIT=(,ULC),OUTPUT=

11. osisdgen

osisdgen은 매크로 형식의 리소스 정의가 정의되어 있는 스크립트 파일을 읽어서 지정된 IMS 시스템의 시스템 정의(System Definition) 테이블에 저장하는 툴이다. 이때 시스템 정의 테이블에는 MODBLKS라는 라이브러리 이름으로 저장된다. 리소스 정의 매크로 파일에 중복되는 정의가 있거나 시스템 정의 테이블내에 같은 리소스에 대한 레코드가 이미 존재하는 경우에는 새로운 정의로 대체한다.

사용법

osisdgen을 실행하는 방법은 다음과 같다.

Usage: osisdgen [-d] [-l] <file> <imsid>
     | osisdgen [-h | -v]
     | osisdgen -s [AP | DB | NM | TR | TRM] <sd_name> <imsid>
  • 입력 항목

    항목 설명

    <file>

    시스템 정의 테이블에 저장하려는 리소스 정의 매크로 파일을 지정한다.

    <imsid>

    시스템 서버(Control Region)의 ID를 지정한다.

  • [options1]

    옵션 설명

    [-d]

    리소스를 저장하기 전에 시스템 정의 테이블에서 MODBLKS 라이브러리로 저장된 기존 레코드를 모두 삭제한다.

    [-l]

    OSI에서 지원하지 않는 매크로나 선행 매크로가 누락되어 무시되는 매크로를 화면에 표시한다.

    [-s]

    리소스명과 타입을 지정하여 단일 레코드를 테이블로부터 삭제한다. 만약 APPLCTN 혹은 TERMINAL 타입을 지정하여 리소스를 삭제하는 경우에는 하위에 속한 연관된 TRANSACT 혹은 NAME 리소스도 테이블에서 같이 삭제된다.

    다음의 타입이 지정 가능하다.

    • AP : APPLCTN

    • DB : DATABASE

    • NM : NAME

    • TR : TRANSACT

    • TRM : TERMINAL

  • [options2]

    옵션 설명

    [-h]

    프로그램 사용을 위한 자세한 사용법을 출력한다.

    [-v]

    osisdgen의 버전 정보를 출력한다.

사용예제

다음은 osi_sd.dat 파일에 들어있는 리소스 정의 매크로들을 읽어서 IMSA라는 IMS 시스템의 시스템 정의 테이블에 저장하는 예이다.

$ osisdgen -d osi_sd.dat IMSA
[2020-12-28T14:24:05.886998] [osisdgen(8205)          ] [M] [OSI7203M] Processing result : Success[43], Ignore[0], Error[0]

다음은 단일 리소스 APPLCTN "OIVPI001" 을 IMSA라는 IMS 시스템의 시스템 정의 테이블로부터 삭제하는 예이다.

$ osisdgen -s AP OIVPI001 IMSA
[2020-12-28T14:24:17.123691] [osisdgen(8212)          ] [M] [OSI7203M] Processing result : Success[1], Ignore[0], Error[0]

12. osiver

osiver는 배포된 OSI 시스템의 현재 버전 정보를 출력하는 툴이다.

사용법

osiver은 옵션이 없이 실행된다.

Usage: osiver
사용예제

다음은 osiver를 실행했을 경우 예제이다.

$ osiver
OpenFrame/OSI 7.2 64bit

13. osilogprt

osilogprt는 AIBTDLI의 LOG 커맨드로 저장한 로그를 출력하는 툴이다.

사용법

osilogprt를 실행하는 방법은 다음과 같다.

Usage: osilogprt <imsid> [options]
     | osilogprt [-h | -v]
  • 입력 항목

    항목 설명

    <imsid>

    컴파일하려는 MFS 포맷 파일의 이름을 입력한다.

    [-h]

    프로그램 사용을 위한 자세한 사용법을 출력한다.

    [-v]

    osilogprt의 버전 정보를 출력한다.

  • [options]

    옵션 설명

    [-d <date>]

    특정 날짜<YYYYMMDD>의 로그를 출력한다.

    [-r <date>]

    특정 날짜<YYYYMMDD>의 로그를 삭제한다.

    [-r -i <date>]

    특정 날짜<YYYYMMDD>의 로그를 확인하지 않고 바로 삭제한다.

사용예제

다음은 AIBTDLI의 LOG 커맨드로 저장한 로그를 출력하는 예이다.

$ osilogprt IMSA -d 20230321
IMS control region : [IMSA]
    Requested date : [20230321]
-------------------------------------------------------------------
               NO.  TIME      TRAN      PROGRAM   LL    C  Text
                 1  13:44:55  TESTBMP1  TESTI001    45  ~  TESTBMP120230321123456782022050912345678
                 2  14:47:57  TESTBMP1  TESTI001    45  ~  TESTBMP120230321123456782022050912345678
                 3  17:18:00  TESTBMP1  TESTI001    45  ~  TESTBMP120230321123456782022050912345678
                 4  18:35:02  TESTBMP1  TESTI001    45  ~  TESTBMP120230321123456782022050912345678
                 5  19:05:04  TESTBMP1  TESTI001    45  ~  TESTBMP120230321123456782022050912345678
-------------------------------------------------------------------