tuxedo安裝與配置入門


一 Tuxedo 是什么?

  Tuxedo是BEA公司(現已被Oracle公司收購)的一個客戶機/服務器的“中間件”產品,它在客戶機和服務器之間進行調節,以保證正確地處理事務。它用C語言技術開發的並且有很高性能。

  TUXEDO是在、Internet 這樣的分布式運算環境中開發和管理三層結構的客戶/服務器型關鍵任務應用系統的強有力工具。它具備分布式事務處理和應用通信功能,並提供完善的各種服務來建立、運行和管理關鍵任務應用系統。開發人員能夠用它建立跨多個硬件平台、數據庫和操作系統的可互操作的應用系統。 

二 Tuxedo 的主要作用是:

  *屏蔽分布式環境中各種通信協議、硬件體系結構、操作系統、數據庫和其它應用服務等方面的差異,使分布於網絡節點上的應用程序的各個單元部件之間能夠進行互操作,並協調操作的一致性和完整性,最大限度地節省系統資源,提高系統性能。

  * Tuxedo 已經廣泛地應用於金融、電信、制造業等各行各業的核心業務系統。

三 Tuxedo安裝  

3.1下載地址

http://www.oracle.com/technetwork/cn/middleware/tuxedo/downloads/index.html 

Oracle Tuxedo 11gR1 (11.1.1.3.0)

         適用於 Linux x86-6464 位)86,027,903 字節)

3.2創建用戶

[root@localhost tuxedo]# useradd tuxedo//為安裝程序創建有一個用戶

[root@localhost home]# passwd tuexdo//為創建的用戶設置密碼

[root@localhost tuxedo]# chmod 755 tuxedo111120_32_Linux_01_x86.bin   //添加權限

[root@localhost etc]# chown -R tuxedo:tuxedo tuxedo/   更改目錄所屬用戶

3.3 確認安裝成功
[tuxedo@localhost tuxedo]$ ./tuxedo111120_32_Linux_01_x86.bin  -i console 

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 CONSOLE Mode Installation...

==========================================================================

Choose Locale...

----------------

    1- English

CHOOSE LOCALE BY NUMBER: 1   // 缺省只能選擇1回車

==========================================================================

Tuxedo 11.1.1.2.0                 (created with InstallAnywhere by Macrovision)

--------------------------------------------------------------------------

==========================================================================

Introduction

------------

InstallAnywhere will guide you through the Tuxedo 11.1.1.2.0 installation.

It is strongly recommended that you quit all programs before continuing with

this installation.

Enter "next' to proceed to the next screen. Enter "back" to modify the previous

screen.

You may cancel this installation at any time by typing "quit".

WARNING: "Quitting" creates an incomplete  Tuxedo 11.1.1.2.0 installation.You

must re-install  Tuxedo 11.1.1.2.0. For more information, see "Preparing to

Install the Oracle Tuxedo System" in the  Tuxedo 11.1.1.2.0 Installation Guide.

PRESS <ENTER> TO CONTINUE:

===============================================================================

Choose Install Set

------------------

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

  ->1- Full Install

    2- Server Install

    3- Full Client Install

    4- Jolt Client Install

    5- ATMI Client Install

    6- CORBA Client Install

    7- Customize...

ENTER THE NUMBER FOR THE INSTALL SET, OR PRESS <ENTER> TO ACCEPT THE DEFAULT

   : 1  //選擇1

=========================================================================

Choose Oracle Home

------------------

    1- Create new Oracle Home

  Enter a number: 1   //選擇1 ,把服務器與客戶端都裝好

  Specify a new Oracle Home directory: /home/tuxedo  //指定安裝的目錄

=========================================================================

Choose Product Directory

------------------------

    1- Modify Current Selection (/home/tuxedo/tuxedo11gR1)

    2- Use Current Selection (/home/tuxedo/tuxedo11gR1)

Enter a number: 2  // 1修改目錄,選擇2 項,默認目錄。

Install Samples (Y/N): y  // y 回車

=========================================================================

Pre-Installation Summary

