DB

본 장에서는 DB의 현재 운용 상태를 보여주거나 변경하기 위한 명령어의 사용법에 대해서 설명한다. 구체적으로 OpenFrame AIM ADL의 스키마를 이용하여 등록하는 OpenFrame NDB와 ADL XIFSCHEMA를 이용하여 등록하는 NDB 확장 인덱스가 DB 관련 AIM 명령의 대상이다.

또한, RDB에서는 extent와 volume 구분이 무의미 하므로 문법 검사만 수행되고 extent와 volume의 운용 정보는 나타나지 않는다.

1. DISPLAY DB

DISPLAY DB 명령은 데이터베이스에 대해서 자원의 이름, 종류 및 해당 자원의 운용에 관련된 현재 상태 정보를 표시한다. EXT 오퍼랜드의 경우 문법 검사만 수행한 후 무시된다.

  • 사용법

    -+-DISPLAY-+-DB-+--------------------------------------------------------------+-
     '-D-------'    '-,SCN=schema-name-+-----------------------------------------+-'
                                       '-,RGN=range-name-+---------------------+-'
                                                         '-,SRGN=subrange-name-'
    오퍼랜드 설명

    SCN=schema-name

    운용 정보를 표시할 스키마 이름을 지정한다.

    RGN=range-name, SRGN=subrange-name 오퍼랜드의 지정 없이 SCN=schema-name만을 지정하는 경우 해당 스키마에 관련된 모든 운용 정보가 표시된다.

    RDB에서의 extent는 무의미하기 때문에 EXT 오퍼랜드의 경우 문법 검사만 수행한 후 무시되어 DISPLAY DB 명령에서 EXT 운용 정보가 나타나지 않는다.

    RGN=range-name

    특정 range와 관련된 운용 정보를 표시하려는 경우 대상 range-name과 해당 range를 포함하는 스키마 이름을 지정해야 한다.

    즉, SCN=schema-name, RGN=range-name 형태로 지정해야 한다.

    SRGN=subrange-name

    특정 subrange와 관련된 운용 정보를 표시하려는 경우 대상 subrange-name과 해당 subrange를 포함하는 range 이름과 스키마 이름을 지정해야 한다.

    즉, SCN=schema-name, RGN=range-name, SRGN=subrange-name의 형태로 지정해야 한다.

    위의 표에 기술된 오퍼랜드 중 아무 것도 지정하지 않고 단순히 DISPLAY DB 명령만 입력한 경우 AIM 디렉터리에 속하는 운용 중인 모든 스키마의 정보가 출력된다.

  • 출력 목록

    항목 설명

    K

    다음과 같이 해당 행의 출력 항목의 자원 종류를 표시한다.

    • SCN : schema 항목

    • RNG : range 항목

    • SRG : subrange 항목

    NAME

    K 항목의 값에 따라서 다음과 같은 자원 이름이 출력된다.

    • K가 SCN인 경우 : schema 이름

    • K가 RNG인 경우 : range 이름

    • K가 SRG인 경우 : subrange 이름

    TYPE

    스키마 세부 종류, DB 상주화 정보를 출력한다.

    • K가 SCN인 경우 다음과 같은 스키마의 세부 종류를 표시한다(OpenFrame에서는 아래 항목 중 VSAM, RDB 및 DS/* 항목은 지원하지 않고 있다).

      • DB : AIM Network Database(NDB)

      • XIF : 확장 인덱스

      • VSAM : AIM 하의 VSAM 데이터셋

      • RDB : 관계형 DB (AIM/RDB)

      • DS/USR, DS/MSF, DS/WLD, DS/RLD, DS/XRF, DS/MUK, DS/LDE, DS/ACM

    • K가 RNG, K가 SRG 또는 K가 EXT인 경우 다음과 같은 DB 상주화 정보를 표시한다(OpenFrame에서는 상주화를 지원하지 않는다).

      • RES / SSU / SS* / *** : 주기억 상주관련 상태

    RSTD

    해당 자원의 이용 규정 상태를 표시한다.

    • APL : KEY를 이용한 응용 프로그램 수준의 규정이 존재함을 나타낸다.

    • RCV : 리커버리 관련 규정이 존재함을 나타낸다.

    • NON : 부여된 별도의 규정이 없는 상태임을 나타낸다.

    • DAT / SYS / MOD / UTY / TSK / PPR : OpenFrame 미지원 규정

    KEY

    해당 자원에 부여된 응용 프로그램 수준 규정의 키 정보를 표시한다.

    • 01 ~ 99 : 용응 프로그램 규정 키값의 범위를 표시한다. 해당 범위의 KEY 값을 갖는 응용 프로그램만이 자원을 사용할 수 있다. 규정이 없는 경우 표시되는 값은 없다.

    RCV

    해당 자원에 대한 리커버리 수준을 표시하고 규정이 없는 경우 표시되는 값은 없다.

    • DWN : 다운(down) 리커버리 기능을 사용 중이다.

    • CAN : 취소(cancel) 리커버리 기능을 사용 중이다.

    • FW : 포워드(forward) 리커버리 기능을 사용 중이다.

    • BW : 백워드(backward) 리커버리 기능을 사용 중이다.

    • NON : 상기 리커버리 기능을 미사용 중이다.

    STATE

    폐색 종류를 표시한다.

    • INH

    • RST

    • AID

    • OER

    OpenFrame에서는 INH만을 지원한다. 이는 INHIBIT 명령으로 운영자가 직접 해당 extent를 폐색한 경우에 해당하는 폐색 종류이다.

  • 예제

    응용 프로그램 키 규정이 (KEY=99) 존재하는 DB 스키마에 대한 DISPLAY DB 명령과 표시 내용의 예이다.

    aimcmd -c 'DISPLAY DB,SCN=TSTSCH01'
    K   NAME         TYPE   RSTD     KEY    RCV              STATE
    ----------------------------------------------------------------
    SCN TSTSCH01     DB     APL      99-99                   NON
    RNG RANGE001     ----
    SRG SUBRNG0000   ----
    SRG SUBRNG0001   ----
    SRG SUBRNG0002   ----
    SRG SUBRNG0003   ----
    SRG SUBRNG0004   ----
    SRG SUBRNG0005   ----
    SRG SUBRNG0006   ----
    SRG SUBRNG0007   ----
    SRG SUBRNG0008   ----
    SRG SUBRNG0009   ----
    ----------------------------------------------------------------
    aimcmd: command execution done

    규정이 존재하지 않는 스키마에 대한 DISPLAY DB 명령과 표시 내용의 예이다.

    aimcmd -c 'DISPLAY DB,SCN=TSTSCH01'
    K   NAME         TYPE   RSTD     KEY    RCV              STATE
    ----------------------------------------------------------------
    SCN TSTSCH01     DB     NON      NON                     NON
    RNG RANGE001     ----
    SRG SUBRNG0000   ----
    SRG SUBRNG0001   ----
    SRG SUBRNG0002   ----
    SRG SUBRNG0003   ----
    SRG SUBRNG0004   ----
    SRG SUBRNG0005   ----
    SRG SUBRNG0006   ----
    SRG SUBRNG0007   ----
    SRG SUBRNG0008   ----
    SRG SUBRNG0009   ----
    ----------------------------------------------------------------
    aimcmd: command execution done

2. DISPLAY DBERR

장애 및 복구 정보가 존재하는 SCHEMA extent의 상태를 표시한다.

Fujitsu Mainframe AIM의 DISPLAY DBERR 명령이 출력하는 정보에는 장애 폐색(액세스 금지)의 원인, 저장 매체 상의 블록 단위의 폐색 범위, 장애 extent의 상태 및 복구 정보와 같은 장애 및 복구에 관련한 상세 정보가 포함된다.

하지만 OpenFrame AIM 및 OpenFrame NDB는 저장 매체인 DASD를 직접 조작하는 것이 아니라 RDB로 구현한 것으로서 이러한 상세 수준의 정보나 그에 기반한 복구 방식의 실제는 Host의 Fujitsu AIM과 상이하므로 OpenFrame AIM이나 OpenFrame NDB에서는 동일하게 제공하지 않고 있다. 다만, INHIBIT DB 및 PERMIT DB 명령과 같이 실제 장애가 아니라 운영자가 직접 명령을 입력하여 의도적으로 DB를 INHIBIT한 경우도 DISPLAY DBERR 명령을 이용하여 조사할 수 있기 때문에 이에 해당하는 정보를 표시하기 위한 제한적인 기능만을 지원하고 있다. 예를 들어 DVOL 오퍼랜드의 경우 문법 검사만 수행한 후 무시되어 DISPLAY DBERR 명령에서 DVOL 운용 정보가 나타나지 않는다.

  • 사용법

    -+-DISPLAY-+-DBERR-+---------------------+-
     '-D-------'
  • 출력 목록

    DISPLAY DB 명령에서도 출력되는 항목에 대한 설명은 간단히 표시한다. 자세한 설명은 DISPLAY DB를 참고한다.

    DISPLAY DBERR 명령에서만 추가적으로 출력되는 항목에 대한 설명은 다음과 같다.

    항목 설명

    K

    항목 구분을 표시한다.

    NAME

    자원 이름을 표시한다.

    TYPE

    스키마 세부 종류와 DB 상주화 정보를 표시한다.

    RSTD

    해당 자원의 이용 규정 상태를 표시한다.

    KEY

    해당 자원에 부여된 응용 프로그램 수준 규정의 키 정보를 표시한다.

    RCV

    해당 자원에 대한 리커버리 수준을 표시한다.

    STATE

    폐색 종류를 표시한다.

    • INH

    • RST

    • AID

    • OER

    OpenFrame에서는 INH만을 지원한다. 이는 INHIBIT 명령으로 운영자가 직접 해당 extent를 폐색한 경우에 해당하는 폐색 종류이다.

  • 예제

    다음은 장애 extent가 존재하지 않는 경우 DISPLAY DBERR 명령과 실행 결과 표시되는 내용이다.

    aimcmd -c 'DISPLAY DBERR'
    K   NAME         TYPE   RSTD     KEY    RCV              STATE
    ----------------------------------------------------------------
        DB information does not exist.
    ----------------------------------------------------------------
    aimcmd: command execution done

    스키마에 장애 extent가 존재할 경우 DISPLAY DBERR 명령을 실행한 결과 표시되는 내용이다.

    aimcmd -c 'DISPLAY DBERR'
    K   NAME         TYPE   RSTD     KEY    RCV              STATE
    ----------------------------------------------------------------
    SCN TSTSCH01     DB     NON      NON                     INHIBIT
    SCN TSTSCH02     DB     NON      NON                     INHIBIT
    SCN TSTSCH03     DB     RCV      NON    FW,BW            INHIBIT
    SCN TSTSCH04     DB     NON      NON                     INHIBIT
    ----------------------------------------------------------------
    aimcmd: command execution done

3. DISPLAY RSTRCTDB

응용 프로그램 키 규정이나 리커버리 수준 규정이 존재하는 DB에 대해서 구체적인 규정 정보를 포함한 DB 정보를 표시한다. 규정 종류에는 KEY, DATL, RCVL, MONO, MOD, UTY, TASK, PPR가 있는데, OpenFrame에서는 KEY 및 RCVL 규정만을 지원한다.

  • 사용법

    -+-DISPLAY-+-RSTRCTDB-+-,KIND=+-KEY--+-
     '-D-------'                  |-RCVL-|
                                  '-ALL--'
    오퍼랜드 설명

    KIND={KEY|RCVL|ALL}

    출력할 규정의 종류를 지정한다.

    KIND에는 KEY, RCVL, ALL 중에서 하나를 지정해야 하며 생략할 수 없다.

  • 출력 목록

    DISPLAY DB 명령에서도 출력되는 항목에 대한 설명은 간단히 표시한다. 자세한 설명은 DISPLAY DB를 참고한다.

    DISPLAY RSTRCTDB 명령에서만 추가적으로 출력되는 항목에 대한 설명은 다음과 같다.

    항목 설명

    K

    항목 구분을 표시한다.

    NAME

    자원 이름을 표시한다.

    TYPE

    규정이 존재하는 스키마의 세부 종류를 표시한다.

    RSTD

    해당 자원의 이용 규정 상태를 표시한다.

    KEY

    응용 프로그램 규정 키 범위(01 ~ 99)를 표시한다.

    RESTRICT DB 명령에 의해 부여된 KEY 규정이 존재하며 본 명령의 오퍼랜드인 KIND에 KEY나 ALL을 지정한 경우에 출력된다. 출력 형식은 규정 키의 '최솟값-최댓값' 형태이다.

    RCVL

    RESTRICT DB 명령에 의해 부여된 리커버리 규정이 존재하며 본 명령의 오퍼랜드인 KIND에 RCVL이나 ALL을 지정한 경우 출력된다.

    출력 형식은 부여된 규정이 여러 개인 경우 별도의 라인이 아니라 동일한 라인에 콤마(,)로 구분되어 연속으로 출력된다.

    STATE

    폐색 종류를 표시한다.

  • 예제

    다음은 응용 프로그램 키 규정 및 복구 수준 규정이 설정된 DB가 존재하는 경우 KIND=ALL을 지정한 DISPLAY RSTRCTDB 명령과 실행 결과 표시 내용의 예이다.

    aimcmd -c 'DISPLAY RSTRCTDB,KIND=ALL'
    K   NAME         TYPE   RSTD     KEY    RCV              STATE
    ----------------------------------------------------------------
    SCN TSTSCH01     DB     APL      99-99                   NON
    SCN TSTSCH03     DB     RCV      NON    FW,BW            NON
    SCN TSTSCH07     DB     RCV      NON    FW,BW            NON
    ----------------------------------------------------------------
    aimcmd: command execution done

    다음은 응용 프로그램 키 규정이 설정된 DB가 존재하는 경우 KIND=KEY를 지정한 DISPLAY RSTRCTDB 명령과 실행 결과 표시 내용의 예이다.

    aimcmd -c 'DISPLAY RSTRCTDB,KIND=KEY'
    aimcmd: command [DISPLAY RSTRCTDB,KIND=KEY] input
    K   NAME         TYPE   RSTD     KEY    RCV              STATE
    ----------------------------------------------------------------
    SCN TSTSCH01     DB     APL      99-99                   NON
    ----------------------------------------------------------------
    aimcmd: command execution done

    다음은 응용 프로그램 복구 수준 규정이 설정된 DB가 존재하는 경우 KIND=RCVL을 지정한 DISPLAY RSTRCTDB 명령과 실행 결과 표시 내용의 예이다.

    aimcmd -c 'DISPLAY RSTRCTDB,KIND=RCVL'
    aimcmd: command [DISPLAY RSTRCTDB,KIND=RCVL] input
    K   NAME         TYPE   RSTD     KEY    RCV              STATE
    ----------------------------------------------------------------
    SCN TSTSCH03     DB     RCV      NON    FW,BW            NON
    SCN TSTSCH07     DB     RCV      NON    FW,BW            NON
    ----------------------------------------------------------------
    aimcmd: command execution done

4. INHIBIT DB

INHIBIT DB 명령은 데이터베이스의 액세스를 금지한다. 이 명령으로 액세스 금지된 자원에 액세스하는 응용 프로그램은 입출력 오류가 발생했다는 상태 통지가 이루어진다.

INHIBIT DB 명령으로 폐색된 extent는 DISPLAY DBERR 명령에서 STATE가 INHIBIT이라고 표시된다.

  • 사용법

    -+-INHIBIT-+-DB-+-+,SCN=schema-name------+-
     '-INH-----'
    오퍼랜드 설명

    SCN=schema-name

    폐색할 스키마의 이름을 지정한다.

    해당 스키마의 모든 extent가 폐색 대상이 된다.

    RDB에서 무의미한 DVOL, MODE, EXT 오퍼랜드의 경우 문법 검사만 수행한 후 무시되어 INHIBIT DB 명령에서 해당 운용 정보가 나타나지 않는다.

  • 예제

    INHIBIT DB 명령은 운용 상태 변경 명령의 하나로 명령 수행의 성공 여부를 나타내는 메시지 외의 추가적인 표시 내용은 없다.

    다음은 스키마 TSTSCH01 상의 모든 extent를 폐색하기 위한 INHIBIT DB 명령이다.

    aimcmd -c 'INHIBIT DB,SCN=TSTSCH01'

5. PERMIT DB

INHIBIT DB 명령에 의해서 폐색(액세스 금지)된 extent를 스키마 단위로 해제한다.

  • 사용법

    -+-PERMIT-+-DB-+-+,SCN=schema-name---------+-
     '-PMT----'
    오퍼랜드 설명

    SCN=schema-name

    폐색 해제할 스키마의 이름을 지정한다.

    EXT 오퍼랜드를 추가로 기술하지 않은 경우 해당 스키마의 모든 extent가 폐색 해제 대상이 된다.

    RDB에서 무의미한 DVOL, MODE, EXT 오퍼랜드의 경우 문법 검사만 수행한 후 무시되어 INHIBIT DB 명령에서 해당 운용 정보가 나타나지 않는다.

  • 예제

    PERMIT DB 명령은 운용 상태 변경 명령의 하나로 명령 수행의 성공 여부를 나타내는 메시지 외의 추가적인 표시 내용은 없다.

    다음은 스키마 TSTSCH01 상의 모든 extent의 폐색을 해제하기 위한 PERMIT DB 명령이다.

    aimcmd -c 'PERMIT DB,SCN=TSTSCH01'

6. RESTRICT DB

RESTRICT DB 명령은 데이터베이스에 대해서 지정한 단위(schema)로 이용 형태(응용 프로그램 키값 규정, 복구 수준의 규정)을 부여한다.

응용 프로그램 규정(키 값 규정)는 DB/DS 자원에 키 값을 설정하여 액세스 가능한 응용 프로그램을 제한한다. 즉, 자원에 대한 액세스를 자원의 키 값과 일치하는 키를 가진 응용 프로그램에 대해서만 허용하는 것이다.

복구 수준의 규정은 DB/DS 자원에 필요한 복구 기능을 설정하고, DB/DS 자원에 대한 액세스를 그 복구 수준과 일치하는 복구 수준을 가진 응용 프로그램에만 허용하는 것이다.

  • 사용법

    -+-RESTRICT-+-DB-+-,SCN=schema-name-+-,KEY=-+-key-value--------------+-
     '-RSTR-----'                       |       |-(key-value1,key-value2)-|
                                        '-,RCVL=(recovery-function-names)-'
    오퍼랜드 설명

    SCN=schema-name

    스키마 단위로 규정을 설정할 때 해당 스키마 이름을 지정한다.

    KEY=key-val|(key-val1,key-val2)

    응용 프로그램 키값 규정을 지정한다.

    단일한 키 값을 지정하는 경우 1~99 사이의 키값을 지정한다. 키 값의 범위를 지정하는 경우 1~99 사이의 키값의 범위를 (key-val1,key-val2)와 같이 괄호로 묶어서 지정한다. key-val1의 값은 key-val2의 값보다 작은 값을 지정해야 한다.

    RCVL=(recovery-function-name)

    복구 수준 규정을 지정한다.

    복구 기능 이름(recovery-function-name)에는 다음의 다섯 가지를 조합하여 지정할 수 있다.

    • DWN : 다운(down) 복구 기능

    • CAN : 취소(cancel) 복구 기능

    • FW : 포워드(forward) 복구 기능

    • BW : 백워드(backward) 복구 기능

    • NOTUSED : 복구 기능을 사용하지 않음

    복구 기능을 여러 개를 지정하는 경우 (복구기능1, 복구기능2,…​)처럼 콤마(,)로 구분하여 지정해야 한다.

  • 예제

    RESTRICT DB 명령은 운용 상태 변경 명령의 하나로 명령 수행의 성공 여부를 나타내는 메시지 외의 추가적인 표시 내용은 없다.

    다음은 TSTSCH01 스키마에 단일 키 규정 99를 설정하기 위한 RESTRICT DB 명령이다.

    aimcmd -c 'RESTRICT DB,SCN=TSTSCH01,KEY=99'

    다음은 TSTSCH01 스키마에 키 규정 범위 10~50을 설정하기 위한 RESTRICT DB 명령이다.

    aimcmd -c 'RESTRICT DB,SCN=TSTSCH01,KEY=(1,50)'

    다음은 TSTSCH01 스키마에 복구 기능을 사용하지 않는 규정을 설정하기 위한 RESTRICT DB 명령이다.

    aimcmd -c 'RESTRICT DB,SCN=TSTSCH01,RCVL=(NOTUSED)'

    다음은 TSTSCH01 스키마에 복구 수준 규정으로 DWN, CAN 복구 기능을 설정하기 위한 RESTRICT DB 명령이다.

    aimcmd -c 'RESTRICT DB,SCN=TSTSCH01,RCVL=(DWN,CAN)'

    이미 규정이 설정된 TSTSCH01 스키마에 한번 더 RESTRICT DB 명령을 수행한다면 아래와 같은 메시지가 표시된다.

    [2019-11-26T20:51:46] [M] [NRD0001M] The TSTLOC01 schema is already restricted/inhibited
    aimcmd: command execution done

7. RELEASE DB

RELEASE DB 명령은 RESTRICT DB 명령을 이용하여 자원에 설정된 규정을 해제한다.

  • 사용법

    -+-RELEASE-+-DB-+-,SCN=schema-name-+-,TYPE=-+-KEY--+-
     '-RLS-----'                                '-RCVL-'
    오퍼랜드 설명

    SCN=schema-name

    스키마 단위로 규정을 해제할 때 해당 스키마 이름을 지정한다.

    TYPE={KEY|RCVL}

    해제할 규정의 종류를 지정한다.

    • TYPE=KEY를 지정하면 응용 프로그램 키값 규정을 해제한다.

    • TYPE=RCVL을 지정하면 복구 수준 규정을 해제한다.

    TYPE을 지정하지 않는다면 지정되어 있는 응용 프로그램 키 값 및 복구 수준 규정을 모두를 해제한다.

  • 예제

    RELEASE DB 명령은 운용 상태 변경 명령의 하나로 명령 수행의 성공 여부를 나타내는 메시지 외의 추가적인 표시 내용은 없다.

    다음은 TSTSCH01 스키마에 설정된 응용 프로그램 키 규정을 해제하기 위한 RELEASE DB 명령이다.

    aimcmd -c 'RELEASE DB,SCN=TSTSCH01,TYPE=KEY'

    다음은 TSTSCH01 스키마에 설정된 복구 수준 규정을 해제하기 위한 RELEASE DB 명령이다.

    aimcmd -c 'RELEASE DB,SCN=TSTSCH01,TYPE=RCVL'

    다음은 TSTSCH01 스키마에 설정된 응용 프로그램 모든 규정을 해제하기 위한 RELEASE DB 명령이다.

    aimcmd -c 'RELEASE DB,SCN=TSTSCH01'

    아무 규정이 없는 TSTSCH01 스키마에 RELEASE DB 명령을 수행한다면 아래와 같은 메시지가 표시된다.

    [2019-11-26T20:59:57] [M] [NRD0002M] There is no restrict/inhibit db info - schema=TSTSCH01
    aimcmd: command execution done