설치 전 준비사항

본 장에서는 OpenFrame Base를 설치하기 전에 필요한 하드디스크 공간 용량 확인 및 설치용 속성 파일 작성에 대해 기술한다.

1. 개요

OpenFrame Base(이하 Base)를 설치하기에 앞서 필요한 준비사항은 다음과 같다.

  • 시스템 요구사항 확인

  • 디스크 용량 확인

  • 설치용 속성 파일 작성

  • 테이블 영역 생성

  • UNIX ODBC 환경설정

2. 시스템 요구사항

Base 설치를 위한 시스템 요구사항은 다음과 같다.

요구사항

Platform

Solaris 11(SunOS 5.11) 이상 (32bit, 64bit)

Linux x86 2.6 이상 (32bit, 64bit)

Linux ia64 2.6 이상 (32bit, 64bit)

Hardware

최소 5GB 공간

최소 8GB 이상 메모리 공간

Database

Tibero 6 FS07

Compiler

MF-COBOL 컴파일러, NET-COBOL 컴파일러, OpenFrame COBOL 컴파일러

OpenFrame PL/I 컴파일러

OpenFrame ASM 컴파일러

IBM 혹은 HP-UX Platform은 TmaxSoft의 기술 지원에 문의한다.

3. 디스크 용량 확인

Base 설치에 앞서 UNIX 시스템에 남아있는 디스크의 여유공간을 확인한다. Base를 설치하기 위해서는 최소 200MB의 여유공간을 필요로 한다. 하드웨어 요구사항에 대한 자세한 내용은 시스템 요구사항을 참고한다.

UNIX 시스템에서 하드웨어의 여유공간을 확인하려면 UNIX 프롬프트에서 df 명령어를 실행한다.

다음은 Linux x86 운영체제를 사용하는 머신에서 df 명령어를 실행하여 설치할 디렉터리에 연결된 디스크 용량이 얼마나 남아있는지 확인하는 예제이다. 출력 결과를 읽기 쉬운 단위로 표시하기 위해 –h 옵션을 사용한다.

$ df -h /home/oframe

다음은 위에서 실행한 명령의 결과이다.

Filesystem                         Size  Used Avail Use% Mounted on
/dev/mapper/centos_oflinux64-home  144G   49G   96G  34% /home

/home/oframe 디렉터리는 /dev/mapper/centos_oflinux64-home 디스크에 속해 있고, 전체 용량 144GB 중 사용한 용량은 49GB, 남은 용량은 96GB로 전체의 34%가 사용 중인 것을 확인할 수 있다.

4. 설치용 속성 파일 작성

Base는 설치용 속성 파일에 값을 설정한 후 설치 스크립트를 실행하는 방법으로 설치된다. 즉, Base 설치를 위한 각종 속성 내용을 하나의 파일에 모두 작성한 후 인스톨러를 실행하면 인스톨러는 속성 파일에 작성된 설정 내용을 읽어 들여 설정된 항목에 따라 설치를 진행한다.

본 절에서는 OpenFrame 설치용 속성 파일에 작성되어야 하는 항목에 대해 기술한다. 설치용 속성 파일의 예제 샘플은 설치용 속성 파일 예제에서 확인할 수 있다.

  1. 설치용 속성 파일의 이름은 base.properties로 작성해야 한다. 파일 형식은 일반 텍스트 파일 형식이어야 하며, 인스톨러와 함께 제공되는 예제 설정 파일을 참고하여 작성할 것을 권장한다.

  2. 설치용 속성 파일을 작성할 때 데이터셋 자동 생성 옵션은 일괄적으로 모두 ‘YES’ 또는 ‘NO’로 설정한다.

4.1. OpenFrame 디렉터리 설정

Base를 설치할 디렉터리를 설정하는 항목으로, OpenFrame 제품이 설치되는 절대 경로를 입력한다. 설정된 디렉터리는 이후 모든 설정 파일에서 OpenFrame 홈 디렉터리로 사용되며, Base를 기반으로 하는 다른 OpenFrame 제품군도 동일한 디렉터리에 설치되어야 한다.

다음은 OpenFrame의 홈 디렉터리를 설정하는 항목이다.

OPENFRAME_HOME=<path>
항목 설명

OPENFRAME_HOME

UNIX의 디렉터리 또는 파일 경로를 지정한다.

다음은 OpenFrame 홈 디렉터리를 /home/oframe/OpenFrame으로 설정하는 예이다.

OPENFRAME_HOME=/home/oframe/OpenFrame

4.2. Tmax 환경설정

OpenFrame 엔진에 포함된 Tmax에 관련된 환경을 설정한다.