------------------------

Please Review the Following Before Continuing:

Product Name:

    Tuxedo 11.1.1.2.0

Install Folder:

    /home/tuxedo/tuxedo11gR1

Link Folder:

    /home/oracle

Disk Space Information (for Installation Target):

    Required:  209,943,511 bytes

    Available: 5,742,436,352 bytes

 

PRESS <ENTER> TO CONTINUE:  //上面羅列安裝目錄信息,這里回車即可

==========================================================================

Ready To Install

----------------

InstallAnywhere is now ready to install Tuxedo 11.1.1.2.0 onto your system at

the following location:

   /home/tuxedo/tuxedo11gR1

PRESS <ENTER> TO INSTALL:

==========================================================================

Installing...

-------------

[==================|==================|==================|==============]

 [------------------|------------------|------------------|------------------]

=========================================================================

Configure tlisten Service

-------------------------

Password:

Verify Password:

Password Accepted! Please wait...

===============================================================================

SSL Installation Choice.

------------------------

Would you like to install SSL Support?  //你想安裝的SSL支持嗎?

  ->1- Yes

    2- No

ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT:

   : 2   // 這里選擇不支持

===============================================================================

Installation Complete

---------------------

Congratulations. Tuxedo 11.1.1.2.0 has been successfully installed to:

   /home/tuxedo/tuxedo11gR1

PRESS <ENTER> TO EXIT THE INSTALLER:  // 這里回車,安裝完成

3.4 確認安裝成功

切換到tuxedo安裝目錄下,為tux.env文件添加執行權限。

[oracle@localhost tuxedo11gR1]$ chmod 755 tux.env

[oracle@localhost tuxedo11gR1]$ .  ./tux.env      注意:有兩個點

[oracle@localhost tuxedo11gR1]$  env | grep TUX

TUXDIR=/hzh/tuxedo/tuxedo11gR1

[oracle@localhost tuxedo11gR1]$ tmadmin -v 

INFO: Oracle Tuxedo , Version 11.1.1.2.0, 32-bit , Patch Level (none)

四 運行示例程序:轉換大小寫

在..../simpapp目錄下共有4個文件,分別是README simpserv.c(客戶端源程序) simpcl.c(服務器端源程序) ubbsimple(配置文件)

4.1. 設置環境變量

4.1.1 tux.env內容如下

 

TUXDIR=/home/tuxedo/tuxedo11gR1; export TUXDIR

JAVA_HOME=$TUXDIR/jre; export JAVA_HOME

JVMLIBS=$JAVA_HOME/lib/amd64/server:$JAVA_HOME/jre/bin

PATH=$TUXDIR/bin:$JAVA_HOME/bin:$PATH; export PATH

COBCPY=:$TUXDIR/cobinclude; export COBCPY

COBOPT="-C ANS85 -C ALIGN=8 -C NOIBMCOMP -C TRUNC=ANSI -C OSEXT=cbl"; export COBOPT

SHLIB_PATH=$TUXDIR/lib:$JVMLIBS:$SHLIB_PATH; export SHLIB_PATH

LIBPATH=$TUXDIR/lib:$JVMLIBS:$LIBPATH; export LIBPATH

LD_LIBRARY_PATH=$TUXDIR/lib:$JVMLIBS:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH

WEBJAVADIR=$TUXDIR/udataobj/webgui/java; export WEBJAVADIR

 

LANG=C;export LANG

APPDIR=$TUXDIR/applications/simpapp;export APPDIR

TUXCONFIG=$APPDIR/tuxconfig; export TUXCONFIG

 

執行:$. ./setenv

4.1.2 .bash_profile 內容如下

# .bash_profile

 

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

        . ~/.bashrc

fi

 

# User specific environment and startup programs

 

PATH=$PATH:$HOME/bin

 

export PATH

export TUXDIR=/home/tuxedo/tuxedo11gR1

 

TUXDIR=/home/tuxedo/tuxedo11gR1; export TUXDIR

TUXCONFIG=/home/tuxedo/tuxedo11gR1/applications/simpapp/tuxconfig; export TUXCONFIG

