Tuxedo性能调优经验谈
Tuxedo 9.0 for AIX与Oracle 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/bea为tuxedo的安装目录, $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数据库 1、ORACLE的的配置 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_ORA10g,TUXEDO通过TMS_ORA10g与ORACLE数据库采用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 注意OPENINFO中P/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.用ORACLE的PROC把test.pc 文件预编译成test.c文件 $ proc test.pc include=$TUXDIR\include 2.用buildserver把test.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文件,记录失败的原因,同时TUXEDO的ULOG文件中也会有一些错误信息。可参考这些错误信息进行错误分析。 $ 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系统出错记录;检查有无服务异常错误记录;检查有无服务被重起记录;对发现的异常记录进行分析;若无异常情况清除无用的历史日志。
1.日志检查清理。
检查Tuxedo日志,用vi命令查看日志文件内容,检查有无Tuxedo系统出错记录;检查有无服务异常错误记录;检查有无服务被重起记录;对发现的异常记录进行分析;若无异常情况清除无用的历史日志。
2.服务器运行情况。
检查Tuxedo系统和应用的服务器的运行情况,用"ps -e|f|grep server名"查看进程相关信息,如运行时间、占用内存大小等;用tmadmin命令检查看服务器运行情况,执行psr监控服务器运行情况,查看处理的请求数目、忙闲程度。
检查Tuxedo系统和应用的服务器的运行情况,用"ps -e|f|grep server名"查看进程相关信息,如运行时间、占用内存大小等;用tmadmin命令检查看服务器运行情况,执行psr监控服务器运行情况,查看处理的请求数目、忙闲程度。
3.service运行情况。
检查service运行情况,用tmadmin命令中的psc命令查看Tuxed各service的运行情况和处理的交易数。
检查service运行情况,用tmadmin命令中的psc命令查看Tuxed各service的运行情况和处理的交易数。
4.队列使用情况。
检查tuxedo队列的使用情况,用tmadmin命令中的pq命令查看tuxedo各server队列的使用情况,主要查看交易高峰期队列中消息的增加情况,确定是否存在阻塞现象,是否需要对服务数进行调整。
5.客户机连接情况(PCLT)。
检查tuxedoClient的连接情况,用tmadmin命令中的PCLT命令查看tuxedo各客户机的连接情况,检查Max Client参数是否足够,Licence数是否满足并发要求。
6.配置参数配置。
检查tuxedo ubbconfig文件和dmconfig文件,根据以上各项检查结果,查看tuxedo配置文件是否需要调整优化,以使中间件平台良好运行,保存配置文件并归档备案。
7.系统核心参数配置。检查操作系统核心参数配置是否满足目前应用系统规模要求,是否需要调整,根据具体使用的操作系统提供的命令查看核心参数。
8.Tuxedo启动命令
tmboot -y
9.停止命令
检查tuxedo队列的使用情况,用tmadmin命令中的pq命令查看tuxedo各server队列的使用情况,主要查看交易高峰期队列中消息的增加情况,确定是否存在阻塞现象,是否需要对服务数进行调整。
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,必须先正确设定环境变量TUXDIR,PATH,LD_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
参数解释如下:
-
10.tmadmin
使用tmadmin命令解释器来检测一个应用程序,并作一些动态的改变,要运行该命令,你必须设置TUXCONFIG环境变量。
11.Tuxedo 服务器端编译命令
当C语言的交易程序编码完后,需要连接正确的库并编译。使用buildserver可以使该过程容易一点。该命令引用了C语言编译器并按正确的次序连接TUXEDO系统的库,连接TUXEDO生成的main()等。buildserver还用-s参数产生合适的交易名/函数名映射表。要使用buildserver,必须先正确设定环境变量TUXDIR,PATH,LD_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
参数解释如下:
-
o 生成的可执行文件名
-f 需要在连接TUXEDO库之前传给编译器的文件名。如有多于一个的文件名,名字应用空格分隔并用引号引起。也可以使用多个-f参数。
-l 需要在连接TUXEDO库之前传给编译器的文件名。语法同上。
-v 编译过程显示。
-b 指定SHM或MP模式。如无此项,两种模式都包括;使用此项可以使生成的可执行文件小一点
-r 连接此处指出的RM库。该RM的名字必须含在$TUXDIR/udataobj/RM文件中。
-f 需要在连接TUXEDO库之前传给编译器的文件名。如有多于一个的文件名,名字应用空格分隔并用引号引起。也可以使用多个-f参数。
-l 需要在连接TUXEDO库之前传给编译器的文件名。语法同上。
-v 编译过程显示。
-b 指定SHM或MP模式。如无此项,两种模式都包括;使用此项可以使生成的可执行文件小一点
-r 连接此处指出的RM库。该RM的名字必须含在$TUXDIR/udataobj/RM文件中。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论