tuxedocommand.docx

上传人:b****6 文档编号:4367091 上传时间:2022-12-01 格式:DOCX 页数:14 大小:28.55KB
下载 相关 举报
tuxedocommand.docx_第1页
第1页 / 共14页
tuxedocommand.docx_第2页
第2页 / 共14页
tuxedocommand.docx_第3页
第3页 / 共14页
tuxedocommand.docx_第4页
第4页 / 共14页
tuxedocommand.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

tuxedocommand.docx

《tuxedocommand.docx》由会员分享,可在线阅读,更多相关《tuxedocommand.docx(14页珍藏版)》请在冰豆网上搜索。

tuxedocommand.docx

tuxedocommand

一、Tuxedo基本命令2

二、UBB文件配置说明3

三、数据库XA设置7

3.1 ORACLE XA7

3.2 SYBASE XA8

3.3 INFORMIX XA8

四、Tuxedo多机方式配置要点9

4.1启动tlisten9

4.2 ubb文件配置9

4.3管理11

五、用JOLT连接Tuxedo和Weblogic11

5.1在Tuxedo上安装、配置JOLT Server11

5.2 配置Weblogic Server 6.x12

5.3 Example setup13

六、TUXEDO动态配置13

6.1 用tmadmin修改配置13

6.2  用tmconfig更改TUXCONFIG(UBBCONFIG)14

一、Tuxedo基本命令

#1.设置环境变量TUXDIR,APPDIR,TUXCONFIG,LANG(跟OS相关),LD_LIBRARY_PATH(跟OS相关)

#2.编译ubb文本生成二进制配置文件:

tmloadcf –y ubbconfig

#3.所有机器上运行tlisten,具体见文档中NETWORK一节

#4.启动tmboot –y

#5.关闭tmshutdown –y

参数:

-A在所有机器上启动/关闭管理的Server进程

-M只在MASTER机器上启动/关闭管理的Server进程

-isrvid  启动/关闭某个server id指定的Server进程

-ggrpname启动/关闭某个server group名字指定的Server Group

-S启动/关闭所有应用服务器(LMID)

-sserver-name 启动/关闭某个server名字指定的Server进程

-llmid option 在指定的机器上启动/关闭所有TMS进程和应用服务器(LMID)

-Tgrpname 启动/关闭指定的server group中所有的TMS进程

-Blmid 在指定的机器上启动/关闭BBL进程

-ecommand 指定一个程序可以当在MASTER机器上启动任何一个进程失败时执行

-c计算出当前UBB配置的Tuxedo启动最少要占用的系统IPC资源

#用tmunloadcf > generated.ubb 可以得出目前配置得UBB文件所有得参数值(没有设置的有缺省值)

#用tmloadcf –c或tmboot –c可以计算出当前UBB配置的Tuxedo启动最少要占用的系统IPC资源。

二、UBB文件配置说明

UBB配置文件分成*RESOURCES,*GROUP,*SERVER,*SERVICE,*NETWORK等若干节。

DEFAULT表示该节中所有对象共有的缺省属性。

*RESOURCES

#RESOUCES节提供整个系统的基本参数。

IPCKEY55555 (32767-262143)

#进行IPC通讯的key值

DOMAINIDunicom  

#DOMAIN的ID值

MASTERunicom1,unicom2

#指定DOMAIN中的管理主机为unicom1,运行过程中unicom1若出现问题,管理主机切换至unicom2

MAXACCESSERS  1000

#这里该值表示整个系统中单个机器上可以访问TUXEDO的最多的Client和Server的总数(可以访问 BBL的最大进程数),应大于license用户数+server数(副本应记入)。

该字段会被MACHINE部分的MAXACCESSERS覆盖。

#系统核心参数中SEMAPHORE的数目(SEMMNS)要大于这里的MAXACCESSERS数目,而ipc消息个数(MSGMAX)应大于MAXACCESSERS数+所有带REPLYQ的SERVER的个数。

MAXSERVERS80  

#最大的server数(副本应记入)

MAXSERVICES200

#最大的service数(多个server重复记入)

