Middleware

Oracle tuxedo를 일반사용자로 설치한 엔진 디렉토리를 모두 chown으로 root로 바꿔주었다.

 

그러나 tmloadcf -y ubbconfig 실행시 아래 에러가 나옴.

 

# tmloadcf -y ubbsimple

CMDTUX_CAT:880: ERROR: Can't create _RESOURCE_SECT
 vtoc_errno 5: Unix error: Permission denied

권한 문제인 것 같은데... 그래서 755 777 모두 변경해주었으나 동일한 에러가 계속 나옴.

 

 

이것저것 구글링해서 짜집기한 결과로 tuxconfig (바이너리파일)의 권한을 666으로 설정하라는 것이었다.

 

# chmod 666 tuxconfig

 

변경 후 다시 tmloadcf 를 해보았는데 다음과 같은 에러가 나왔다.

 

# tmloadcf -y ubbsimple

CMDTUX_CAT:1280: ERROR: Cannot change permissions of security key database directory /sw/tp/tuxedo12.2.2.0.0/samples/atmi/simpapp/.adm errno = 1

CMDTUX_CAT:1275: ERROR: Cannot create encryption key

 

에러로그를 찾아보니 APPDIR에 있는 .adm 의 소유자를 UID에 맞게 변경해주라는 것이었다.

 

 

# ls -alrt

drwx------.  2 root root     20 Nov 14 20:20 .adm

 

나는 root의 권한으로 이미 변경해놓은 상태라

다시 tmloadcf 를 했더니 되었다.

 

 

이상한 테스트였다.

 

 

 

결과는 일반사용자로 설치된 oracle tuxedo가 소유자변경으로 root가 사용자가 되었을 때, 권한변경을 해주면 root로도 tuxedo를 실행할 수 있다는 것이다.

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

[Tuxedo] Service rename  (0) 2022.11.22
AP server kill / restart (PID 변경됨)  (0) 2022.11.16
oracle tuxedo 11g / 12c root 사용자로 설치  (0) 2022.11.14
[Tuxedo] tuxedo 22c release  (0) 2022.11.08
[Tuxedo] 22c console 설치  (0) 2022.11.07

결론

 

11g는 사용자가 root여도 GUI모드로 설치가 가능하다.

 

 

12c 부터는 사용자가 root인 경우는 설치가 불가능하다.

 

[root@tuxedo|/sw4/tp/Disk1/install]# ./runInstaller.sh -console
===============================================================================
Introduction
------------------


This shell script guides you through the installation and configuration of your Oracle Products.  Press "Enter" to accept the default and proceed to the next screen.  You may cancel this installation at any time by typing "quit".
Press "Enter" to continue:



===============================================================================
Choose Inventory
------------------


->1- Central Inventory
2- Private Inventory
0- Go back

Enter a number: 1
 /etc/oraInst.loc exists




===============================================================================
Choose Oracle Home
------------------


->1- Create new Oracle Home
2- Use existing Oracle Home
0- Go back

Enter a number: 1
Enter ORACLE_HOME: /sw4/tp
/sw4/tp is not empty. It is recommended to specify either an empty or a non-existent directory.

Do you still want to use this folder as ORACLE_HOME?

1- Yes
0- Go back

Enter a number: 1
Enter ORACLE_HOME_NAME: tux4



===============================================================================
Choose Install Set
------------------

Please choose the Install Set to be installed by this installer.

->1- Full Install
2- Server Install
3- Client Install
0- Go back

Enter a number: 3



===============================================================================
Confirm Enable TSAM Plus Agent
------------------

Would you like to enable TSAM(Tuxedo System and Applications Monitor) Plus Agent?

->1- Yes
2- No
0- Go back

Enter a number: 2



===============================================================================
SSL Support Choice
------------------

Would you like to Support SSL

->1- Yes
2- No
0- Go back

Enter a number: 2



===============================================================================
Samples Installation Choice
------------------

Would you like to install Oracle Tuxedo Samples?

1- Yes
->2- No
0- Go back

Enter a number: 1



===============================================================================
Tlisten Configuration Choice
------------------

Would you like to configure Oracle Tuxedo tlisten?

->1- Yes
2- No
0- Go back

Enter a number: 1
Enter Password:
Verify Password:



===============================================================================
Pre-Installation Summary
------------------

Install type: "Client Install"
Install Folder: "/sw4/tp"

->1- Start installation
0- Go back

Enter a number: 1




사용자가 루트입니다. 사용자가 루트인 경우 Oracle Universal Installer는 설치를 계속할 수 없습니다.

[Tuxedo] tuxedo 22c release

2022. 11. 8. 10:42

Tuxedo 22c release 

오라클이 뉴 릴리즈 버전인 22c를 출시함

 

What's New ?

 

새로운 버전에 대한 글로벌 커스터머들의 강력한 요청에 의해 출시하게 됐다 라고 한다.

tuxedo를 사용하는 분들을 서포트하고 투자하기 위한 오라클의 헌신을 반영했다고 한다... 고생했다는 것 같다.

 

새로워진 점은 ?

1. Oracle Database Application Continuity feature와의 통합을 더 쉽게 해줌 

2. 초기 보안 설정과 환경설정이 더 강력해졌다. 

3. 어플리케이션 배포가 보안화 된다.

4. 각 Tuxedo 서버에 대해 서로 다른 파일에 대한 로그를 허용하도록 MSSQ 서비스 향상

5. Oracle Jolt 및 Java Server는 OpenJDK 인증을 받음 

6. Third-party 소프트웨어 라이브러리, OS 라이브러리, 컴파일러의 업그레이드

7. 이전 버전 릴리즈 이후의 버그 수정과 다양한 개선 사항 roll-up 

 

Tuxedo core외에도, tuxedo 22c 배포 패키지는 Oracle Jolt, Oracle Arichitecture Laveraging Tuxedo, Oracle Advanced Performance Pack을 포함하고 있으며 다양하게 호환할 수 있는 Linux release 를 포함한 Linux x86-64 (64bit)에 지원된다.

 

 

 

배포 기반 쿠커네티스와 클라우드 

