설치 및 제거

본 장에서는 OpenFrame HiDB의 설치 및 설치 검증, 설치 제거 방법에 대하여 기술한다. 환경설정 파일을 이용한 인스톨러 실행 방법과 올바르게 설치되었는지 확인하는 방법 및 오류가 발생했을 때 해결하는 방안에 대해 기술한다.

1. 설치

본 절에서는 인스톨러와 스크립트를 이용해서 HiDB를 설치하는 방법에 대해서 설명한다.

1.1. 인스톨러를 이용한 자동 설치

설치용 속성 파일 작성에서 설명한 설치용 속성 파일을 작성했다면 인스톨러를 이용하여 간단하게 HiDB를 설치할 수 있다.

다음의 설치방법은 모든 플랫폼에서 동일하게 적용된다.

  1. HiDB를 설치할 시스템의 원하는 위치에 인스톨러 바이너리 파일을 복사한다.

  2. 인스톨러 바이너리에 실행권한이 주어지지 않은 경우에는 다음과 같이 chmod 명령어를 사용하여 실행권한을 부여한다.

    다음은 Linux x86 64bit용 인스톨러 파일에 실행권한을 부여하는 예이다.

    $ chmod a+x OpenFrame_HiDB7_2_Linux_x86_64.bin
  3. 콘솔 프롬프트에서 인스톨러를 실행한다.

    <installer_file_name> -f <property_file_name>

    다음은 설치용 속성 파일을 hidb.properties로 작성해서 실행하는 방법이다. 다음 2가지 방법 중 하나를 선택하고 <Enter> 키를 누른다.

    • 방법 1

      $ ./OpenFrame_HiDB7_2_Linux_x86_64.bin -f hidb.properties
    • 방법 2

      $ sh OpenFrame_HiDB7_2_Linux_x86_64.bin -f hidb.properties
  4. 다음과 같은 화면이 나타나고 자동으로 HiDB의 설치가 진행된다.

    Preparing to install...
    Extracting the JRE from the installer archive...
    Unpacking the JRE...
    Extracting the installation resources from the installer archive...
    Configuring the installer for this system's environment...
    
    Launching installer...
    
    Preparing SILENT Mode Installation...
    
    ===============================================================================
    OpenFrame_HiDB7_2                   (created with InstallAnywhere by Macrovision)
    -------------------------------------------------------------------------------
    
    
    
    
    ===============================================================================
    Installing...
    -------------
    
     [==================|==================|==================|==================]
     [------------------|------------------|------------------|------------------]
    
    Installation Complete.

1.2. 스크립트를 이용한 수동 설치

설치용 속성 파일에서 작성한 환경설정 파일에서 데이터 셋 자동생성 옵션을 모두 NO로 선택했다면, HiDB 설치 완료 후 수동으로 스크립트를 실행해야 한다.

설치 스크립트 파일들은 ${OPENFRAME_HOME}/scripts 디렉터리에 위치하며, 반드시 다음 순서에 맞춰 스크립트를 실행해야 한다.

  1. create_hidbcf.sh

    HiDB 관련 에러 메시지와 환경 정보를 구성한다.

  2. hidb_init.sh

    HiDB에서 필요로 하는 디렉터리와 테이블을 생성한다.

  3. link_lib_hidb.sh

    HiDB 관련 라이브러리 파일들을 설치한다.

  4. create_lib_hidb.sh

    HiDB 관련 PDS를 설치한다.

  5. create_hidb_dbconn.sh

    HiDB에서 테이블을 사용하는 데 필요한 데이터베이스 접속 정보를 구성한다.

데이터 셋 자동생성 옵션을 모두 YES로 선택했다면 인스톨러에 의해 자동으로 위의 순서대로 스크립트 파일들이 실행된다.

2. 설치 확인

HiDB를 설치한 후에는 다음을 통해 제품이 정상적으로 설치되었는지 확인할 것을 권장한다.

2.1. 디렉터리 확인

OpenFrame Base와 OpenFrame Batch를 설치한 후 해당 제품의 설치를 완료하면 다음의 디렉터리가 구성된다(HiDB를 설치하더라도 기존의 OpenFrame 디렉터리 구조는 변경되지 않는다). ${OPENFRAME_HOME}이라는 환경변수에 설정된 디렉터리를 Home 디렉터리로 구성한다.