MAXGTT20

#系统最多的并发的全局交易数目

MODELMP  

#表示cluster方式,否则为SHM

OPTIONSLAN,MIGRATE  

#多机cluster方式时必须指定为LAN方式,MIGRATE表示可以以组为单位进行机器间SERVER的迁移。

LDBALY  

#允许负载均衡

SCANUNIT10

#SCANUNIT 是BBL在所有服务请求中定期扫描以寻找超时的交易和被阻塞德调用和德间隔时间(秒)。

这个参数指定BBL扫描间隔时间的基本单位,它会影响在tpbegin中指定的交易超时时间和用BLOCKTIME指定的请求阻塞超时时间的精确程度。

SANITYSCAN, BBLQUERY, DBBLWAIT, BLOCKTIME等参数都是SCANUNIT的倍数,而不是实际秒数。

而作为时间单位SCANUNIT必须是5的倍数,并且满足0

SANITYSCAN12

#SANITYSCAN的值指定在每个MACHINE上BBL自动检测所有进程的时间间隔,以SCANUNIT为单元。

缺省值满足(SCANUNIT*SANITYSCAN)约为120秒。

DBBLWAIT 2

#DBBLWAIT的值指定DBBL扫描BBL时等待所有BBL应答的最大时间,以SCANUNIT为单元,即超过DBBLWAIT*SCANUNIT(秒)就超时。

每一次DBBL将请求转发给它的BBL时,BBL会在请求返回结果之前先回复一个肯定的应答。

这样可以定时检测死掉或不正常的BBL。

缺省值满足(SCANUNIT*DBBLWAIT)的值等于SCANUNIT和20秒两者之间的最大者。

BBLQUERY30

#BBLQUERY指定DBBL对所有BBL进行状态检查的时间间隔,它也是以SCANUNIT为计算单位。

如果DBBL的状态询问没有回答,该BBL就被‘隔离’了。

缺省值满足(SCANUNIT * BBLQUERY) 约为 300秒。

BLOCKTIME6

#BLOCKTIME指定在阻塞队列中的被阻塞请求的超时时间(包括客户端从tpinit到tpterm的等待时间),以SCANUNIT为计算单位。

缺省值满足(SCANUNIT * BLOCKTIME) 约为60秒。

*MACHINES

DEFAULT:

#该部分对各主机进行描述。

unicom2LMID=unicom2

APPDIR="/usr/tuxedo/apps/simpapp"

TUXCONFIG="/usr/tuxedo/apps/simpapp/tuxconfig"

TUXDIR="/usr/tuxedo"

UID=17

GID=26

MAXACCESSERS=100

unicom1LMID=unicom1

APPDIR="/usr/tuxedo/apps/simpapp"

TUXCONFIG="/usr/tuxedo/apps/simpapp/tuxconfig"

TUXDIR="/usr/tuxedo"

UID=17

GID=26

MAXWSCLIENTS=50

#unicom2, unicom1为网络主机名用hostname获得。

#LMID:

Logical Machines ID 为tuxedo对主机的内部逻辑命名。

#APPDIR要求放置SERVER的可执行文件。

#TUXCONFIG为全路径的二进制配置文件,要求和环境变量TUXCONFIG相同。

对于master机tuxconfig文件是由tmloadcf生成的,而非master机则是由tmboot启动后由tlisten从master机上拷贝获得。

#TUXDIR为tuxedo安装目录,要求和环境变量TUXDIR相同。

#MAXWSCLIENTS表示可连接client的最大个数。

*GROUPS

#GROUP1为组名,LMID表示该组运行的主机,GRPNO为组号,OPENINFO为该组通过XA打开RM(通常指数据库)的初始串。

GROUP1 LMID=unicom2GRPNO=1 OPENINFO=NONE

GROUP2  LMID=unicom3GRPNO=2 OPENINFO=NONE

*SERVERS

#这里描述应用服务器。

SRVGRP的该SERVER所属组名,SRVID为服务器ID号,MIN表示该服务器CLOPT提供运行的相关参数,要求是”-A -- ….”,可以在应用服务器的srvinit函数中获得这些参数。