위 발표를 요약해보자면... Tuxedo 22c는 Kubernetes and Cloud 환경에서의 배포를 non-Tuxedo specialists 들도 쉽게 배포하고 관리할 수 있도록 심플리파이하게 만들어준다는 내용이다. Doker와 Kubernetes와 같은 Container-based 환경에서 Tuxedo Application을 기동하는데 도움이 되는 Dokerfile와 Helm chart?를 제공해준다고 한다.

그래서 개발자들은 빠르게 이미지를 생성할 수 있고, 이미지가 생성되면 Doker에서 Container가 Doker run command를 이용하여 쉽게 조작할 수 있고... Kubernetes에서 이미지를 배포 시키기 위해서, Oracle은 이미지를 running하고 installation하기 위해 Helm charts를 제공한다는 내용이다.

 

oracle팀은 Cloud Environment와 Kubernetes Environment에서 Tuxedo application을 러닝하고 배포하기 위해 지속적으로 지원할 것을 계획하고 있는 중이라고 한다. 

 

 

 

Microservices로 통합되는 Tuxedo  Application 

Tuxedo의 새 버전 릴리즈는 microservices application 내에 tuxedo service의 재사용을 촉구한다. 이건 향상된 Service Architecture Laveraging Tuxedo (SALT) release를 포함한다. SALT는 Tuxedo Services들이 c/c++, COBOL이나 JAVA로 만들어져도 XA 구성을 할 수 있도록 한다.

SALT와 MicroTx를 사용한다면 새로운 마이크로서비스들이 자바로 개발될 수 있고, Typescript는 분산 XA 트랜잭션의 파트로써 SALT로 REST end-point로써 Tuxedo service를 사용할 수 있다.

 

 

 

Oracle Tuxedo Directory Structure 

 

samples

- 샘플은 설치단계에서 선택하지 않으면 설치되지 않는다.

- 샘플 코드와 리소스들을 포함하고 있다. 

- atmi / corba / jolt

- atmi :Oracle Tuxedo Application-to-Transaction Monitor interface(ATMI) server software. simple application의 집합 

- corba : Oracle Tuxedo Common Object Request Broker Architecture (CORBA) C++ server software. simple application의 집합

- jolt : Oracle Jolt server software. simple application의 집합 

 

 

bin 디렉토리는 Tuxedo, jolt, SNMP Agent executable programs를 가지고 있는 디렉토리다.

 

 

 

lib 디렉토리는 컴파일된 오브젝트 파일들을 포함한다. 또한 dynamic shared libraries를 포함한다.

다른 오브젝트 파일들도 또한 Oracle Tuxedo C/S 환경을 build 하기위해서 필요하게 된다.

 

 

udataobj 디렉토리는 Oracle Tuxedo에 의해 요구되는 파일들과 다른 디렉토리들을 포함하는 디렉토리이다.

Security : Lightweight Directory Access Protocol (LDAP) 필터 파일과 LLE-related, SSL-related 암호화된 파일들이 내포된 디렉토리이다.

Jolt : Oracle Jolt software components 를 위한 파일들을 가지고 있는 디렉토리이다.

snmp : 이 디렉토리는 MIB 파일, SNMP Agent configuration, 다른 잡다한 파일들을 가지고 있는 디렉토리다.

tlisten.pw : tlisten administrative 패스워드를 가지고 있는 디렉토리다.

java : java application을 기동시키기위해 필요한 java 아카이브 파일들과 클래스들을 포함하고 있는 디렉토리다.

 

 

 

tux.env 파일은 Unix 시스템에서만 사용된다. Oracle Tuxedo environment variables for UNIX installation and servers and as a model for setting those variables. 

 

 

oracle linux 7 64bit

oracle linux 8 64bit

SUSE Linux 12.5 64bit

RHEL 7 64bit

RHEL 8 64 bit

 

* oracle linux8 or RHEL8 에는 libnsl Library가 더이상 지원되지 않기 때문에 22c를 설치하기 전에 libnsl을 내려받고 설치하여야한다.

 

 

기존 버전의 엔진디렉토리에 설치를 하게되면 configuration이 뒤섞일 수 있으니

새로운 oracle Home에 설치해야한다. (강력히 권고)

 

If you installed Oracle Tuxedo 22c Release 1 (22.1.0.0.0) in a previous Tuxedo product directory, and you want to return to your original configuration, you must re-install your previous Tuxedo version. It is strongly suggested that you install the Oracle Tuxedo 22c Release 1 (22.1.0.0.0) to a new Oracle Home product directory.

 

[Tuxedo] 22c console 설치

2022. 11. 7. 17:18

내려받는다.

 

리눅스 설치파일만 있고 리눅스 7부터 지원된다. 링크 참고

 

https://docs.oracle.com/en/database/oracle/tuxedo/22/otxig/supported-platforms.html#GUID-7A5E7156-F160-46C6-B1BC-AB385E3152D4

 

Installation Guide

 

docs.oracle.com

 

 

 

내려받으면 sftp나 fileZila, 또는 MobaTermX를 사용하여 파일을 전송할 수 있다.

 

나는 moba가 권한문제? 로 안되었기 때문에 sftp를 사용하였다.

 

sftp 사용법은 다음 링크에 있다.

 

2022.08.05 - [OS/LINUX] - [LINUX] SFTP (Secure File Transfer Protocol) 의 명령어를 활용한 파일 전송

 

[LINUX] SFTP (Secure File Transfer Protocol) 의 명령어를 활용한 파일 전송

업무를 하다보면 Window OS에서 Linux OS로 또는 반대방향으로 파일이 빈번히 오고 갈 수 있다. (리눅스는 오픈소스 소프트웨어이기 때문에 가능) 원격서버로 파일 전송을 하는 방법 중 한가지인 SFTP

nomajorkorean.tistory.com

 

unzip한다.

[oracle@jwchoi|/sw/tp/tux22c]$ ls
V1031234-01.zip

[oracle@jwchoi|/sw/tp/tux22c]$ unzip V1031234-01.zip

