Tuxedo性能调优经验谈
Tuxedo 9.0 for AIXOracle 10 XA连接
网友:chinakkee 发布于: 2006.11.13 09:54 (共有条评论) 查看评论 | 我要评论
 
系统说明
TUXEDO版本:9.0 安装目录 /opt/bea/tuxedo9.0
ORACLE版本:10.2.0.1 安装目录 /u01/app/oracle
一、Tuxedo 9 for AIX的安装
1、创建一个用户为Tuxedo,用户组为bea
2、创建/opt/beatuxedo的安装目录,
$mkdir /opt/bea
$chown tuxedo.bea /opt/bea
$chmod 770 /opt/bea
#bootinfo -k
  64
$ sh tuxedo9_aix53_64.bin -i console
Preparing
WARNING: /tmp does not have enough disk space!
         Attempting to use /home/tuxedo for install base and tmp dir.
Extracting the JRE from the
Unpacking
Extracting the installation resources from the
Configuring the installer for this system'

Preparing CONSOLE
===============================================================================

----------------
  ->1- English
CHOOSE LOCALE BY NUMBER: 1
===============================================================================
                                       (created with InstallAnywhere by Zero G)
-------------------------------------------------------------------------------

===============================================================================
Introduction
------------
BEA End User Clickwrap 001205
Copyright (c) BEA Systems, Inc.
All Rights Reserved.


DO YOU ACCEPT THE TERMS OF THIS LICENSE AGREEMENT? (Y/N): y

===============================================================================
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
   
ENTER THE NUMBER FOR THE INSTALL SET, OR PRESS  TO ACCEPT THE DEFAULT
   : 1

===============================================================================
Choose BEA Home
---------------
    1- Create new BEA Home
    2- Use existing BEA Home
Enter a number: 2
    1- /opt/bea
Existing BEA Home directory: 1

===============================================================================
Choose Product Directory
------------------------
    1- Modify Current Selection (/opt/bea/tuxedo9.0)
    2- Use Current Selection (/opt/bea/tuxedo9.0)
Enter a number: 2

===============================================================================
Pre-Installation Summary
------------------------
Please Review the Following Before Continuing:
Product Name:
    Tuxedo 9.0
Install Folder:
    /opt/bea/tuxedo9.0
Link Folder:
    /home/tuxedo
Disk Space Information (for Installation Target):
    Required:  386,803,702 bytes
    Available: 2,625,392,640 bytes
PRESS  TO CONTINUE:

===============================================================================
Ready To Install
----------------
InstallAnywhere is now ready to install Tuxedo 9.0 onto your system at the
following location:
   /opt/bea/tuxedo9.0
PRESS  TO INSTALL:

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

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

===============================================================================
Configure tlisten Service
-------------------------
Password: tuxedo
Verify Password: tuxedo
Password Accepted! Press "Enter" to continue.

===============================================================================
SSL Installation Choice.
------------------------
Would you like to install SSL Support?
  ->1- Yes
    2- No
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS  TO ACCEPT THE DEFAULT:
   : 2

===============================================================================
License Installation Choice
---------------------------
Would you like to install your license now?
  ->1- Yes
    2- No
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS  TO ACCEPT THE DEFAULT:
   : 2

===============================================================================
Installation Complete
---------------------
Congratulations. Tuxedo 9.0 has been successfully installed to:
   /opt/bea/tuxedo9.0
PRESS  TO EXIT THE INSTALLER:
安装完毕,需要把license文件重命名为 copy$TUXDIR/udataobj/
二、TUxedo 9 连接 Oracle 10g配置
前提是在Tuxedo 9 上安装Oracle 10g client还有安装C编译器(不一定要用Visual Age C/C++ 7,这里我用的是pro c),设置Tuxedo用户能够通过sqlplus连接oracle数据库


1ORACLE的的配置
sqlplus
[email=system@testcrm]system@testcrm[/email]
SQL> @$ORACLE_HOME\rdbms\admin\xaview.sql
SQL>grant select on v$xatrans$ to public with grant option;
SQL>grant select on v$pending_xatrans$ to public with grant option;
SQL>grant select EMP to Scott
SQL>GRANT SELECT ON DBA_PENDING_TRANSACTIONS TO Scott;
注:scott默认为lock,需要用alter user scott account unlock,解锁。

2、设置Tuxedo用户的.profile文件
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:.TH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin
/X11:/sbin:.
TUXDIR=/opt/bea/tuxedo9.0
APPDIR=/opt/bea/tuxedo9.0/test