TP_HOST_NAME=<name>
TP_HOST_IP=<ip>
TP_SHMKEY=<key>
TP_TPORTNO=<port>
TP_UNBLOCK_PORT=<port>
TP_NODE_NAME=<node_name>
TP_NODE_LIST=<node_list>
TCACHE_SHMKEY=<key>
항목 설명

TP_HOST_NAME

OpenFrame을 설치할 컴퓨터의 호스트명을 숫자(0~9), 영문자(A~Z, a~z), 특수문자(@, #, $, -)로 이루어진 문자열로 설정한다.

TP_HOST_IP

OpenFrame을 설치할 컴퓨터의 IP 주소를 10진수로 설정한다.

TP_SHMKEY

Tmax에서 사용되는 공유 메모리 키를 10진수 또는 0x로 시작하는 16진수로 설정한다.

TP_TPORTNO

Tmax에서 사용되는 기본 포트 번호를 10진수로 설정한다.

TP_UNBLOCK_PORT

Tmax에서 사용되는 Unblock 포트 번호를 10진수로 설정한다.

TP_NODE_NAME

OpenFrame 및 Tmax에서 사용될 현재 서버의 노드명을 숫자(0~9), 영문자(A~Z, a~z), 특수문자(@, #, $, -)로 이루어진 문자열로 설정한다.

TP_NODE_LIST

OpenFrame 시스템을 이루는 모든 노드 목록이다. 각 노드 이름은 세미콜론(;)으로 구분한다.

  • 싱글 노드 시스템일 경우 : TP_NODE_NAME과 동일하게 설정한다.

  • 멀티 노드 시스템일 경우 : 시스템 내의 모든 노드 이름을 나열한다.

TCACHE_SHMKEY

OpenFrame의 환경설정 값이 관리되는 Tmax TCache 공유 메모리 키를 10진수 또는 0x로 시작하는 16진수로 설정한다.

  1. OpenFrame에서는 서버가 완전히 초기화될 때까지 외부로부터의 접속을 차단하기 위해 Tmax의 Call Block 기능을 사용한다. 이 때 초기화가 완료된 이후 차단 상태를 해제하는데 사용되는 포트를 TP_UNBLOCK_PORT라고 한다.

  2. OpenFrame에서는 환경설정을 DB에 저장하며, 운용 도중엔 Tmax TCache에 적재하여 사용한다. 이를 위해 OpenFrame 인스톨러에서 TCache의 관리 프로그램 중 pfmtcacheadmin의 -c 명령으로 캐시 공간을 할당하는데, 이때 사용되는 공유 메모리키를 TCACHE_SHMKEY라고 한다. pfmtcacheadmin에 대한 자세한 내용은 "Tmax TCache Guide"를 참고한다.

다음은 Tmax 관련 환경설정의 예이다.

TP_HOST_NAME=ofLinux64
TP_HOST_IP=192.168.105.61
TP_SHMKEY=52878
TP_TPORTNO=8989
TP_UNBLOCK_PORT=8199
TP_NODE_NAME=NODE1
TP_NODE_LIST=NODE1
TCACHE_SHMKEY=39101

4.3. 저장 장치 환경설정

OpenFrame에서 사용되는 카탈로그, 저장 장치 및 데이터셋 등에 관련된 환경 값을 설정하는 항목이다.

MASCAT_NAME=<dataset>
MASCAT_CREATE=YES|NO
DEFAULT_VOLSER=<volume>
VOLADD_DEFINE=YES|NO
ODBC_USERNAME=<name>
ODBC_PASSWORD=<password>
ODBC_DATABASE=<name>
TSAM_DBTYPE=TIBERO
DATASET_SHMKEY=<key>
TSAM_INCLUDE1= <path>
TSAM_INCLUDE2= <path>
TSAM_INCLUDE3= <path>
향목 설명

MASCAT_NAME

OpenFrame에서 마스터 카탈로그로 사용할 데이터셋 이름을 설정한다.

MASCAT_CREATE

마스터 카탈로그를 설치과정에서 자동으로 생성할지 여부를 설정한다.

  • YES : 마스터 카탈로그가 자동으로 생성된다.

  • NO : 설치를 완료한 후 사용자가 직접 생성해야 한다. 수동으로 마스터 카탈로그 데이터셋을 생성하려면 ${OPENFRAME_HOME}/scripts 디렉터리의 create_mascat 스크립트를 실행한다.

DEFAULT_VOLSER

OpenFrame에서 기본 볼륨으로 사용되는 볼륨 이름을 설정한다.

VOLADD_DEFINE

설치 과정에서 기본 볼륨을 자동으로 생성할지 여부를 설정한다.

  • YES : 기본 볼륨이 자동으로 생성된다.

  • NO : 설치를 완료한 후 사용자가 직접 생성해야 한다. 수동으로 기본 볼륨을 생성하려면 ${OPENFRAME_HOME}/scripts 디렉터리의 create_voladd 스크립트 실행한다.

ODBC_USERNAME

ODBC를 이용하여 데이터베이스에 접속하기 위한 사용자 계정을 지정한다.

사용하는 데이터베이스의 사용자 계정을 입력해야 하며 숫자(0~9), 영문자(A~Z, a~z), 특수문자(@, #, $, -)로 이루어진 문자열로 설정한다.

ODBC_PASSWORD

ODBC를 이용하여 데이터베이스에 접속하기 위한 사용자의 패스워드를 지정한다.

ODBC_DATABASE

접속하려는 데이터베이스 이름을 지정한다.

TSAM_DBTYPE

TSAM에 사용되는 데이터베이스의 타입을 지정한다.

  • TIBERO : TSAM에 사용되는 데이터베이스를 Tibero로 사용하며, 인스톨 과정에서 libtsam.so 라이브러리가 libtsrdb6.so에 심볼링 링크가 설정된다.

DATASET_SHMKEY

데이터셋 할당 정보를 관리하기 위한 공유 메모리 키를 10진수로 설정한다.

TSAM_INCLUDE1, TSAM_INCLUDE2, TSAM_INCLUDE3

TSAM 프리컴파일에 사용되는 시스템 컴파일 헤더 경로를 지정한다.

다음은 저장 장치에 대한 환경설정의 예이다.

MASCAT_NAME=SYS1.MASTER.ICFCAT
MASCAT_CREATE=YES
DEFAULT_VOLSER=DEFVOL
VOLADD_DEFINE=YES
ODBC_USERNAME=tibero
ODBC_PASSWORD=tmax
ODBC_DATABASE=oframe
TSAM_DBTYPE=TIBERO
DATASET_SHMKEY=50382
TSAM_INCLUDE1=/usr/include
TSAM_INCLUDE2=/usr/local/include
TSAM_INCLUDE3=/usr/lib/gcc/x86_64-redhat-linux/4.8.2/include

4.4. 컴파일러 설정

OpenFrame에서 사용되는 코볼 컴파일러 제품을 설정하는 항목이다. 인스톨러는 설정된 제품에 해당하는 라이브러리를 사용할 수 있도록 링크를 걸어준다. 설치 후에는 링크만 변경하여 사용이 가능하다.

COBOL_COMPILER=MFCOBOL|OFCOBOL|NETCOBOL|DUMMY
향목 설명

COBOL_COMPILER

설치할 때 기본으로 사용할 코볼 컴파일러 제품을 지정한다.

  • MFCOBOL : MF-COBOL 제품을 사용하며, 설치 과정에서 libcobsw.so 라이브러리가 libswmfcob.so에 심볼링 링크가 설정된다.

  • OFCOBOL : OFCOBOL 제품을 사용하며, 설치 과정에서 libcobsw.so 라이브러리가 libswofcob.so에 심볼링 링크가 설정된다.

  • NETCOBOL : NETCOBOL 제품을 사용하며, 설치 과정에서 libcobsw.so 라이브러리가 libswntcob.so에 심볼링 링크가 설정된다.

  • DUMMY : 코볼 컴파일러를 사용하지 않으며. 설치 과정에서 libcobsw.so 라이브러리가 libswdummy.so에 심볼링 링크가 설정된다.

다음은 컴파일러 제품을 OFCOBOL로 지정한 예이다.

COBOL_COMPILER=OFCOBOL

4.5. OpenFrame 타입 설정

OpenFrame 시스템에서 사용할 타입을 지정한다.

BATCH_OS_TYPE = <MVS|MSP> OpenFrame OS Type
CPM_PATH=Default CPM type <EBCASCUS|EBCASCJP|JEFASCK(MSP/XSP)>
향목 설명

BATCH_OS_TYPE

OpenFrame/Batch 시스템에서 JCL을 실행할 때에 호환되는 OS를 지정한다.

  • Default OS type : 지정하지 않을 경우 MVS로 지정된다.

CPM_PATH

OpenFrame의 dsview, spfedit 툴에서 Double Character Set을 변환하기 위하여 기본으로 사용하는 CPM 타입을 지정한다.

  • Default CPM type : 지정하지 않을 경우 LANG 환경변수에 따라 아래와 같이 지정된다.

    • LANG 환경변수가 ko_KR인 경우 : EBCASCKR.cpm

    • LANG 환경변수가 ja_JP인 경우 : EBCASCJP.cpm

    • 그 외의 경우 : EBCASCUS.cpm

다음은 CPM 타입을 EBCASCKR.cpm 지정한 예이다.

BATCH_OS_TYPE=MVS
CPM_PATH=EBCASCKR.cpm

4.6. 라이선스 환경설정

OpenFrame을 정상적으로 실행하려면 반드시 라이선스 파일을 발급받아 지정된 디렉터리로 복사해야 한다. 인스톨러를 실행하기 전 발급받은 라이선스 파일을 지정한 디렉터리에 넣어두면 인스톨러가 자동으로 해당 라이선스 파일을 지정된 라이선스 디렉터리로 복사한다. 여기서 지정하는 디렉터리가 최종 라이선스 파일의 위치로 인식되는 것이 아니라는 점에 유의한다.

OPENFRAME_LICENSE_PATH=<path>
TMAX_LICENSE_PATH=<path>
향목 설명

OPENFRAME_LICENSE_PATH

발급받은 OpenFrame 라이선스 파일들이 위치하는 절대 경로를 지정한다.

OpenFrame 라이선스는 설치하는 제품별로 여러 개의 파일로 구성되어 있다. 여기서 설정한 디렉터리의 라이선스 파일들은 ${OPENFRAME_HOME}/license 디렉터리로 복사된다.

TMAX_LICENSE_PATH

OpenFrame의 Tmax 라이선스 파일이 위치하는 절대 경로를 지정한다.

설정된 디렉터리의 라이선스 파일은 ${OPENFRAME_HOME}/core/license 디렉터리로 복사된다.

다음은 라이선스 파일이 위치한 절대 경로를 지정한 예이다.

OPENFRAME_LICENSE_PATH=/home/oframe/licenses/OPENFRAME
TMAX_LICENSE_PATH=/home/oframe/licenses/TMAX

OpenFrame에서 라이선스를 발급하는 모듈은 Base, Batch, TACF, OSC, OSI, HiDB, AIM이다.

5. 테이블 영역 생성

데이터베이스에 기본 볼륨으로 사용할 테이블 영역을 생성한다.

다음은 Tibero를 사용하여 테이블 영역을 생성하는 예이다. OpenFrame에서 기본 볼륨으로 사용할 DEFVOL이라는 테이블 영역을 300MB 크기로 생성하여 사용한다.

SQL> CREATE TABLESPACE "DEFVOL" DATAFILE 'DEFVOL.dbf' SIZE 300M AUTOEXTEND ON;

시스템 관련 데이터를 관리할 수 있는 OFM_REPOSITORY 테이블 영역을 300MB 크기로 생성하여 사용한다.

SQL> CREATE TABLESPACE "OFM_REPOSITORY" DATAFILE 'OFM_REPOSITORY.dbf' SIZE 300M AUTOEXTEND ON;

6. UNIX ODBC 환경설정

Base에서는 DBMS_LOCK 패키지를 사용하므로, UNIX용 ODBC 드라이버와 연동해야 한다.

다음은 UNIX ODBC Manager 설치 및 드라이버 연동에 대한 설명이다.

  1. http://www.unixodbc.org에 접속하여 UNIX ODBC Manager를 설치한다. 해당 페이지 내의 왼쪽 상단 [Download] 탭을 선택해서 압축 파일을 다운 받아 설치한다.

    다음은 UNIX ODBC Manager 설치의 예이다.

    $ tar -zxvf unixODBC-2.3.4.tar.gz
    $ cd unixODBC-2.3.4
    $ ./configure --prefix=/home/oframe/unixODBC --sysconfdir=/home/oframe/unixODBC/etc
    $ make
    $ make install
    • UNIX ODBC는 기본적으로 /usr/local에 설치된다. configuration을 수행할 때 prefix 옵션을 기술하여 설치 경로를 변경할 수 있다.

    • 환경설정 파일은 기본적으로 /etc에 설치된다. configuration을 수행할 때 sysconfdir 옵션을 기술하여 환경설정 파일을 변경할 수 있다.

  2. 사용자 계정의 환경변수에 UNIX ODBC 관련 변수를 추가한다.

    다음은 환경변수 추가의 예이다.

    export ODBC_HOME=$HOME/unixODBC
    export PATH=$ODBC_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ODBC_HOME/lib
    export LD_LIBRARY_PATH_64=$LD_LIBRARY_PATH_64:$ODBC_HOME/lib
    export ODBCINI=$HOME/unixODBC/etc/odbc.ini
    export ODBCSYSINI=$HOME
    항목 설명

    ODBCINI

    기본 경로(/etc)가 아닌 다른 경로에 위치한 odbc.ini를 사용할 경우 설정한다.

    ODBCSYSINI

    기본 경로(/etc)가 아닌 다른 경로에 위치한 odbcinst.ini를 사용할 경우 설정한다.

  3. UNIX ODBC 설정 파일(odbc.ini, odbcinst.ini)을 기술한다.

    odbc.ini는 ODBC 드라이버의 접속정보를 기록하는 설정 파일이고, odbcinst.ini는 ODBC Driver가 정의된 파일이다. odbc.ini에서 드라이버의 경우 odbcinst.ini에서 사용하는 Section(절) 이름과 동일하게 작성해야 한다. odbc.ini에서 [ODBC_datasource_name] 절의 경우 DSN 이름과 동일하게 작성해야 한다.

    [ODBC_datasource_name]
        Description     = description_of_data_source
        Driver          = driver_name
        DSN             = ODBC_datasource_name
        attribute1      = value
        attribute2      = value
        .
        .
        attribute(n-1)  = value
        attributen      = value
    • odbc.ini

      다음은 MS SQL과 Tibero 기반의 odbc.ini의 예이다.

      [MSSQLSERVER]
      Description = MSSQL Server 2014 DSN
      Driver = ODBC Driver 11 for SQL Server
      DSN = MSSQLSERVER
      Server = 192.168.37.44
      Port = 1433
      UserID = tibero
      Password = tmax
      MARS_Connection = Yes
      
      [TIBEROSERVER]
      Description = Tibero ODBC driver for Tibero5
      Driver = Tibero
      DSN = TIBEROSERVER
      SID = oframe
      User = tibero
      Password = tmax
    • odbcinst.ini

      다음은 MS SQL과 Tibero 기반의 odbcinst.ini의 예이다.

      [ODBC Driver 11 for SQL Server]
      Description=Microsoft ODBC Driver 11 for SQL Server
      Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2270.0
      Threading=1
      UsageCount=1
      
      [Tibero]
      Description = Tibero ODBC driver for Tibero6
      Driver      = /home/oframe/tibero6/client/lib/libtbodbc.so
      Setup       =
      FileUsage   =
      CPTimeout   =
      CPReuse     =
      Driver Logging  = 7
      
      [ODBC]
      Trace       = NO
      TraceFile   = /home/oframe/odbc.log
      ForceTrace  = Yes
      Pooling     = No
      DEBUG       = 1

      MS SQL 드라이버의 경우 설치된 msodbcsql/lib64에서 libmsodbcsql.so를 지정하고, Tibero 드라이버의 경우 TB_HOME의 client/lib에서 libtbodbc.so를 지정한다. 각각 DB의 섹션 이름은 odbc.ini에서 사용하는 Driver 이름과 동일하게 작성해야 한다. ODBC 절의 경우 ODBC 로그를 남긴다. Trace를 YES로 하면 TraceFile에 지정한 경로에 기록한다.

  4. UNIX ODBC 버전 확인과 설정 파일을 확인한다.

    odbcinst -j를 실행하면 'DRIVERS', 'SYSTEM DATA SOURCES' 항목에 odbc.ini, odbcinst.ini 파일을 참조하는 위치를 확인할 수 있다.

    $ odbcinst -j
    unixODBC 2.3.2
    DRIVERS............: /home/oframe/odbcinst.ini
    SYSTEM DATA SOURCES: /home/oframe/unixODBC/etc/odbc.ini
    FILE DATA SOURCES..: /home/oframe/ODBCDataSources
    USER DATA SOURCES..: /home/oframe/odbc.ini
    SQLULEN Size.......: 8
    SQLLEN Size........: 8
    SQLSETPOSIROW Size.: 8
  5. UNIX ODBC Driver 연동 테스트를 한다. odbc.ini, odbcinst.ini 파일을 설정하고 isql을 사용해서 ODBC로 DB에 접속한다.

    isql [DSN_NAME] [db_username] [db_password]

    다음은 isql을 사용해서 DB에 접속하는 예이다.

    $ isql oframe tibero tmax
    +---------------------------------------+
    | Connected!                            |
    |                                       |
    | sql-statement                         |
    | help [tablename]                      |
    | quit                                  |
    |                                       |
    +---------------------------------------+
    SQL>

    위와 같이 접속 프롬프트가 보여지면 정상적으로 DB에 연결된 상태이다.