Archive:  V1031234-01.zip
   creating: Disk1/
   creating: Disk1/install/
  inflating: Disk1/install/runInstaller.sh
  inflating: Disk1/install/lsnodes
  inflating: Disk1/install/tuxInstaller
   creating: Disk1/install/resource/
  inflating: Disk1/install/resource/cons_ko.nls
  inflating: Disk1/install/resource/cons.nls
  inflating: Disk1/install/resource/cons_pt_BR.nls
  inflating: Disk1/install/resource/cons_it.nls
  inflating: Disk1/install/resource/cons_fr.nls
  inflating: Disk1/install/resource/cons_de.nls
  inflating: Disk1/install/resource/cons_zh_TW.nls
  inflating: Disk1/install/resource/cons_es.nls
  inflating: Disk1/install/resource/cons_ja.nls
  inflating: Disk1/install/resource/cons_zh_CN.nls
  inflating: Disk1/install/detachHome.sh
  inflating: Disk1/install/console_install.jar
  inflating: Disk1/install/oraparam.ini
  inflating: Disk1/install/addLangs.sh
  inflating: Disk1/install/oneclick.properties
  inflating: Disk1/install/clusterparam.ini
  inflating: Disk1/install/oraparamsilent.ini
  inflating: Disk1/install/unzip
  inflating: Disk1/install/attachHome.sh
.
.
.
.
.

설치 시작. 콘솔모드로 설치한다.

[oracle@jwchoi|/sw/tp/tux22c/Disk1/install]$ ./runInstaller.sh -console
===============================================================================
Introduction
------------------


This shell script guides you through the installation and configuration of your Oracle Products.  Press "Enter" to accept the default and proceed to the next screen.  You may cancel this installation at any time by typing "quit".
Press "Enter" to continue:



===============================================================================
Choose Inventory
------------------


->1- Central Inventory
2- Private Inventory
0- Go back

Enter a number: 2
Enter your private inventory pointer file: /sw/tp/tux22c/oraInventory
invalid inventory pointer file: /sw/tp/tux22c/oraInventory

Enter your private inventory pointer file: /sw/tp/tux22c/oraInventory
invalid inventory pointer file: /sw/tp/tux22c/oraInventory

Enter your private inventory pointer file: /sw/tp/tux22c/oraInventory/oraInst.loc



===============================================================================
Choose Oracle Home
------------------


->1- Create new Oracle Home
2- Use existing Oracle Home
0- Go back

Enter a number: 1
Enter ORACLE_HOME: /sw/tp/tux22c/
/sw/tp/tux22c/ is not empty. It is recommended to specify either an empty or a non-existent directory.

Do you still want to use this folder as ORACLE_HOME?

1- Yes
0- Go back

Enter a number: 1
Enter ORACLE_HOME_NAME: tux22c



===============================================================================
Choose Install Set
------------------

Please choose the Install Set to be installed by this installer.

->1- Full Install
2- Server Install
3- Client Install
0- Go back

Enter a number: 1



===============================================================================
Confirm Enable TSAM Plus Agent
------------------

Would you like to enable TSAM(Tuxedo System and Applications Monitor) Plus Agent?

->1- Yes
2- No
0- Go back

Enter a number: 2



===============================================================================
SSL Support Choice
------------------

Would you like to Support SSL

->1- Yes
2- No
0- Go back

Enter a number: 2



===============================================================================
Samples Installation Choice
------------------

Would you like to install Oracle Tuxedo Samples?

1- Yes
->2- No
0- Go back

Enter a number: 1



===============================================================================
Tlisten Configuration Choice
------------------

Would you like to configure Oracle Tuxedo tlisten?

->1- Yes
2- No
0- Go back

Enter a number: 1
Enter Password:
Verify Password:



===============================================================================
Pre-Installation Summary
------------------

Install type: "Full Install"
Install Folder: "/sw/tp/tux22c/"

->1- Start installation
0- Go back

Enter a number: 1



Starting Oracle Universal Installer...

Checking Temp space: must be greater than 500 MB.   Actual 10721 MB    Passed
Checking swap space: must be greater than 500 MB.   Actual 3967 MB    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2022-11-05_01-58-09AM. Please wait ...Oracle Universal Installer, Version 12.2.0.9.0 Production
Copyright (C) 1999, 2018, Oracle. All rights reserved.

You can find the log of this install session at:
 /sw/tp/tux22c/oraInventory/logs/installActions2022-11-05_01-58-09AM.log
.................................................................................................... 100% Done.


Loading Product Information
............................................................................................... 100% Done.


Analyzing dependencies
.................................................................................................................. 100% Done.


-----------------------------------------------------------------------------
Summary
Global Settings
    Source: /sw/tp/tux22c/Disk1/install/../stage/products.xml
    Oracle Home: /sw/tp/tux22c (tux22c)
    Installation Type: Full Install
Product Languages
   English
Space Requirements
   / Required 687MB (includes 39MB temporary) : Available 10.44GB
New Installations (19 products)
   Oracle Tuxedo 22.1.0.0.0
   Tuxedo Jolt JRLY 22.1.0.0.0
   Oracle Tuxedo System and Applications Monitor Plus (Oracle TSAM Plus) agent 22.1.0.0.0
   Tuxedo CORBA Client 22.1.0.0.0
   Tuxedo ATMI Client 22.1.0.0.0
   Oracle Services Architecture Leveraging Tuxedo (Oracle SALT) 22.1.0.0.0
   Tuxedo Server 22.1.0.0.0
   Tuxedo Corba Client Core 22.1.0.0.0
   Tuxedo Jolt Client 22.1.0.0.0
   Tuxedo Server Core 22.1.0.0.0
   Tuxedo Client Core 22.1.0.0.0
   Tuxedo ATMI Client Core 22.1.0.0.0
   oracle.swd.opatchautodb 12.2.0.1.5
   oracle.swd.commonlogging 13.3.0.0.0
   Oracle Universal Installer 12.2.0.9.0
   Oracle One-Off Patch Installer 12.2.0.1.17
   Installer SDK Component 12.2.0.9.0
   oracle.swd.oui.core.min 12.2.0.9.0
   Java Development Kit 1.8.0.331.09
-----------------------------------------------------------------------------


Installation in progress (Saturday, November 5, 2022 1:58:17 AM KST)
...............................................................  36% Done.
...............................................................  72% Done.
................                                                 82% Done.
Install successful