TUXCONFIG=$APPDIR/tuxconfig

CCOMP=/usr/vac/bin
PATH=$PATH:$TUXDIR/bin:$CCOMP
:$ORACLE_HOME/bin
export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/client_1
export ORACLE_SID=ORCL
export ORACLE_TERM=vt100
export NLS_LANG="AMERICAN_America.ZHS16GBK"
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/network/lib:/usr/lib:$ORACLE_HOME/lib:$TUXDIR/lib
export PATH APPDIR TUXDIR TUXCONFIG CCOMP
if [ -s "$MAIL" ]           # This is at Shell startup.  In normal
then echo "$MAILMSG"        # operation, the Shell checks
fi 

3、修改$TUXDIR\udataobj目录下的RM文件
把以Oracle_XA:xaosw:开头的一行用#注释掉,并加入一行:
Oracle_XA:xaosw:-L${ORACLE_HOME}/lib ${ORACLE_HOME}/precomp/lib/cobsqlintf.o -lclntsh
注意空格
3、在TUXEDO用户下创建TMS文件:TMS_ORA10gTUXEDO通过TMS_ORA10gORACLE数据库采用XA协议进行通讯
buildtms -o $TUXAPP/TMS_ORA10g -r Oracle_XA

4、配置 UBBCONFIG
#ghts Reserved.
#ident  "@(#) samples/atmi/simpapp/ubbsimple    $Revision: 1.5 $"
#Skeleton UBBCONFIG file for the TUXEDO Simple Application.
#Replace the  items with the appropriate values.
*RESOURCES
IPCKEY          32770
#DOMAINID      simpapp
MASTER          simple
MAXACCESSERS    100
MAXSERVERS      50
MAXSERVICES     100
MODEL           SHM
LDBAL           N
*MACHINES
"Server" LMID=simple
APPDIR="/opt/bea/tuxedo9.0/test"
TUXCONFIG="/opt/bea/tuxedo9.0/test/tuxconfig"
TUXDIR="/opt/bea/tuxedo9.0"
TLOGDEVICE = "/opt/bea/tuxedo9.0/test/TLOG"
TLOGNAME=TLOG
TLOGSIZE=100
*GROUPS
GROUP1 LMID=simple GRPNO=1 OPENINFO="ORACLE_XA:Oracle_XA+Acc=P/scott/scott+sqlNet=ORCL+SesTm=100+LogDir=.+MaxCur=5"
TMSNAME="TMS_ORA10g" TMSCOUNT=2
*SERVERS
DEFAULT:
                CLOPT="-A"
test SRVGRP=GROUP1 SRVID=1
*SERVICES
注意OPENINFOP/scott/scott+sqlNet=ORCL需要根据实际情况自定义,还有机器名“server”,必须与uname -n显示的机器名一致
使用
$tmloadcf -y ubbsimple 生产TUXCONFIG文件


5、用TMADMIN创建TLOG文件,TUXEDO用一个文件TLOG记录对数据库操作的日志。用于协调分布式数据库的提交与回滚。
$tmadmin
>crdl -b 500 -z $TUXAPP/TLOG
>crlog -m simple
>q


6、重命名下列文件,因为下列文件名与ORACLE带的文件名有冲突
TUXEDO安装路径$TUXDIR/include目录下的下面文件
sqlca.h 改名为 sqlca.h.bak
sqlcode.h 改名为 sqlcode.h.bak
sqlda.h 改名为 sqlda.h.bak


7、服务端的程序:test.pc,功能:根据客户端传的EMPNO到表EMP中取ENAME的值,并把它返回给客户端
    编写客户端程序: testcli.c 功能:调用TUXEDO服务端的服务TEST,取EMPNO=7900所对应的ENAME的值,并显示出来
这里为没有写代码,因为我发现我到网搜索的测试代码都没法通过。
五、编译服务端程序
1.ORACLEPROCtest.pc 文件预编译成test.c文件
$ proc test.pc include=$TUXDIR\include
2.buildservertest.c编译成可执行文件,注意-r 后带的Oracle_XA RM文件中的一致。
$ buildserver -o test -f test.c -r Oracle_XA -s TEST
编译客户端程序
$ buildclient -o testcli -f testcli.c

