Appendix A. Tmax 환경설정

내용 목차

A.1. 환경 파일
A.1.1. DOMAIN 절
A.1.2. NODE 절
A.1.3. SVRGROUP 절
A.1.4. SERVER 절
A.1.5. SERVICE 절
A.2. Makefile

본 장은 Tmax 환경 파일의 구성 요소에 대해 기술한다.

Tmax 환경 파일은 Tmax 시스템 구성을 설정하며, Tmax 관리자가 작성한다. 이 파일은 서비스 테이블 생성과 Tmax 시스템의 시동에 사용된다.

환경 파일의 구성내용은 다음과 같다.

설명필수 여부
DOMAIN하나의 독립적인 Tmax 시스템의 전체 환경을 정의한다.필수
NODEDOMAIN을 이루는 각 노드에 관계된 환경을 정의한다.필수
SVRGROUP서버 그룹 및 데이터 베이스에 관련된 사항을 정의한다.필수
SERVER서버에 관련된 사항을 정의한다.필수
SERVICE서비스에 관련된 사항을 정의한다.필수
GATEWAY도메인 간의 게이트웨이에 관련된 사항을 정의한다.선택
ROUTING데이터 의존 라우팅에 관련된 사항을 정의한다.선택
RQ신뢰성 큐에 관련된 사항을 정의한다.선택

각 절 이름은 애스터리스크(*)로 시작 (예: *DOMAIN, *NODE 등)하고 각 절 이름과 절의 하위 개체 이름은 반드시 줄의 첫 번째 칸에서 시작한다. 하나의 하위 개체에 대한 정의는 콤마(,)로 구분한다.

일반 텍스트 파일로 Tmax 환경 파일이 생성되며 cfl 명령어로 컴파일한다. 컴파일 후 생성된 이진 파일은 서비스 테이블 생성과 Tmax 시스템이 시동될 때 참조된다.

 cfl -i Tmax 환경 파일명

다음은 Tmax 환경 파일의 예제이다. ( “< >” 로 싸여있는 부분은 대체 가능)

*DOMAIN
<resrc_name>        SHMKEY = <UNIQUE IPCKEY>,
                    MAXUSER = 256

*NODE
<uname>             TMAXDIR = "<TMAX installed directory>"
                    APPDIR = "<APPLICATION DIRECTORY>",
                    PATHDIR = "<path directory>"

*SVRGROUP
<svg_name>          NODENAME = <uname> ,
                    OPENINFO = "Oracle_XA+Acc=P/scott/tiger+SesTm=60"

*SERVER
<svr_name>          SVGNAME = <sgrpname> , MIN = 1, MAX = 3

*SERVICE
<svc_name>          SVRNAME = <svrname>

본 절에서는 Oracle과 Infomix를 위한 TMS Makefile의 예제를 설명한다.

Oracle을 위한 TMS Makefile

다음은 Oracle을 위한 TMS Makefile(solaris 32bit) 예제이다.

#
include $(ORACLE_HOME)/precomp/lib/env_precomp.mk
ORALIBDIR = $(LIBHOME)
ORALIB = $(PROLDLIBS) $(LIBCLNTSH)

TARGET  = tms_ora
APOBJ   = dumy.o

APPDIR  = $(TMAXDIR)/appbin
TMAXLIBD= $(TMAXDIR)/lib

TMAXLIBS  = -ltms –loras –lsocket -lnsl

all: $(TARGET)

$(TARGET): $(APOBJ)
        $(CC) -L$(TMAXLIBD) -o $(TARGET) -L$(ORALIBDIR) $(ORALIB) $(APOBJ) 
        $(TMAXLIBS)
        mv $(TARGET) $(APPDIR)

$(APOBJ):
        $(CC) -c dumy.c
#
clean:
        -rm -f *.o core $(TARGET)

Informix를 위한 TMS Makefile

다음은 Informix를 위한 TMS Makefile(solaris 32bit) 예제이다.

TARGET  = tms_info

INFOLIBDIR = ${INFORMIXDIR}/lib
INFOELIBDIR = ${INFORMIXDIR}/esql
INFOLIBD = ${INFORMIXDIR}/lib/esql
INFOLIBS = -lifsql -lifasf -lifgen -lifgls -lifos –lnsl –lsocket –laio –elf -lm –ldl 
           ${INFOLIBDIR}/esql/checkapi.o -lifglx -lifxa

TMAXLIBDIR = $(TMAXDIR)/lib
TMAXLIBS  = -ltms -linfs

$(TARGET):
    $(CC) -o $(TARGET)  -L$(TMAXLIBDIR) -L$(INFOLIBD) -L$(INFOLIBDIR) 
    –L$(INFOELIBDIR) $(TMAXLIBS) $(INFOLIBS)
    cp $(TARGET) $(TMAXDIR)/appbin

#
clean:
    -rm -f  core $(TARGET)