DEFAULT:

CLOPT="-A"

BillServer SRVGRP=GROUP1 SRVID=1 MIN=2 MAX=4

RQADDR=QNAME REPLYQ=Y

CLOPT="-A -o ./out.log –r -e ./err.log --

-p [L][low_water][,[terminate_time]][:

[high_water][,create_time]]

如果MAX>1,并且使用了MSSQ(RQADDR, RQPERM)的Server可以配置-p来控制进程的增加和减少。

控制算法如下:

如果请求队列中的请求个数大于high_water 后超过create_time 秒,就增加该服务的一个新进程;如果请求队列中的请求个数小于low_water 后超过terminate_time 秒, 就停止该服务的一个进程。

low_water 缺省是平均每个服务进程有一个请求消息或者workload 50;high_water 缺省是平均每个服务进程有两个请求消息或者workload 100。

create_time 缺省最小是50秒, and terminate_time 缺省最小是60秒。

注意:

使用TUXEDO的服务进程池时,用户自己在程序中如果用alarm()等系统调用来停止进程是不起作用的,但也不会报错。

   [L] 标记意味着增减服务进程基于负载而不是请求队列的长度。

仅用于SHM模式下并且LDBAL=Y,否则会报错 (LIBTUX_CAT:

1542) ,服务进程也不会增减。

WSLSRVGRP=GROUP2 SRVID=1

CLOPT="-A -- -n //130.36.0.103:

8889 -m 3 -M 10 -x 10 -T 10"

#WSL用于和client端进行连接。

-n 表示出接入点为IP:

PORT方式,-m –M 表示最小和最大启动多少个WSH和前端通讯,-x则表示一个WSH和几个client端连接。

-T 10表示如果client端和server连接后10分钟内没有交易请求则关闭连接。

*SERVICES

#不要求将所有的service在这里描述,当某个service有特别参数时才在SERVICE节中说明。

TOUPPER

LOAD=60  // 负载,当LDBAL=Y时有用

PRIO=80// 服务在请求队列中的优先级

TRANSTIME=120 // 交易时间

SVCTIMEOUT=600// 服务超时时间

*NETWORK

#NETWORK节对多机之间如何进行网络连接进行描述。

#cluster方式下要求先启动tlisten。

事实上,对于非master机启动应用服务器是由tlisten完成的。

#tlisten的启动方式为

#unicom1:

 tlisten –l //130.36.1.101:

8891

#unicom2:

 tlisten –l //130.36.0.102:

8891

#NADDR指定网络连接的接入点。

#NLSADDR则指定tlisten的接入点。

#BRIDGE则指TCP连接所用的设备文件。

unicom2    

NADDR="//130.36.0.102:

8899"

NLSADDR="//130.36.0.102:

8891"

BRIDGE="/dev/streams/xtiso/tcp"

unicom1

NADDR="//130.36.0.101:

8899"

NLSADDR="//130.36.0.101:

8891"

BRIDGE="/dev/streams/xtiso/tcp"

分类总结

TypeParameters requiring tuning

IdentificationTUXCONFIG, UID, GID, IPCKEY, DOMAINID

ThresholdsMAXACCESSERS, MAXSERVERS, MAXSERVICES, MAXGTT, MAXCONV, MAXBUFSTYPE, MAXWSCLIENTS

Time-outsSCANUNIT, SANITYSCAN, DBBLWAIT, BBLQUERY, BLOCKTIME

AvailabilityMASTER, MIGRATE, RESTART, GRACE, MAXGEN, RCMD

MachineTYPE, CMPLIMIT, NETLOAD, SPINCOUNT, TLOGDEVICE, PERM

NetworkNADDR, NLSADDR

ServersCLOPT, ENVFILE

ServicesLOAD, PRIO, BUFTYPE, SVCTIMEOUT

WorkstationsWSNADDR, WSRPLYMAX

三、数据库XA设置

3.1 ORACLE XA

1.在附件中提供了rm文件,另外建议运行oracle的demo文件获得要连接的所有lib库的名称.然后将这些名称全部写在RM文件中.