8、用 tmboot –y 启动TUXEDO
应能看到所有的SERVER都启动成功。这时,我们的服务端程序test 会自动与ORACLE数据库建立连接,并一直保持这个连接,
直到TUXEDO系统或ORACLE数据库关闭。所以在我们的程序test.pc中看不到与数据库连接的语句,因为现在与数据库的连接由TUXEDO自动管理。
如果TMS_ORA10g启动失败会在当前目录生成一个*.trc文件,记录失败的原因,同时TUXEDOULOG文件中也会有一些错误信息。可参考这些错误信息进行错误分析。
$ tmboot -y
Booting all admin and server processes in /opt/bea/tuxedo9.0/test/tuxconfig
INFO: BEA Tuxedo, Version 9.0, 64-bit, Patch Level 002
INFO: Serial #: 454493271161-2143645176821, Expiration NONE, Maxusers 5
INFO: Licensed to: Shenzhen Edensoft Information
Booting admin processes ...
exec BBL -A :
        process id=409822 ... Started.
Booting server processes ...
exec TMS_ORA10g -A :
        process id=282686 ... Started.
exec TMS_ORA10g -A :
        process id=401624 ... Started.
exec test -A :
        process id=397522 ... Started.
4 processes started.
9、运行客户端程序
运行后应能看到服务端返回的结果。
$ testcli
如果编写的程序没有问题,就能返回值
Tuxedo命令说明
unix&Linux 2007-07-26 17:14:10 阅读436 评论0   安装oracle10g字号: 订阅
Tuxedo命令说明
1.日志检查清理。
  检查Tuxedo日志,用vi命令查看日志文件内容,检查有无Tuxedo系统出错记录;检查有无服务异常错误记录;检查有无服务被重起记录;对发现的异常记录进行分析;若无异常情况清除无用的历史日志。
2.服务器运行情况。
  检查Tuxedo系统和应用的服务器的运行情况,用"ps -e|f|grep server"查看进程相关信息,如运行时间、占用内存大小等;用tmadmin命令检查看服务器运行情况,执行psr监控服务器运行情况,查看处理的请求数目、忙闲程度。
3.service运行情况。
  检查service运行情况,用tmadmin命令中的psc命令查看Tuxedservice的运行情况和处理的交易数。
4.队列使用情况。
  检查tuxedo队列的使用情况,用tmadmin命令中的pq命令查看tuxedoserver队列的使用情况,主要查看交易高峰期队列中消息的增加情况,确定是否存在阻塞现象,是否需要对服务数进行调整。
5.客户机连接情况(PCLT)
  检查tuxedoClient的连接情况,用tmadmin命令中的PCLT命令查看tuxedo各客户机的连接情况,检查Max Client参数是否足够,Licence数是否满足并发要求。
6.配置参数配置。
  检查tuxedo ubbconfig文件和dmconfig文件,根据以上各项检查结果,查看tuxedo配置文件是否需要调整优化,以使中间件平台良好运行,保存配置文件并归档备案。
7.系统核心参数配置。检查操作系统核心参数配置是否满足目前应用系统规模要求,是否需要调整,根据具体使用的操作系统提供的命令查看核心参数。
8.Tuxedo启动命令
  tmboot -y
9.停止命令
  tmshutdown -y
10.tmadmin
  使用tmadmin命令解释器来检测一个应用程序,并作一些动态的改变,要运行该命令,你必须设置TUXCONFIG环境变量。
11.Tuxedo 服务器端编译命令
    C语言的交易程序编码完后,需要连接正确的库并编译。使用buildserver可以使该过程容易一点。该命令引用了C语言编译器并按正确的次序连接TUXEDO系统的库,连接TUXEDO生成的main()等。buildserver还用-s参数产生合适的交易名/函数名映射表。要使用buildserver,必须先正确设定环境变量TUXDIRPATHLD_LIBRARY_PATH。命令语法如下:
buildserver [-v] [–o executable] [-s service2,service3:func] [-f source/object] [-l object/library file]
例:
buildserver –s DEPOSIT –o TLR –f TLR.o –f appinit.o 
 参数解释如下:
-
生成的可执行文件名
-f 需要在连接TUXEDO库之前传给编译器的文件名。如有多于一个的文件名,名字应用空格分隔并用引号引起。也可以使用多个-f参数。
-l 需要在连接TUXEDO库之前传给编译器的文件名。语法同上。
-v 编译过程显示。
-b 指定SHMMP模式。如无此项,两种模式都包括;使用此项可以使生成的可执行文件小一点
-r 连接此处指出的RM库。该RM的名字必须含在$TUXDIR/udataobj/RM文件中。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。