JAVA_HOME=$TUXDIR/jre; export JAVA_HOME

JVMLIBS=$JAVA_HOME/lib/amd64/server:$JAVA_HOME/jre/bin

 

4.2. 配置文件

除了客戶端和服務起程序以外,tuxedo還需要一個配置文件來描述一個tuxedo應用系統所包含的系統資源。修改simpapp下的ubbsimple的內容,改好后為:(注意紅色部分)

#       (c) 2003 BEA Systems, Inc. All Rights Reserved.

#ident  "@(#) samples/atmi/simpapp/ubbsimple    $Revision: 1.7 $"

#Skeleton UBBCONFIG file for the TUXEDO Simple Application.

#Replace the <bracketed> items with the appropriate values.

*RESOURCES

IPCKEY          123456

#Example:

#IPCKEY         123456

DOMAINID        simpapp

MASTER          simple

MAXACCESSERS    10

MAXSERVERS      5

MAXSERVICES     10

MODEL           SHM

LDBAL           N

*MACHINES

DEFAULT:

                APPDIR="/home/tuxedo/tuxedo11gR1/applications/simpapp"

               TUXCONFIG="/home/tuxedo/tuxedo11gR1/applications/simpapp/tuxconfig"

                TUXDIR="/home/tuxedo/tuxedo11gR1"

#Example:

#               APPDIR="/home/me/simpapp"

#               TUXCONFIG="/home/me/simpapp/tuxconfig"

#               TUXDIR="/usr/tuxedo"

#

#注意:下面的機器名用hostname 查出來的,不能帶特殊符號 

localhost               LMID=simple

#Example:

#beatux         LMID=simple

*GROUPS

GROUP1

        LMID=simple     GRPNO=1 OPENINFO=NONE

*SERVERS

DEFAULT:

                CLOPT="-A"

simpserv        SRVGRP=GROUP1 SRVID=1

*SERVICES

TOUPPER
如果沒改直接進行第3步,常有以下錯誤提示:
2.1 IPCKEY          <
                syntax error
CMDTUX_CAT:866: ERROR: tmloadcf: Severe error found. Stop syntax checking.
解決方法:對<>按照example進行修改

2.2 CMDTUX_CAT:868: ERROR: tmloadcf cannot run on a non-master node
解決方法:ubbsimple 文件中將<Machine-name>改為你的機器名,在windows下使用
echo %computername% 顯示機器名,在unix下使用 uname -n 。注意在windows 下,通過hostname 或者 %COMPUTERNAME% 查出來的機器名不論是大小寫,在ubb中設置成大寫.其實我用小寫也執行成功了。

3. 編譯與執行

3.1 生成二進制配置文件,長出現問題看2.1 2.2
      $tmloadcf -y ubbsimple
3.2 編譯客戶端程序
      $buildclient -o simpcl -f simpcl.c
3.3 編譯服務器程序
      $buildserver -o simpserv -f simpserv.c -s TOUPPER
      此處生成的可執行文件名要與ubbsimple中的相匹配
      否則,出項錯誤 Can't send request to service TOUPPER
3.4 啟動tuxedo應用系統
     $tmboot -y
3.5 運行客戶端
     $./simpcl hello
      顯示Returned string is: HELLO表示測試成功
3.6 關閉tuxedo應用
     $tmshutdown -y

五 監測運行情況

5.1進程間通信設施的狀態

[tuxedo@localhost simpapp]$ ipcs

------ Shared Memory Segments --------
key shmid owner perms bytes nattch status 
0x0001e240 557056 tuxedo 600 563004 2

------ Semaphore Arrays --------
key semid owner perms nsems 
0x0001e240 98306 tuxedo 600 3 
0x00000000 163843 tuxedo 600 31

------ Message Queues --------
key msqid owner perms used-bytes messages 
0x0001e240 32769 tuxedo 600 0 0 
0x00000000 65538 tuxedo 600 0 0

5.2 tuxedo監測