如:

 #Oracle 8i for NT

Oracle_XA;xaosw;%ORACLE_HOME%\RDBMS\XA\ORAXA8.LIB %ORACLE_HOME%\PRECOMP\LIB\MSVC\ORASQL8.LIB %ORACLE_HOME%\PRECOMP\LIB\MSVC\ORASQX8.LIB %ORACLE_HOME%\OCI\LIB\MSVC\OCI.LIB %ORACLE_HOME%\OCI\LIB\MSVC\OCIW32.LIB

#Oracle 8i for Unix

Oracle_XA:

xaosw:

-L${ORACLE_HOME}/lib -lclntsh

2.ubb 文件中 *GROUP节加上

 TMSNAME=TMS_ORA

 TMSCOUNT=3  OPENINFO="Oracle_XA:

Oracle_XA+Acc=P/scott/tiger+SesTM=120+LogDir=.+SqlNet=abcde"

具体在Oracle联机文档Application Development->oracle8 Application Development's Guild->Oracle XA->Defining the xa_open String中提供了解释

3.在oracle用sys用户登录sqlplus,

a)运行${ORACLE_HOME}/rdbms/Admin/xaview.sql,

b)grant select on v$xatrans$ to public;

c)grant select on dba_pending_transactions to scott;

d)commit;

4.运行 buildtms -o $(TUXDIR)/bin/TMS_ORA -r Oracle_XA

5. 在tpsvrinit()中EXEC SQL CONNECT ...改成 tpopen(),  tpsrvdone()中EXEC SQL DISCONNECT...改成tpclose(); 实际可拷贝$TUXDIR/apps/bankapp/appinit.c

6.需在ubb文件中MACHINE节指定TLOGDEVICE,TLOGSIZE

例:

TLOGDEVICE="/home/usr1/TLOGDEV"

  TLOGSIZE=500

7.建立TLOG文件直接拷贝$TUXDIR/apps/bankapp/crtlog.sh.设定相关的环境变量后运行该shell文件.

8.启动事务用tpbegin(3,0),提交回滚用tpcommit/tpabort.

3.2 SYBASE XA

1.在RM文件,运行sybase获得要连接的所有lib库的名称.然后将这些名称全部写在RM文件中:

#Sybase_11 for NT

SYBASE_XA_SERVER;sybase_xa_switch;C:

\SYBASE_SERVER\lib\libxasrvlib.lib

2.ubbconfig 文件中的 *GROUP节

TMS_NAME=TMS_SYB TMSCOUNT=3  OPENINFO=" SYBASE_XA_SERVER:

 -Uuserid1 -Ppassword1 -Nconnection2 -Lxa_log -Tall "

具体察看Sybase文当中xa_open String中提供了解释

3.运行 buildtms -o $(TUXDIR)/bin/TMS_SYB -r SYBASE_XA_SERVER

4. 在tpsvrinit()中EXEC SQL CONNECT ...改成 tpopen, tpsrvdone()中EXEC SQL DISCONNECT...改成tpclose(); 实际可查看$TUXDIR/apps/bankapp/appinit.c

5.需在ubb文件中MACHINE节指定TLOGDEVICE,TLOGSIZE

例:

TLOGDEVICE="/home/usr1/TLOGDEV"

  TLOGSIZE=500

6.建立TLOG文件直接拷贝$TUXDIR/apps/bankapp/crtlog.sh.设定相关的环境变量后运行该shell文件.

7.启动事务用tpbegin(3,0),提交回滚用tpcommit/tpabort.

3.3 INFORMIX XA

1.运行esql -lib获得要连接的所有lib库的名称.然后将这些名称全部加到RM文件中INFORMIX-OnLine:

infx_xa_switch:

${INFORMIXDIR}/lib/esql/libinfxxa.a /usr/informix/lib/esql/libixos.a /usr/informix/lib/esql/libixgen.a /usr/informix/lib/esql/libixsql.a /usr/informix/lib/libixasf.a /usr/informix/lib/esql/libixos.a /usr/informix/lib/esql/libixgen.a /usr/informix/lib/esql/libixgls.a -lnsl_s -lm -lV3 -lcl -lsec /usr/informix/lib/esql/libixglx.a