Linking in progress (Saturday, November 5, 2022 1:58:26 AM KST)
Link successful

Setup in progress (Saturday, November 5, 2022 1:58:26 AM KST)
.............                                                   100% Done.
Setup successful

Saving inventory (Saturday, November 5, 2022 1:58:27 AM KST)
Saving inventory complete
Configuration complete

End of install phases.(Saturday, November 5, 2022 1:58:27 AM KST)
The installation of Oracle Tuxedo was successful.
Please check '/sw/tp/tux22c/oraInventory/logs/silentInstall2022-11-05_01-58-09AM.log' for more details.
Tuxedo Installed. Configuring tlisten.
tlistpwd: INFO: Password appended to file "/sw/tp/tux22c//tuxedo22.1.0.0.0/udataobj/tlisten.pw".

 

중간에 private orainventory 선택하게 되면 내가 지정한 인벤토리를 물고 들어간다.

 

따라서 oraInventory 디렉토리와 oraInst.loc 파일을 미리 만들어줘야함.

 

[oracle@jwchoi|/sw/tp/tux22c]$ mkdir oraInventory

[oracle@jwchoi|/sw/tp/tux22c]$ ls
Disk1  V1031234-01.zip  oraInventory

[oracle@jwchoi|/sw/tp/tux22c]$ cd oraInventory/

[oracle@jwchoi|/sw/tp/tux22c/oraInventory]$ vi oraInst.loc

[oracle@jwchoi|/sw/tp/tux22c/oraInventory]$ chmod 750 oraInst.loc

oraInst.loc 내용 

oraInventory 절대경로와 사용자 계정

 

 

22c 설치 끝. 

 

무엇이 업뎃 되었는지 알아봐야겠다.

[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

1. bbs  (많이 사용 ★)

> bbs
Current Bulletin Board Status:
          Current number of servers: 4
         Current number of services: 6
   Current number of request queues: 4
    Current number of server groups: 3
       Current number of interfaces: 0

- 현재 Tuxedo system/T에 구성되어 있는 서버수, 서비스수, Request Queue의 수와 그룹에 대한 정보를 출력

> bbstats(bbs)

 

2. pclt 

 

> pclt
     LMID         User Name       Client Name    Time    Status  Bgn/Cmmt/Abrt
--------------- --------------- --------------- -------- ------- -------------
simple          jwchoi          tmadmin          0:25:00 IDLE    0/0/0

 

- 현재 Tuxedo 시스템에 접속된 클라이언트들의 이르과 기타 정보를 출력.

> printclient(pclt) [-m lmid] [-u usrname] [-c cltname]

 

상태정보 

IDLE   : 클라이언트가 tpinit()를 수행하여 System/T와 접속되어 있으나 호출한 서비스가 없다.

IDLET : IDEL 상태로써 트랜잭션을 시작한 상태

BUSY : 클라이언트가 시스템에 적어도 하나의 서비스 요구나 Conversation을 갖고 있는 상태.

BUSYT : BUSY상태로써 시작한 트랜잭션이 있는 상태

 

 

3. pg (중요★  ★  ★)

> pg

Server group parameters:

                 Group Name: DOMGRP
               Group Number: 2
            Primary Machine: simple
            Current Machine: simple

                 Group Name: GROUP1
               Group Number: 1
            Primary Machine: simple
            Current Machine: simple

                 Group Name: JOLTGRP
               Group Number: 3
            Primary Machine: simple
            Current Machine: simple

- 서버 그룹들의 정보를 출력

> printgroup(pg) [-m lmid] [-g groupname]

 

 

4.pnw  (mp모드에서 사용)

 

#SHm 모드에서

> pnw simple

        simple is not a NETWORK LMID

- 시스템간의 주고 받은 메세지 갯수와 Partition된 머신을 출력

> printnet(pnw) [machine_list or LMID] 

 

 

 

5. pq  (★ ★ ★)

> pq
Prog Name      Queue Name  # Serve Wk Queued  # Queued  Ave. Len    Machine
---------      ------------------- ---------  --------  --------    -------
simpserv       00001.00003       1         -         0         -     simple
simpserv       00001.00002       1         -         0         -     simple
BBL            123456            1         -         0         -     simple
simpserv       00001.00001       1         -         0         -     simple

- Queue에 관한 정보를 출력

> printqueue(pq) [qaddress] 

 

참고 ) 파라미터 

Prog Name    : AP server의 이름

Queue Name : 큐(queue)의 이름은 'GRPNO,SRVID'로 나타남. 만약 어떤 AP server이 MSSQ를 사용한다면 RQADDR에 설정된 큐(queue)의 이름이 출력된다.

# Queued : 큐(queue)에 쌓인 서비스 요구 수.

wk Queued : AP Server를 위해  Queuing된 현재의 Load.

Ave.Len : 큐(Queue)의 평균 길이.

 

 

 

6. psr

> psr
Prog Name      Queue Name  2ndQueue Name  Grp Name      ID RqDone Load Done Current Service
---------      ----------  ----------     --------      -- ------ --------- ---------------
BBL            123456                     simple         0     14       700 (  IDLE )
simpserv       00001.00001                GROUP1         1      0         0 (  IDLE )
simpserv       00001.00002                GROUP1         2      0         0 (  IDLE )
simpserv       00001.00003                GROUP1         3      0         0 (  IDLE )

- 서버 어플리케이션에 의해 수행된 작업에 관한 정보를 출력

('RqDone'과 'Load Done'은 시스템이 부팅된 시점부터 계속 누적값)

 

> printserver(psr) [-m LMID] [-g groupname] [-i srvid] [-a {0 | 1 | 2 }] [-q qaddress] [-s service]

 

 

7. psc 

