zoukankan      html  css  js  c++  java
  • 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-64(64 位)(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 <<! echo"}

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

    END {print "q !"}' |

    /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:向某用户或者某类用户发消息
    ————————————————
    版权声明:本文为CSDN博主「liuxk0925」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/ljllxk001/article/details/82224632

  • 相关阅读:
    OO开发
    重构:Extract Method (提炼函数)
    Vue 一个组件引用另一个组件
    闭包
    视差滚动原理与实现
    JS中的constructor 和 prototype
    jQuery 为动态添加的元素绑定事件
    setTimeout 的理解
    关于Vertical Align的理解
    网页特效:滚动视差设计指南
  • 原文地址:https://www.cnblogs.com/tdskee/p/11804385.html
Copyright © 2011-2022 走看看