2.ubbconfig 文件中

*GROUP节 TMS_NAME=TMS_INFO TMSCOUNT=3  OPENINFO="INFORMIX-OnLine:

test_tux"

具体察看Sybase文当中xa_open String中提供了解释

3.运行 buildtms -o $(TUXDIR)/bin/TMS_INFO -r INFORMIX-OnLine

4. 在tpsvrinit()中EXEC SQL CONNECT ...改成 tpopen, tpsrvdone()中EXEC SQL DISCONNECT...改成tpclose(); 实际可查看$TUXDIR/apps/bankapp/appinit.c

5.需在ubb文件中MACHINE节指定TLOGDEVICE,TLOGSIZE

例:

TLOGDEVICE="/home/usr1/TLOGDEV"

  TLOGSIZE=500

6.建立TLOG文件直接拷贝$TUXDIR/apps/bankapp/crtlog.sh.设定相关的环境变量后运行该shell文件.

7.启动事务用tpbegin(3,0),提交回滚用tpcommit/tpabort.

四、Tuxedo多机方式配置要点

tuxedo多机方式配置有两个方面

4.1启动tlisten

tlisten在tuxedo启动时扮演控制者的角色,在非master机上由tlisten启动bbl和应用服务器,tlisten的启动方法为

tlisten   -l //hostip:

ipport

1.注意这里的ipport必须和ubb文件中NETWORK域的NLSADDR一致,最好都用IP地址,以避免双方对同一机器名解释出不同的IP地址。

2. tlisten必须在所有的机器上启动,启动后才能运行tmboot.建议操作系统启动时就运行tlisten.

3.注意各个节点的tlisten都有PASSWORD,存在%APPDIR%\.adm\tlisten.pw文件下,如果那里没有,就读TUXEDO的%TUXDIR%\udataobj\tlisten.pw文件中的内容。

各节点的tlisten password要保证绝对一样(包括回车!

)。

否则会报错:

‘Security Violation’。

4.2 ubb文件配置

对于多机模式一般就是指单一domain管理的多台机器,所有机器上仅需要一个ubb文件,以下是ubb文件的模板

*RESOURCES

IPCKEY80952

MAXACCESSERS40

MAXSERVERS35

MAXSERVICES75

MASTERSITE1,SITE2

OPTIONSLAN,MIGRATE    // MIGRATE表示MASTER可以动态迁移

MODELMP// 多机模式

*MACHINES

"PATRICK"LMID="site1"

APPDIR="D:

/Bea/tuxedo/samples/atmi/simpapp"

TUXCONFIG="d:

/Bea/tuxedo/samples/atmi/simpapp/tuxconfig"

TUXDIR=" d:

/Bea /tuxedo"

UID=0

GID=0

TYPE="NT"

MAXWSCLIENTS=5

MAXACCESSERS=40

"test60"LMID="site2"

APPDIR="/bea/tuxedo/samples/atmi/simpapp"

TUXCONFIG="/bea/tuxedo/samples/atmi/simpapp/tuxconfig"

TUXDIR="/bea/tuxedo"

UID=1002

GID=101

TYPE="Sun"

MAXWSCLIENTS=15

MAXACCESSERS=100

*GROUPS

GROUP1 LMID=site1GRPNO=1OPENINFO=NONE

GROUP2 LMID=site2GRPNO=2OPENINFO=NONE

*SERVERS

DEFAULT:

DEFAULT:

 RESTART=Y MAXGEN=5 REPLYQ=Y CLOPT="-A"

WSLSRVGRP=GROUP1 SRVID=20 CLOPT="-A -- -n //10.128.5.201:

9009"

WSLSRVGRP=GROUP2 SRVID=10 CLOPT="-A -- -n //10.128.5.200:

9009"

simpservSRVGRP=GROUP1 SRVID=3

simpservSRVGRP=GROUP2 SRVID=4

*SERVICES

*NETWORK

site1NADDR="//10.128

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1