> psc
Service Name Routine Name Prog Name  Grp Name  ID    Machine  # Done Status
------------ ------------ ---------  --------  --    -------  ------ ------
TOUPPER      TOUPPER      simpserv4  GROUP4   400    simple2       0 AVAIL
TOLOWER      TOLOWER      simpserv2  GROUP2   200    simple2       0 AVAIL
TOUPPER      TOUPPER      simpserv4  GROUP4   401    simple2       0 AVAIL
TOLOWER      TOLOWER      simpserv2  GROUP2   201    simple2       0 AVAIL
TOUPPER      TOUPPER      simpserv4  GROUP4   402    simple2       0 AVAIL
TOLOWER      TOLOWER      simpserv2  GROUP2   202    simple2       0 AVAIL
TOUPPER      TOUPPER      simpserv3  GROUP3   300    simple2       0 AVAIL
DMADMIN      DMADMIN      DMADM      DOMGRP   300    simple2       0 AVAIL
TOUPPER      TOUPPER      simpserv3  GROUP3   301    simple2       0 AVAIL
TOUPPER      TOUPPER      simpserv3  GROUP3   302    simple2       0 AVAIL
TUXDOM1      GWS          GWADM      DOMGRP   310    simple2       0 AVAIL
TOUPPER      GWS          GWTDOMAIN  DOMGRP   320    simple2       0 SUSP
TOLOWER      GWS          GWTDOMAIN  DOMGRP   320    simple2       0 SUSP

- 서비스 수행에 관한 더 자세한 정보를 출력

> printservice(psc) [-m LMID] [-g groupname] [-i srvid] [-a {0 | 1 | 2}] [-q qaddress] [-s service]

 

 

 

 

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

[Tuxedo] 22c console 설치  (0) 2022.11.07
[Tuxedo] oracle XA 구성  (0) 2022.10.25
[Tuxedo] Bulletin Board 정보 조회  (0) 2022.10.20
[Tuxedo] 미들웨어 (MiddleWare)란?  (0) 2022.10.18
[Tuxedo] MP mode 테스트  (0) 2022.10.17

1. bbs

> bbs
Current Bulletin Board Status:
          Current number of servers: 4
         Current number of services: 6
   Current number of request queues: 4
    Current number of server groups: 3
       Current number of interfaces: 0

- Bulletin Board 파라미터들의 요약정보를 출력한다.

 

 

2. bbls

#bbls LMID

> bbls

IPC resources for the bulletin board on machine simple:
SHARED MEMORY:          Key: 0x1e240
SEGMENT 0:
                         ID: 342885447
                       Size: 34490500
         Attached processes: 6
      Last attach/detach by: 33292712

This semaphore is the system semaphore
SEMAPHORE:              Key: 0x1e240
                         Id: 116392987
       | semaphore  | current |   last    | # waiting |
       |   number   | status  |  accesser | processes |
       |----------------------------------------------|
       |      0     |   free  |   7340554 |     0     |
       |      1     |   free  |   7340554 |     0     |
       |      2     |   free  |   7340554 |     0     |
       |      3     |   free  |   7340554 |     0     |
       |      4     | locked  |   7340554 |     0     |
       |------------|---------|-----------|-----------|

This semaphore set is part of the user-level semaphore
SEMAPHORE:              Key: IPC_PRIVATE
                         Id: 1046
       | semaphore  | current |   last    | # waiting |
       |   number   | status  |  accesser | processes |
       |----------------------------------------------|
       |      0     | locked  |   7340554 |     0     |
       |      1     | locked  |   7340554 |     0     |
       |      2     | locked  |   7340554 |     0     |
       |      3     | locked  |   7340554 |     0     |
       |      4     | locked  |   7340554 |     0     |
       |      5     | locked  |   7340554 |     0     |
       |      6     | locked  |   7340554 |     0     |
       |      7     | locked  |   7340554 |     0     |
       |      8     | locked  |   7340554 |     0     |
       |      9     | locked  |   7340554 |     0     |
       |     10     | locked  |   7340554 |     0     |
       |     11     | locked  |   7340554 |     0     |
       |     12     | locked  |   7340554 |     0     |
       |     13     | locked  |   7340554 |     0     |
       |     14     | locked  |   7340554 |     0     |
       |     15     | locked  |   7340554 |     0     |
       |     16     | locked  |   7340554 |     0     |
       |     17     | locked  |   7340554 |     0     |
       |     18     | locked  |   7340554 |     0     |
       |     19     | locked  |   7340554 |     0     |
       |     20     | locked  |   7340554 |     0     |
       |     21     | locked  |   7340554 |     0     |
       |     22     | locked  |   7340554 |     0     |
       |     23     | locked  |   7340554 |     0     |
       |     24     | locked  |   7340554 |     0     |
       |     25     | locked  |   7340554 |     0     |
       |     26     | locked  |   7340554 |     0     |
       |     27     | locked  |   7340554 |     0     |
       |     28     | locked  |   7340554 |     0     |

- 로컬 머신의 IPC 자원들에 대한 정보를 출력한다.

- 공유메모리, 세마포어에 관한 정보 출력

 

Shared Memory : key, id, size, 접속된 프로세스

Semaphore : key, id, Semaphore Number, 현재의 상태, 마지막으로 액세스한 프로세스 및 대기 중인 프로세스 

 

 

 

3. srp

> srp -g GROUP1 -i 2
         Prog Name: /ofm/jwchoi/sw/tp/tuxedo12.2.2.0.0/samples/atmi/simpapp/simpserv
        Queue Name: 00001.00002
    Server Options: RESTARTABLE
    Max # Restarts: 255
   Restart Command: (restartsrv)
      Grace Period: 1 day
          Group ID: 1
         Server ID: 2
        Machine ID: simple

- 지정한 서버의 파라미터들의 요약정보를 출력.

 

 

4. scp

> scp -g GROUP1 -i 2 -s TOLOWER
    Service Name: TOLOWER
   Function Name: TOLOWER
            Load: 50
        Priority: 50
         Address: 0

 

- 지정한 서비스의 파라미터들의 요약정보를 출력 

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

[Tuxedo] oracle XA 구성  (0) 2022.10.25
[Tuxedo] 통계자료 리포팅 관련 명령  (0) 2022.10.20
[Tuxedo] 미들웨어 (MiddleWare)란?  (0) 2022.10.18
[Tuxedo] MP mode 테스트  (0) 2022.10.17
[Tuxedo] MP mode 구성  (0) 2022.10.07

 