${OPENFRAME_HOME}
   +---- UninstallerData
   +---- bin
   +---- config
   +---- core
   +---- cpm
   +---- data
   +---- include
   +---- lib
   +---- license
   +---- log
         +---- cmd
         +---- data
         +---- sys
   +---- ofdb_scripts
   +---- outputq
   +---- profile
   +---- sample
   +---- scripts
   +---- schema
   +---- shared
         +---- SMF
         +---- TJES
   +---- spbackup
   +---- spool
   +---- spunpack
   +---- temp
   +---- tsam
         +---- temp
         +---- lib
         +---- copybook
   +---- util
   +---- volume_DEFVOL
   +---- webde
         +---- bin
         +---- copybook
UninstallerData

시스템에 설치되어 있는 OpenFrame을 삭제하기 위한 파일들이 위치한다.

bin

OpenFrame에서 사용하는 실행 파일들이 위치한다.

config

OpenFrame의 환경설정 파일이 위치한다.

core

OpenFrame에서 사용하는 Tmax 관련 파일들이 위치한다. OpenFrame을 구성하는 Tmax 서버 프로그램, 서비스 프로그램 및 Tmax 설정 파일을 포함한다.

cpm

문자코드 변환 테이블 파일들이 위치한다.

data

OpenFrame에서 내부적으로 사용하는 데이터 파일과 에러 메시지 정보 파일이 위치한다.

include

업무 애플리케이션을 컴파일할 때 사용되는 헤더 파일들이 위치한다.

lib

OpenFrame에서 사용하는 라이브러리 파일들이 위치한다.

license

OpenFrame에서 사용하는 라이선스 파일들이 위치한다.

다음은 OpenFrame의 라이선스 파일의 종류이다.

파일명 설명

licbase.dat

Base 라이선스 파일

lictjes.dat

Batch(TJES) 라이선스 파일

lictacf.dat

TACF 라이선스 파일

lichidb.dat

HiDB 라이선스 파일

licosc.dat (MVS)

OSC 라이선스 파일

licosi.dat (MVS)

OSI 라이선스 파일

licaim.dat (AIM)

AIM 라이선스 파일

log

OpenFrame의 독립 제품이 생성하는 로그 파일들이 위치한다. log의 하위 디렉터리로 로그 파일의 종류에 따라 cmd, sys, data가 있다. 자세한 내용은 OpenFrame Base "Base 안내서"의 "로그 관리"를 참고한다.

디렉터리명 설명

cmd

OpenFrame의 조작 로그가 위치한다.

sys

OpenFrame의 시스템 로그가 위치한다.

data

OpenFrame의 데이터 로그가 위치한다.

ofdb_scripts

TSAM / NDB / HiDB 사용에 필요한 템플릿과 스크립트가 위치한다.

outputq

실제 프린트되기 위한 출력용 데이터가 저장되는 디렉터리이다. 멀티노드로 구성하는 경우에는 shared 디렉터리의 하위 디렉터리로 구성하는 것을 권장한다.

profile

OpenFrame의 사용자별 프로파일이 위치한다.

sample

OpenFrame 제품의 예제 파일들이 위치한다.

scripts

OpenFrame 제품의 초기 환경설정용 스크립트 파일들이 위치한다.

schema

cobgensch, pligensch 툴로 생성한 데이터셋 스키마 파일이 저장되는 디렉터리이다.

shared

OpenFrame 각 제품들이 공용으로 사용하는 공유 디렉터리이다.

spbakup

Spool 데이터 셋 백업용 디렉터리이다.

spool

Spool 데이터 셋이 저장되는 디렉터리이다. 멀티노드로 구성하는 경우에는 shared 디렉터리의 하위 디렉터리로 구성하는 것을 권장한다.

spunpack

백업된 Spool 데이터를 restore하는 디렉터리이다.

temp

OpenFrame에서 임시작업 파일이 위치한다.

tsam

OpenFrame 에서 사용하는 TSAM 관련 정보를 관리하는 디렉터리이다.

util

Batch 시스템에서 사용하는 유틸리티가 위치한다.

volume_DEFVOL

OpenFrame의 여러 제품에서 기본 볼륨으로 사용하는 디렉터리이다.

webde

OpenFrame에서 사용하는 WEBDE 관련 정보를 관리하는 디렉터리이다.

2.2. 기동 확인

다음은 기동을 확인하는 순서이다.

  1. 설치용 속성 파일에서 스크립트 자동생성 옵션을 모두 'YES’로 선택했다면 ${OPENFRAME_HOME}/UninstallerData/log/install_hidb.log 파일을 텍스트 데이터로 직접 열어 오류 로그가 없는지 확인한다.

    create_hidbcf.sh START
    Logged-in as [ROOT]
    [tacflogin -i"ROOT[SYS1]/SYS1"] returned 0
    COMPLETED SUCCESSFULLY!
    [/home/oframe3/OpenFrame/bin/oferror insert -p /home/oframe3/OpenFrame/data/errcode_imsx.msg] returned 0
    COMPLETED SUCCESSFULLY.
    [/home/oframe3/OpenFrame/bin/ofconfig import -n NODE1 -f /home/oframe3/OpenFrame/config/openframe_hidb.conf] returned 0
    COMPLETED SUCCESSFULLY.
    [/home/oframe3/OpenFrame/bin/ofconfig load] returned 0
    hidb_init.sh START
    Logged-in as [ROOT]
    [tacflogin -i"ROOT[SYS1]/SYS1"] returned 0
    hidbinit version 7.2.0(4) obuild@tplinux32:ofsrc7/ims(#2) 2007-11-10 10:43:12
    Initialize OpenFrame HiDB Tables
    
    hidbinit: ofschema DLI object directory for HiDB is created - /home/oframe3/OpenFrame/hidb/hidb_sch/dlilibs
    hidbinit: creating OFM_HIDB_DBD_MASTER
    hidbinit: "OFM_HIDB_DBD_MASTER" created
    hidbinit: creating OFM_HIDB_DBD_DATASET
    hidbinit: "OFM_HIDB_DBD_DATASET" created
    hidbinit: creating OFM_HIDB_DBD_AREA
    hidbinit: "OFM_HIDB_DBD_AREA" created
    hidbinit: creating OFM_HIDB_DBD_SEGMENT
    hidbinit: "OFM_HIDB_DBD_SEGMENT" created
    hidbinit: creating OFM_HIDB_DBD_FIELD
    hidbinit: "OFM_HIDB_DBD_FIELD" created
    hidbinit: creating OFM_HIDB_DBD_LCHILD
    hidbinit: "OFM_HIDB_DBD_LCHILD" created
    hidbinit: creating OFM_HIDB_DBD_XDFLD
    hidbinit: "OFM_HIDB_DBD_XDFLD" created
    hidbinit: creating OFM_HIDB_DBD_DFSMARSH
    hidbinit: "OFM_HIDB_DBD_DFSMARSH" created
    hidbinit: creating OFM_HIDB_DBD_DFSMAP
    hidbinit: "OFM_HIDB_DBD_DFSMAP" created
    hidbinit: creating OFM_HIDB_DBD_DFSCASE
    hidbinit: "OFM_HIDB_DBD_DFSCASE" created
    hidbinit: creating OFM_HIDB_DBD_COLUMN
    hidbinit: "OFM_HIDB_DBD_COLUMN" created
    hidbinit: creating OFM_HIDB_PARENT_KEY_CONN
    hidbinit: "OFM_HIDB_PARENT_KEY_CONN" created
    hidbinit: creating OFM_HIDB_PSB_MASTER
    hidbinit: "OFM_HIDB_PSB_MASTER" created
    hidbinit: creating OFM_HIDB_PCB_MASTER
    hidbinit: "OFM_HIDB_PCB_MASTER" created
    hidbinit: creating OFM_HIDB_PSB_SENSEG
    hidbinit: "OFM_HIDB_PSB_SENSEG" created
    hidbinit: creating OFM_HIDB_PSB_INDEX
    hidbinit: "OFM_HIDB_PSB_INDEX" created
    hidbinit: creating OFM_HIDB_PSB_SENFLD
    hidbinit: "OFM_HIDB_PSB_SENFLD" created
    hidbinit: creating OFM_HIDB_CHECKPOINT
    hidbinit: "OFM_HIDB_CHECKPOINT" created
    hidbinit: creating OFM_HIDB_CHECKPOINT_C
    hidbinit: "OFM_HIDB_CHECKPOINT_C" created
    hidbinit: creating OFM_HIDB_CHECKPOINT_POSITION
    hidbinit: "OFM_HIDB_CHECKPOINT_POSITION" created
    
    hidbinit: successfully finished the request
    
    [hidbinit create -t OFM_REPOSITORY] returned 0
    link_lib_hidb.sh START
    create_lib_hidb START
    Logged-in as [ROOT]
    [tacflogin -i"ROOT[SYS1]/SYS1"] returned 0
    pdsgen version 7.1.0(0) obuild@tplinux32:ofsrc7/base(#1) 2007-11-09 16:45:00
    PDS Dataset Generation Program
    
    pdsgen: *** PDS IMS.DBDLIB is created.
    
    [pdsgen IMS.DBDLIB DEFVOL -f L -l 32760] returned 0
    pdsgen version 7.1.0(0) obuild@tplinux32:ofsrc7/base(#1) 2007-11-09 16:45:00
    PDS Dataset Generation Program
    
    pdsgen: *** PDS IMS.PSBLIB is created.
    
    [pdsgen IMS.PSBLIB DEFVOL -f L -l 32760] returned 0
    pdsgen version 7.1.0(0) obuild@tplinux32:ofsrc7/base(#1) 2007-11-09 16:45:00
    PDS Dataset Generation Program
    
    pdsgen: *** PDS IMS.RESLIB is created.
    
    [pdsgen IMS.RESLIB DEFVOL -f L -l 32760] returned 0
    pdsgen version 7.1.0(0) obuild@tplinux32:ofsrc7/base(#1) 2007-11-09 16:45:00
    PDS Dataset Generation Program
    
    pdsgen: *** PDS IMS.ACBLIB is created.
    
    [pdsgen IMS.ACBLIB DEFVOL -f L -l 32760] returned 0
    create_hidb_dbconn.sh START
    Modified [HIDB_CLIENT\] section on /home/oframe3/OpenFrame/config/dbconn.conf successfully.
    Modified [HIDB_BACKUP\] section on /home/oframe3/OpenFrame/config/dbconn.conf successfully.
  2. 다음과 같이 hidbcmd 툴이 잘 실행되는 것을 확인한다.

    $ hidbcmd -h
    hidbcmd version 7.2.0(4) obuild@tplinux32:ofsrc7/ims(#2) 2007-11-10 10:43:12
    HiDB DL/I Funcion Test Tool
    
    
    
    Usage: hidbcmd -p PSBNAME [-pi PCBNUM]
           hidbcmd -d DBDNAME
           hidbcmd -h
    
    Environment Commands ---------------------------------------------
         DETAILON     Detail infomation of PCB to result of DL/I Call
         DETAILOFF    Simple infomation of PCB to result of DL/I Call(Default)
         DEBUGON      Display input SSA
         DEBUGOFF     Debugon option off(Default)
         INHEXON      Input DATA conversion hex to char
         INHEXOFF     INHEX option off(Default)
         SSAHEXON     SSA value conversion hex to char
         SSAHEXOFF    SSAHEX option off(Default)
    
    DL/I Commands ----------------------------------------------------
         FUNC -s "{SSA}" [-i "{DATA}"
              @ example
                  GN
                  GU -s "SEG1    (SEG1FLD1 =ABC)"
                  ISRT -s "SEG1    " -i "ABC123"
                  @ INHEXON
                  ISRT -s "SEG1    " -i "414243313233"
                  @ SSAHEXON
                  GU -s "SEG1    (SEG1FLD1 =414243)"
         COMMIT
         ROLLBACK
         TAB          Print Table name of now position
    
    Informational Commands -------------------------------------------
         HELP
         EXIT|QUIT

3. 제거

HiDB는 다음과 같이 인스톨러에서 제공하는 제거 유틸리티를 실행하여 제거할 수 있다.

  1. UNIX 터미널에서 ${OPENFRAME_HOME}/UninstallerData 디렉터리에 있는 Uninstall_HiDB 파일을 실행한다.

    $ ./Uninstall_HiDB
  2. 설치 제거 프로그램에 의해 HiDB가 삭제된다.

4. 제거 확인

설치 제거 프로그램이 HiDB를 설치할 때 생성한 파일에 대해서만 삭제하므로 불필요하게 남아 있는 디렉터리 및 파일들은 수동으로 삭제해야 한다.