[Tuxedo] oracle XA 구성

2022. 10. 25. 17:15

테스트환경 : Oracle Linux 7.9 / Oracle Database 19c /Oracle Tuxedo 12c

 

 

테스트과정 

 

 

----Database----

0. oracle DB 사용자 생성 및 권한 부여 

#DB접속
[oracle@jwchoi|/]$ ss

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Oct 20 12:20:26 2022
Version 19.12.0.0.0

Copyright (c) 1982, 2021, Oracle.  All rights reserved.

Connected to an idle instance.

#DB기동
SQL> startup
ORACLE instance started.

Total System Global Area 1174404424 bytes
Fixed Size                  8895816 bytes
Variable Size             469762048 bytes
Database Buffers          687865856 bytes
Redo Buffers                7880704 bytes
Database mounted.
Database opened.

#사용자 및 패스워드 생성 
SQL> CREATE USER jwchoi IDENTIFIED BY welcome1;

User created.

# 사용자 권한부여 
SQL> grant connect, dba, resource to jwchoi;

Grant succeeded.

 

----Tuxedo----

1. Tuxedo RM 설정

   - $TUXDIR/udataobj/RM 파일 열어서

     "Oracle_XA:xaosw:-L${ORACLE_HOME}/lib -lclntsh" 부분 주석 품

vi $TUXDIR/udataobj/RM

TUXEDO/D:tuxd_switch:-lrms -lfs
TUXEDO/SQL:tuxsql_switch:-lsql -lusort -lrms -lfs
NONE:tmnull_switch:
TUXEDO/QM:tuxq_switch:-lqm -ltmib
#
# BEA makes no attempt to keep the information in the following samples
# up to date.  To make sure you have correct and complete information for
# your platform and RM version, please consult your RM vendor.
#
# ORACLE 7
#Oracle_XA:Oracle_XA:-L${ORACLE_HOME}/lib -lxa ${ORACLE_HOME}/lib/libsql.a -lora -lsqlnet -lcore -lnlsrtl -lcore ${ORACLE_HOME}/lib/osntab.o -lsqlnet -lcv6 -lora -lm -lsocket

# Oracle 9, 10
Oracle_XA:xaosw:-L${ORACLE_HOME}/lib -lclntsh

# INFORMIX-Online 5
#INFORMIX-OnLine:infx_xa_switch:${INFORMIXDIR}/lib/esql/libinfxxa.a -lx
# INFORMIX-Online 6
#INFORMIX-OnLine:infx_xa_switch:${INFORMIXDIR}/lib/esql/libinfxxa.a ${INFORMIXDIR}/lib/esql/libsql.a ${INFORMIXDIR}/lib/libasf.a ${INFORMIXDIR}/lib/netlib.a ${INFORMIXDIR}/lib
#/esql/libgen.a ${INFORMIXDIR}/lib/esql/libos.a -lsocket -lm
#ident  "@(#)RM 1.3"
#NONE2:tmnull2_switch:xa.o

# WebSphere MQ 6.0
#MQSeries_XA_RMI:MQRMIXASwitchDynamic: -L/usr/mqm/lib64 -lmqmxa64 -lmqm -lmqmcs
# TMQ 12.1.0.0
#TUXEDO/TMQM:tuxq_switch: -ltmqm -ltmib -ltmq

 

 

 

2. Tuxedo TMS 생성

   - 첨부된 TMS 생성 파일 내용중 2번 수행 (TMS 생성 이름은 "TMS_ORA19" - 19부분은 oracle버젼으로 

     하는 것이 통상적)

$ buildtms -o TMS_ORA19 -r Oracle_XA

 

TMS_ORA19 파일이 생성되면 $TUXDIR/bin 디렉토리 안에 넣어줌

cp TMS_ORA19 $TUXDIR/udataobj/bin

 

 

 3. TLOG 생성

    - ubbconfig 

      1) MAXGTT 값 설정

      2) TLOGSIZE 값 설정 (MAXGTT <= TLOGSIZE )

      3) TLOGDEVICE 패스 설정 ("..../..../TLOG") - TLOG 이름까지 설정

*RESOURCES
IPCKEY          234423
PERM            0600

DOMAINID        simpapp
MASTER          simple
MAXACCESSERS    1000
MAXSERVERS      100
MAXSERVICES     500
MAXGROUPS       100
MAXCONV         10
MAXGTT          100
#SCANUNIT       5
#SANITYSCAN     24
#BLOCKTIME      6
#OPTIONS        LAN
MODEL           SHM
DBBLWAIT        2
LDBAL           N

*MACHINES

DEFAULT:


jwchoi          LMID=simple

                APPDIR="/sw/tp/tuxedo12.2.2.0.0/samples/atmi/simpapp"
                TUXCONFIG="/sw/tp/tuxedo12.2.2.0.0/samples/atmi/simpapp/tuxconfig"
                TUXDIR="/sw/tp/tuxedo12.2.2.0.0/"
                TLOGDEVICE="/sw/tp/tuxedo12.2.2.0.0/samples/atmi/simpapp/TLOG"
                MAXWSCLIENTS=800

 

 

4. 물리적인 TLOG 생성

    - Tuxedo shutdown   기동 중인 것을 내리고 command utility로 접속해야한다.

    - tmadmin -v

      > crdl -d size -z "path"  

         size -> TLOGSIZE + 500

         path -> TLOGDEVICE 패스 설정

 

crdl -b 500 -z /sw/tp/tuxedo12.2.2.0.0/samples/atmi/simpapp/TLOG

 

 

5. ubbconfig GROUP section XA 그룹 openinfo 설정 (문서 예제 설정)

 

P/DB사용자/DB사용자패스워드

OPENINFO="Oracle_XA:Oracle_XA+Acc=P/jwchoi/welcome1+SesTm=60+LogDir=log_path+DbgFl=15"

 

 

 

 

 

구성이 완료되면 

 

tuxedo 기동 후 프로세스 확인

Transactions Managed Server 프로세스 기동이 정상적임

 

XA 구성 완료

$ tmadmin -r
tmadmin - Copyright (c) 1996-2016 Oracle.
All Rights Reserved.
Distributed under license by Oracle.
Tuxedo is a registered trademark.
TMADMIN_CAT:199: WARN: Cannot become administrator.Limited set of commands available.

> psr
Prog Name      Queue Name  2ndQueue Name  Grp Name      ID RqDone Load Done Current Service
---------      ----------  ----------     --------      -- ------ --------- ---------------
WSL            00008.02000                TS_XA       2000      0         0 (  IDLE )
BBL            234423                     simple         0      2       100 (  IDLE )
TMS_ORA19      TS_XA_TMS                  TS_XA      30001      0         0 (  IDLE )
TMS_ORA19      TS_XA_TMS                  TS_XA      30002      0         0 (  IDLE )
simpserv       test                       TS_XA        100      0         0 (  IDLE )
simpserv       test                       TS_XA        101      0         0 (  IDLE )

> psc
Service Name Routine Name Prog Name  Grp Name  ID    Machine  # Done Status
------------ ------------ ---------  --------  --    -------  ------ ------
TMS          TMS          TMS_ORA19  TS_XA  30001     simple       0 AVAIL
TMS          TMS          TMS_ORA19  TS_XA  30002     simple       0 AVAIL
TOUPPER      TOUPPER      simpserv   TS_XA    100     simple       0 AVAIL
TOUPPER      TOUPPER      simpserv   TS_XA    101     simple       0 AVAIL

 

 

 


RM섹션은 DB에 접근하는 TUXEDO application을 만들고 실행시키는데에 있어서는 필수입니다.

처음 RM을 열어보면 이 정도로 되어있습니다.

TUXEDO/D:tuxd_switch:-lrms -lfs
TUXEDO/SQL:tuxsql_switch:-lsql -lusort -lrms -lfs
NONE:tmnull_switch:
TUXEDO/QM:tuxq_switch:-lqm -ltmib

맨 앞에 적혀있는 것이 RM section name 입니다.
이걸 만들기 위해서는.. 일단 DB를 먼저 설치를 해야 합니다.
그리고, Oracle의 경우라면 제가 예전에 이 게시판에 적어놓은 "RM 섹션 만들기"라는 글을 참고하시면 되겠습니다.

Oracle8이면 아마 대충 이렇게 나올겁니다.

Oracle8_XA:xaosw:-L/oracle8/app/oracle/product/8.1.7/lib -lclntsh 

이렇게 만든 RM section 명이 나중에 ubbconfig 파일을 만들 때에 *GROUPS 절의 XA 그룹 TMS openinfo string에서 사용됩니다.

5) TMS 만들기

RM섹션까지 만들었으면 이제...

    buildtms -r Oracle8_XA -o TMS_ORACLE8

이런 식으로 TMS를 만듭니다. (TMS_ORACLE8이 TMS의 이름입니다. 뭐 이름은 자유롭게 만들고 싶은대로 만들면 됩니다. ^^) TMS binary가 생성되었으면 이것을 TUXDIR의 bin 이라는 디렉토리로 옮깁니다.

    cp TMS_ORACLE8 $TUXDIR/bin

뭐 이런식으로 말이죠.. ^^ 이제 TUXEDO 구동을 위한 최소한의 준비가 된겁니다.

아래 내용은 꼭 tuxedo engine owner ID로 하실 필요는 없습니다. TUXDIR만 설정해 주시고 TUXDIR에 대한 read / 실행 권한만 있으면 어느 아이디건간에 TUXEDO admin이 될 수 있습니다.

'Middleware > Tuxedo' 카테고리의 다른 글

[Tuxedo] tuxedo 22c release  (0) 2022.11.08
[Tuxedo] 22c console 설치  (0) 2022.11.07
[Tuxedo] 통계자료 리포팅 관련 명령  (0) 2022.10.20
[Tuxedo] Bulletin Board 정보 조회  (0) 2022.10.20
[Tuxedo] 미들웨어 (MiddleWare)란?  (0) 2022.10.18

+ Recent posts