미들웨어(Middleware)는 응용 소프트웨어가 운영체제로부터 제공받는 서비스 이외에 추가적으로 이용할 수 있는 서비스를 제공하는 컴퓨터 소프트웨어입니다. 응용 소프트웨어는 유연하고 확장, 축소가 편리해야하며 이러한 장점을 충족하기에 개발자의 다른 기종간 플랫폼을 다시 구축할 필요가 없어야 합니다. 이를테면 데이터베이스 시스템, 전자통신 소프트웨어, 메시지 및 쿼리 처리 소프트웨어를 들 수 있습니다.

 

 

정의


미들웨어는 양 쪽을 연결하여 데이터를 주고받을 수 있도록 중간에서 매개 역할을 하는 소프트웨어, 네트워크를 통해서 연결된 여러 개의 컴퓨터에 있는 많은 프로세스들에게 어떤 서비스를 사용할 수 있도록 연결해주는 소프트웨어를 말합니다. 3계층 클라이언트/서버 구조에서 미들웨어가 존재합니다. 웹브라우저에서 데이터베이스로부터 데이터를 저장하거나 읽어올 수 있게 중간에 미들웨어가 존재하게 됩니다.

 

TP 모니터(TP Monitor: Transaction Processing Monitor)는 가장 대표적인 미들웨어라 할 수 있습니다. 이러한 미들웨어는 메인 프레임 소프트웨어에서 분산 컴퓨팅으로 전환되는 과정에서 나타나게 됩니다. 

미들웨어를 이용하는 분산 컴퓨팅은 2-tier 형태를 벗어나서 3-tier와 N-tier 형태로 발전하게 됩니다. 대부분 3-tier 혹은 N-tier 분산 컴퓨팅에서 모든 비즈니스 로직은 서버 컴퓨터에 존재하게 되고, 개인용 컴퓨터는 오직 프레젠테이션을 위해서 사용됩니다.

 

이러한 방법은 여러가지 장점들을 제공하게됩니다.

 

1. 모든 비즈니스 로직을 서버에서 관리하기 때문에 관리와 유지 보수가 간편해진다. 만약 변경 사항이 있는 경우에 오직 서버 측만 변경하기 때문에 유지 보수가 간편해지는 것이다.

2. 확장성이 좋아진다. 3-tier는 씬 클라이언트(thin-client) 형태를 사용하기 때문에 클라이언트 컴퓨터의 성능이 약간 떨어져도 프로그램을 실행시키는데 문제가 없다. 이러한 형태는 서버측에 약간 무리가 있을 수 있지만, 서버 측은 멀티 프로세스 시스템이나 클러스터링(clustering)을 이용함으로써 문제를 해결할 수 있다.

 

 

이점


 - 표준화된 인터페이스 제공 가능

 - 다양한 환경 지원, 체계가 다른 업무와 상호 연동이 가능

 - 분산된 업무를 동시에 처리 가능하여 자료의 일관성이 유지

 - 부하의 분산이 가능

 

 

활용 방안


- 향후 5년 후에 새로운 e-business 애플리케이션 투자를 불러올 주요 트랜드 및 사건은 무엇인가?

 - 차세대 e-business 아키텍처를 창조하는데 있어서 패키지화된 애플리케이션 소프트웨어의 역할은 무엇인가?

 - 기술의 발전과 비즈니스 변화는 e-business 애플리케이션을 시작하려는 결정에 어떤 영향을 미칠 것인가?

 - 21세기의 경쟁에 필요한 이상적인 e-business 애플리케이션 아키텍처는 무엇인가?

 - 어떻게 아키텍처를 통합하는 것이 정보관리 능력을 빠르게 향상시킬 것이며, 조직을 건실하게 운영할 수 있을 것인가?

 - 이전에 없던 복잡성과 변화에도 불구하고 비즈니스 애플리케이션을 활용할 수 있는 경영 구조를 어떻게 만들 수 있을까?

 

 

종류


1. 원격 프로시저 호출(Remote Procedure Call, 약칭 RPC): 클라이언트가 원격에서 동작하는 프로시저를 호출하는 시스템. 동기 또는 비동기 지원.

2. 메시지 지향 미들웨어(Message Oriented Middleware, 약칭 MOM): 클라이언트가 생성한 메시지는 저장소에 요청할 때 저장하면서, 다른 업무를 지속할 수 있도록 하는 비동기식 미들웨어.

3. ORB(Object Request Broker): 객체지향 시스템에서 객체 및 서비스를 요청하고 전송할 수 있도록 지원하는 미들웨어.

4. DB 접속 미들웨어: 애플리케이션과 데이터베이스 서버를 연결해주는 미들웨어

 

또다른 분류법

1. TP모니터(Transaction Processing(TP) monitor): 분산 시스템의 애플리케이션을 지원하는 미들웨어. 주로 C/S 시스템에 사용됨.

2. 웹 애플리케이션 서버(Web Application Server): 웹 애플리케이션을 지원하는 미들웨어.

3. 엔터프라이즈 서비스 버스(Enterprise Service Bus): 메시지 기반으로 느슨한 결합형태의 표준 인터페이스 통신을 지원하는 미들웨어로 기업 안팎에 있는 모든 시스템 환경을 연동하는 미들웨어.

 

 

TP모니터란?

각종 프로토콜에서 동작하는 세션과 시스템과 데이터베이스 사이의 최소 처리단위인 트랜잭션을 감시하여 일관성있게 보관 유지하는 역할을 하는 트랜잭션 관리 미들웨어이다. 시장분석 기관인 가트너(Gartner)에서는 TPM으로 표시하고 있고, 또 다른 시장분석 기관인 IDC에서는 ASSP의 일부로 분류하고 있다.

 

각종 컴퓨터 시스템에서 사용자와 애플리케이션과의 다수의 자원(데이터베이스 등) 사이의 분산 트랜잭션을 실현하는 프로그램 모듈(복수 자원에 걸친 처리단위인 트랜잭션에 대해 ACID 특성을 보관 유지하는 역할을 담당하는 프로그램 모듈)을 TP모니터라고 한다.

 

X/Open 모델에서는 "트랜잭션 관리자" 또는 WS-Transaction 모델의 "트랜잭션 조정자"와 동의어이다.

 

다만, X/Open 모델을 따르지 않는 좁은 의미의 "트랜잭션 관리"는 단일 자원 내부의 로컬 트랜잭션을 처리하는 부분을 의미하므로 주의할 필요가 있다. 여기서 "트랜잭션 모니터"라고 하면 개별 자원의 외부에서 복수의 "자원 관리" 또는 복수 노드의 "자원 관리"를 이르는 분산 트랜잭션을 관리하는 독립한 프로그램 모듈을 가리키는 것이다.

 

 

 

출처  https://12bme.tistory.com/m/category/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%28TA%2C%20AA%29

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

[Tuxedo] 통계자료 리포팅 관련 명령  (0) 2022.10.20
[Tuxedo] Bulletin Board 정보 조회  (0) 2022.10.20
[Tuxedo] MP mode 테스트  (0) 2022.10.17
[Tuxedo] MP mode 구성  (0) 2022.10.07
[TUXEDO] tmloadrepos command  (0) 2022.10.05

[Tuxedo] MP mode 테스트

2022. 10. 17. 09:22

테스트 장비

서버  : IBM AIX1,  IBM AIX2

클라이언트 :  LINUX 6.6 

 

 

 

테스트 환경

AIX1 - TOLOWER service 

AIX2 - TOUPPER, TOLOWER service 

 

 

 

MP mode

클라이언트가 TOUPPER service 를 request하였을 때, BRIDGE 통신을 하여 master / back-up master Machine간 어플리케이션의 서비스 존재여부를 확인을 한다.

 

 

로직 

Client <------------------------------------>  AIX1 <------------------------------------> AIX2  

 

1. client가 AIX1와 TCP/IP 통신을 하여 TOUPPER service를 호출한다.

2. AIX1에는 TOUPPER service를 가지고 있지 않으므로 AIX2와 BRIDGE 통신을 하여 TOUPPER service를 가져온다.

3. 서비스를 전달받은 AIX1가 다시 Client에게 reply해준다.

 

 

 

테스트 

1. 1번 장비 서비스 확인     

=> default -m LMID

# 1번 장비 콘솔 접속
> d -m AIX1 

AIX1> psc
Service Name Routine Name Prog Name  Grp Name  ID    Machine  # Done Status
------------ ------------ ---------  --------  --    -------  ------ ------
TOLOWER      TOLOWER      simpserv2  GROUP2   200       AIX1       0 AVAIL
TOLOWER      TOLOWER      simpserv2  GROUP2   201       AIX1       0 AVAIL
TOLOWER      TOLOWER      simpserv2  GROUP2   202       AIX1       0 AVAIL

AIX1> psr
Prog Name      Queue Name  2ndQueue Name  Grp Name      ID RqDone Load Done Current Service
---------      ----------  ----------     --------      -- ------ --------- ---------------
simpserv2      test2                      GROUP2       200      0         0 (  IDLE )
TMMETADATA     00060.00800                JOLTGRP      800      0         0 (  IDLE )
JSL            00060.00600                JOLTGRP      600      0         0 (  IDLE )
WSL            00002.03000                WSLGRP2     3000      0         0 (  IDLE )
WSL            00001.02000                WSLGRP1     2000      0         0 (  IDLE )
BBL            30002.00000                AIX1           0     57      2850 (  IDLE )
DBBL           242445                     AIX1           0      -         - ( - )
simpserv2      test2                      GROUP2       201      0         0 (  IDLE )
BRIDGE         504589                     AIX1           1      0         0 (  IDLE )
simpserv2      test2                      GROUP2       202      0         0 (  IDLE )

2. 2번 장비 서비스 확인 

#2번 장비 콘솔 접속 
> d -m AIX2

AIX2> psc
Service Name Routine Name Prog Name  Grp Name  ID    Machine  # Done Status
------------ ------------ ---------  --------  --    -------  ------ ------
TOUPPER      TOUPPER      simpserv2  GROUP4   400       AIX2       1 AVAIL
TOUPPER      TOUPPER      simpserv2  GROUP4   401       AIX2       1 AVAIL
TOUPPER      TOUPPER      simpserv2  GROUP4   402       AIX2       1 AVAIL
TOLOWER      TOLOWER      simpserv   GROUP3   300       AIX2       0 AVAIL
TOLOWER      TOLOWER      simpserv   GROUP3   301       AIX2       0 AVAIL
TOLOWER      TOLOWER      simpserv   GROUP3   302       AIX2       0 AVAIL

AIX2> psr
Prog Name      Queue Name  2ndQueue Name  Grp Name      ID RqDone Load Done Current Service
---------      ----------  ----------     --------      -- ------ --------- ---------------
simpserv2      test4                      GROUP4       400      1        50 (  IDLE )
WSL            00004.05000                WSLGRP4     5000      0         0 (  IDLE )
WSL            00003.04000                WSLGRP3     4000      0         0 (  IDLE )
BBL            30003.00000                AIX2           0     48      2400 (  IDLE )
simpserv2      test4                      GROUP4       401      1        50 (  IDLE )
BRIDGE         766733                     AIX2           1      0         0 (  IDLE )
simpserv2      test4                      GROUP4       402      1        50 (  IDLE )
simpserv       test3                      GROUP3       300      0         0 (  IDLE )
simpserv       test3                      GROUP3       301      0         0 (  IDLE )
simpserv       test3                      GROUP3       302      0         0 (  IDLE )

 

3. client가 AIX1 (장비 1번)에게 TOUPPER service를 request.

 

$ ./simpcl ijustwannagetatouppercaseofmyword
Returned string is: IJUSTWANNAGETATOUPPERCASEOFMYWORD

 

4. TOUPPER service를 가진 AIX2 (2번 장비)에서 psr로 서비스 수행을 확인 

=> simpserv2 어플리케이션에서 서비스가 수행된 것을 확인할 수 있다.

AIX2> psr
Prog Name      Queue Name  2ndQueue Name  Grp Name      ID RqDone Load Done Current Service
---------      ----------  ----------     --------      -- ------ --------- ---------------
simpserv2      test4                      GROUP4       400      1        50 (  IDLE )
WSL            00004.05000                WSLGRP4     5000      0         0 (  IDLE )
WSL            00003.04000                WSLGRP3     4000      0         0 (  IDLE )
BBL            30003.00000                AIX2           0     48      2400 (  IDLE )
simpserv2      test4                      GROUP4       401      2       100 (  IDLE )
BRIDGE         766733                     AIX2           1      0         0 (  IDLE )
simpserv2      test4                      GROUP4       402      1        50 (  IDLE )
simpserv       test3                      GROUP3       300      0         0 (  IDLE )
simpserv       test3                      GROUP3       301      0         0 (  IDLE )
simpserv       test3                      GROUP3       302      0         0 (  IDLE )

 

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

[Tuxedo] Bulletin Board 정보 조회  (0) 2022.10.20
[Tuxedo] 미들웨어 (MiddleWare)란?  (0) 2022.10.18
[Tuxedo] MP mode 구성  (0) 2022.10.07
[TUXEDO] tmloadrepos command  (0) 2022.10.05
[TUXEDO] TMMETADATA *SERVERS  (0) 2022.10.05

[Tuxedo] MP mode 구성

2022. 10. 7. 16:49

테스트환경 : IBM AIX 7.2 1번 장비 (Master)  / IBM AIX 7.2 2번 장비 (non-Master)

 

 

 

 

 

MP 모드 로직구상 및 구성 방법

 

MP mode로 실행시키기 위해서는 UBBCONFIG 환경파일을 수정해야한다.

 

크게 RESOURCE절과 MACHINE절 NETWORK절을 수정한다.

 

RESOURCE절 수정사항 

MASTER, OPTIONS, MODEL

 

MACHINE절 수정사항 

LMID(non-Master) 및 non-Master의 APPDIR, TUXCONFIG, TUXDIR 추가 

 

NETWORK절 수정사항 

NADDR(BRIDGE프로세스간 통신을 위해 IP:PORT 설정)

 

LMID 의 BRIDGE 프로세스에 대한 전체 네트워크 수신 주소를 지정한다. 

BRIDGE의 수신 주소는 application에 참여하는 다른 BRDIGE 프로세스에서 접속하는 수단이다.

l  머신의 브리지 프로세스에서 통신을 위한 값으로 유일하게 지정

l  머신과 응용 프로그램을 구별할 있는 유일한

 

NLSADDR(tlisten프로세스간 통신을 위해 IP:PORT 설정)

l  System/T 부팅이 되는 시점에서 사용하는 Listener 주소

l  시스템을 부팅시키기 전에 tlisten 프로세스를 동작시켜야함

- $tlisten [–d /dev/tcp(디폴트로 되어있지않으면 이렇게 bridge 해줘야한다) ] -l "NLSADDR //IP:PORT"

 

*Master와 Non-Master를 모두 설정해주어야한다.

 

 

 

 

 

이 간단한 작업을  이틀이 걸렸다.

 

 

 

MP 모드 구성 

 

1. UBBCONFIG  *RESOURCES절

 

MASTER, OPTIONS, MODEL 변경 

 

*RESOURCES
IPCKEY          242444
PERM            0600

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

 

 

2. UBBCONFIG *MACHINES절

 

MASTER, NON-MASTER 장비의 APPDIR, TUXCONFIG, TUXDIR 절대경로 설정 

*MACHINES

DEFAULT:

node1           LMID=simple2

                APPDIR="/ofm/jwchoi/sw2/tp/tuxedo12.2.2.0.0/samples/atmi/simpapp"
                TUXCONFIG="/ofm/jwchoi/sw2/tp/tuxedo12.2.2.0.0/samples/atmi/simpapp/tuxconfig"
                TUXDIR="/ofm/jwchoi/sw2/tp/tuxedo12.2.2.0.0"
                MAXWSCLIENTS=800
                SPINCOUNT=5000


node2           LMID=simple

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

 

 3. UBBCONFIG *NETWORK절 

MASTER, NON-MASTER 장비의 NADDR, NLSADDR의 IP:PORT 설정

 

BRIDGE는 각 LMID 가 네트워크에 액세스하기 위해 BRIDGE 프로세스에서 사용할 장치 이름을 지정하는 것이다.

                    l  브리지(Bridge) 프로세스에서 정보를 보내기 위해 사용하는 디바이스(Device) 나타냄

 

tlisten은 LMID 에 대해 네트워크를 서비스하는 tlisten 프로세스에서 사용할 네트워크 주소를 지정하는 것이다.

 

*각 장비 LMID의 IP를 사용하면된다.

 

*NETWORK
DEFAULT:          BRIDGE="/dev/xti/tcp"


simple2            NADDR="//211.110.82.131:9091"
                   NLSADDR="//211.110.82.131:9090"


simple             NADDR="//211.110.82.132:9091"
                   NLSADDR="//211.110.82.132:9090"

 

 

4. MP모드 실행을 위해 tlisten을 기동시켜준다. 

 

# tlisten -l //211.110.82.131:9090

 

 

5. tuxedo 기동 

 

# tmloadcf -y UBBCONFIG
# tmboot -y

 

tmboot -M : master의 DBBL, BBL 기동 

tmboot -B non-master : non-master의 BBL만 기동 

 

모두 기동하게 되면 

 

master와 non-master의 DBBL, BBL, BRIDGE가 띄워짐 (DBBL은 master만 띄워진다)

 

# 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
---------      ----------  ----------     --------      -- ------ --------- ---------------
BBL            30003.00000                simple         0      -         - ( - )
BBL            30002.00000                simple2        0      -         - ( - )
DBBL           242444                     simple2        0      0         0 (  IDLE )
BRIDGE         766732                     simple         1      -         - ( - )
BRIDGE         504588                     simple2        1      -         - ( - )

 

 

MP mode 구성 완료 

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

[Tuxedo] 미들웨어 (MiddleWare)란?  (0) 2022.10.18
[Tuxedo] MP mode 테스트  (0) 2022.10.17
[TUXEDO] tmloadrepos command  (0) 2022.10.05
[TUXEDO] TMMETADATA *SERVERS  (0) 2022.10.05
[Tuxedo] SHM 모드 DOMAIN 통신 테스트  (0) 2022.09.27

+ Recent posts