[tuxedo@localhost simpapp]$ tmadmin 
tmadmin - Copyright (c) 1996-2010 Oracle.
Portions * Copyright 1986-1997 RSA Data Security, Inc.
All Rights Reserved.
Distributed under license by Oracle.
Tuxedo is a registered trademark.

> psr
Prog Name Queue Name Grp Name ID RqDone Load Done Current Service
--------- ---------- -------- -- ------ --------- ---------------
BBL 123456 simple 0 0 0 ( IDLE )
simpserv 00001.00001 GROUP1 1 1 50 ( IDLE )

> psc
Service Name Routine Name Prog Name Grp Name ID Machine # Done Status
------------ ------------ --------- -------- -- ------- ------ ------
TOUPPER TOUPPER simpserv GROUP1 1 simple 1 AVAIL

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

>q  退出

 

5.3 tmadmin 命令解釋-

===================================================================

tmadmin 中的pq psr pclt等命令的中文解釋。

主要有以下兩個管理工具:

² 使用圖形界面的圖形管理接口(Graphical Administration Interface―GAI)

² tmadmin

通常管理工作有以下3類:

² 監視運行系統

一般監視以下信息:應用、服務、客戶端、交易、隊列、組、會話、網絡等。

² 動態修改服務或交易參數

使用GAI 或tmadmin可以動態進行以下調整:

――交易可以掛起、恢復、發布和取消

――交易參數可以修改,如:LOAD和PRIORITY

――指定交易的超時時間

――交易口令

² 進行啟動,關閉,移動服務等管理員的任務

服務信息

來自GAI的信息本處略去。

以下是tmadmin命令的printserver(簡寫為psr)的簡單輸出。

列號 描述

1. 服務的可執行文件名

2. 服務連接的隊列名

3. 組名

4. 服務的數字id

5. 服務已經處理的請求數

6. 服務處理的全部請求的參數和

服務正在處理的交易,若為IDLE則服務當前是空閑

ccsmis:/home2/ccsmis>tmadmin

tmadmin - Copyright (c) 1996 BEA Systems, Inc.

Portions * Copyright 1986-1997 RSA Data Security, Inc.

All Rights Reserved.

Distributed under license by BEA Systems, Inc.

Tuxedo is a registered trademark.

 

> printserver

Prog Name      Queue Name  Grp Name      ID RqDone Load Done Current Service

---------      ----------  --------      -- ------ --------- ---------------

rz_Ecsb        00004.04000 APGP2       4000      0         0 (  IDLE )

BBL            70020       simple         0      1        50 (  IDLE )

IFMTMS         APGP2_TMS   APGP2      30001      1        50 (  IDLE )

ftpserv32      00002.00001 FTPGP          1     60      3000 (  IDLE )

WSL            00001.00001 SYSGP          1      0         0 (  IDLE )

IFMTMS         APGP2_TMS   APGP2      30002     12       600 (  IDLE )

ftpserv32      00002.00002 FTPGP          2      0         0 (  IDLE )

IFMTMS         APGP2_TMS   APGP2      30003     11       550 (  IDLE )

CCS_QUANBIA_60 00004.06004 APGP2       6004      0         0 (  IDLE )

CCS_SCBB_4099  00004.04099 APGP2       4099      2       100 (  IDLE )

CCS_GEKEZI_300 00004.03000 APGP2       3000      0         0 (  IDLE )

交易信息

來自GAI的信息本處略去。

以下是tmadmin命令的printservice(簡寫為psc)的簡單輸出。

列號 描述

1. 交易名

2. 交易函數名

3. 服務可執行文件名

4. 服務所在組名

5. 服務的數字id

6. 提供交易的機器的LMID

7. 交易已經執行的次數

8. 交易當前狀態

Service Name Routine Name Prog Name  Grp Name  ID    Machine  # Done Status

------------ ------------ ---------  --------  --    -------  ------ ------

416701       rz_Ecsb      rz_Ecsb    APGP2   4000     simple       0 AVAIL

416601       rz_Ecsb      rz_Ecsb    APGP2   4000     simple       0 AVAIL

416501       rz_Ecsb      rz_Ecsb    APGP2   4000     simple       0 AVAIL

416401       rz_Ecsb      rz_Ecsb    APGP2   4000     simple       0 AVAIL

416201       rz_Ecsb      rz_Ecsb    APGP2   4000     simple       0 AVAIL

416301       rz_Ecsb      rz_Ecsb    APGP2   4000     simple       0 AVAIL

416101       rz_Ecsb      rz_Ecsb    APGP2   4000     simple       0 AVAIL

416001       rz_Ecsb      rz_Ecsb    APGP2   4000     simple       0 AVAIL

415901       rz_Ecsb      rz_Ecsb    APGP2   4000     simple       0 AVAIL

:

 

隊列信息

以下是tmadmin命令的printqueue(簡寫為pq)[qaddress]的簡單輸出。如果不指定address,所有隊列信息將被輸出。

列號 描述

1. 隊列連接的服務的可執行文件名

2. 字符隊列名,是RQADDR參數或一個隨機值

3. 連接的服務數

4. 當前隊列的所有請求的參數和

5. 實際請求數

6. 平均隊列長度

7. 隊列所在機器的LMID

> pq 00004.05062

1Prog Name      2Queue Name  # 3Serve Wk Queued  # Queued  Ave. Len    7Machine

---------      ------------------- ---------  --------  --------    -------

CCS_GEDAIPC_50 00004.05062       1         0         0       0.0     simple

 

客戶端信息

來自GAI的信息本處略去。

以下是tmadmin命令的printclient(簡寫為pclt)的輸出,來自TUXEDO系統的日志信息。主要有以下信息:

客戶端id,用戶名和當前狀態

登錄的LMID和進程號(PID)

服務組和上一訪問過的服務組

交易(啟動/提交/中斷)和會話的統計數字

中繼隊列id,通知方法和提交控制

列號 描述

1. 已經登錄的客戶端機器的LMID

2. 用戶名,由tpinit()提供的

3. 客戶端名,由tpinit()提供的

4. 客戶端連接后經過的時間

5. 客戶端狀態

6. IDLE――表示客戶端目前沒有任何交易在工作

7. IDLET――表示客戶端啟動了一個交易

8. BUSY――表示客戶端在工作中

9. BUSYT――表示客戶端正在交易控制下工作

10. 啟動/提交/中斷的交易數

> pclt

     LMID         User Name       Client Name    Time    Status  Bgn/Cmmt/Abrt

--------------- --------------- --------------- -------- ------- -------------

simple          ccsmis          WSH             17:42:47 IDLE    0/0/0

simple          ccsmis          tmadmin          0:44:28 IDLE    0/0/0

 

用tmadmin寫腳本

輸出所有服務/交易/隊列信息

$tmadmin 2>&1<<!

echo

verbose

psr

psc

pq

!

掛起bankapp內所有AUDIT交易

(tmadmin 2>&1 <<!

pq

!

) |

awk ‘BEGIN { print "tmadmin <<! \necho"}

{if ( $1 == "AUDIT") print "susp ?q" , $2, "-S $1"}

END {print "q\n!"}' |

/bin/sh

 

輔助類命令:

help 命令名 顯示該操作命令的幫助

berbose 要不要顯示更詳細的信息

page 要不要分頁顯示

查詢類命令

psr:命令會顯示該系統所有的server的信息

psc:命令會顯示該系統所有的service的信息

pq:命令會顯示該系統的隊列情況

pclt:當前連接到該tuxedo應用系統的客戶端的狀態

動態修改配置:

suspend:可以把某個group、server的service掛起

resume:可以把已掛起的某個group、server的service重新投入可用。

adv:可以發布某個service

unadv:取消某個service的發布

changeload:可以修改某個service的負載因子

changepriority:可以修改某個service的優先級

管理類命令:

bbclean:當bbl進行定時檢測時,它會自動把死掉的service進程所占用的資源釋放

pclean:清空某台服務器上的資源

broadcast:向某用戶或者某類用戶發消息

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM