Tuxedo Quick Start 7 Tuxedo的基本配置_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3256 | 回复: 0   主题: Tuxedo Quick Start 7 Tuxedo的基本配置        下一篇 
wlcbhrss
注册用户
等级:新兵
经验:68
发帖:65
精华:0
注册:2011-8-21
状态:离线
发送短消息息给wlcbhrss 加好友    发送短消息息给wlcbhrss 发消息
发表于: IP:您无权察看 2014-11-13 11:48:04 | [全部帖] [楼主帖] 楼主

术语
tuxedo应用系统:一个TUXEDO应用系统包括服务端,客户端,服务端安装在服务器上,客户端一般安装在PC机上,从开发角度看,一个TUXEDO应用系统包括服务端程序,客户端程序,一个配置文件。此外,一个TUXEDO应用系统可以部署在一台服务器上,也可以部署在多台服务器上。
SERVER:服务端程序用C或COBOL编写,每一个程序文件编译成一个相应可执行文件,该可执行文件在运行时称为SERVER,它实际上就是一个进程。每个SERVER都有一个名字,也就是该进程的名字。为与TUXEDO应用系统的服务端区分,我们在本书中,我们用SERVER表示该进程,用服务端表示TUXEDO应用系统的服务端。
SERVICE:在每个服务端程序中,主要是一个个的函数,在TUXEDO中称这些函数为SERVICE,一般也称之为服务。在该SERVICE中实现业务逻辑,在客户端中调用这些SERVICE来实现各种操作,如在前面的例子simpapp中, 服务端程序为simpserv.c,它编译成可执行文件simperv, simpserv就是一个SERVER,该SERVER包括SERVICE:TOUPPER。
UBBCONFIG::一个TUXEDO应用系统的所有资源都在一个文本文件中进行定义,该文件称为UBBCONFIG,在配置完成后,UBBCONFIG被编译成一个二进制的文件TUXCONFIG.在TUXEDO系统启动时,从该文件中读取系统的配置信息。

UBBCONFIG文件类似WINDOWS下的*.INI文件。它包括以下9大部分, 我们称之为节:
RESOURCES(必须): 与整个系统有关的配置信息
MACHINES(必须): 一个TUXEDO应用系统可以跨越多台服务器,在该节中配置与每台服务
器有关的信息
GROUPS(必须):  TUXEDO中的服务可被分为多个组,在该节中配置与组有关的信息
SERVERS(可选):  与SERVER有关的信息在该节配置
SERVICES(可选): 与SERVICES有关的信息在该节配置
NETWORK(可选):与网络有关的信息在该节配置
ROUTING(可选)  :路由规则在该节配置
NETGROUPS(可选):与网络分组有关的信息在该节配置

下面给出一个配置文件的例子:

 *RESOURCES
IPCKEY                   123456
MASTER                simple
UID                       0
GID                           0
PERM                       0666
MAXACCESSERS          100
DOMAINID              simpapp
MODEL                      SHM
LDBAL                      Y
SCANUNIT              10
SANITYSCAN          12
BLOCKTIME              6
NOTIFY                      DIPIN
MAXCONV                 10
*MACHINES
"MYSYS"   LMID="simple"
TUXCONFIG="d:\tuxdemo\pbdemo\tuxconfig"
TUXDIR="d:\tuxedo65"
APPDIR="d:\tuxdemo\pbdemo"
TLOGDEVICE="d:\tuxdemo\pbdemo\TLOG"
TLOGNAME="TLOG"
TLOGSIZE=100
MAXWSCLIENTS=5
CMPLIMIT="MAXLONG,MAXLONG"
NETLOAD=0
SPINCOUNT=0
MAXACLCACHE=100
*GROUPS
"GROUP1"        LMID="simple"        GRPNO=1
OPENINFO="Oracle_XA:Oracle_XA+Acc=P/scott/tiger+SesTm=600+MaxCur=5+LogDir=."
TMSNAME="TMS_ORA8i"
TMSCOUNT=2
*SERVERS
DEFAULT:
CLOPT="-A"
"simpserv"        SRVGRP="GROUP1"        SRVID=1
CLOPT="-A"
RQADDR="simpserv"
RQPERM=0660        REPLYQ=Y        RPPERM=0660        MIN=5        MAX=5        CONV=N
MAXGEN=1        GRACE=86400        RESTART=N
"WSL"        SRVGRP="GROUP1"        SRVID=1116
CLOPT="-A -- -n //MYSERVER:8888 -m 2 -M 5 -x 6"
*SERVICES
"TOUPPER"
LOAD=50        PRIO=50
BUFTYPE="ALL"
TRANTIME=30
AUTOTRAN=N
*ROUTING


各节之间的包含关系:
从上到下,是一对多的关系,即:一个TUXEDO系统可以跨越多台服务器,一台服务器上可以有多个GROUP,但一个GROUP只能在一台服务器上,一个GROUP中可以有多个SERVER,一个SERVER中可以有多个SERVICE。
下面分别对每个节种具体的常见配置进行说明,NETWORK,NETGROUP,ROUTING三节及其他比较高级的配置我们在后面的内容中说明
• 使用view数据类型,tpalloc时报错
• Tuxedo PrintService疑问

 • How to remove dead servers?
• Debug a Tuxedo running server with dbx
• tuxedo(WTC) connection through SSG((secure spannbsp&gateway)
• Tuxedo client ULOG
• Timeout: Tuxedo kills the service but not the database connection
• TMQFORWARD and correlation-id and buffer
• BBL and file transfer
• tpdequeue and data depending routing
RESOURCES(必须):


该节是必须的,在这里配置与整个TUXEDO应用系统有关的信息,主要包括:
IPCKEY: TUXEDO使用它标识公告板及其他的IPC资源。它不能与该服务器上其他的IPC资源的ID号冲突范围:32,769-262,142
MASTER: 指定该TUXEDO应用系统的MASTER服务器,在该服务器上对整个TUXEDO系
统进行管理配置,可以为该MASTER机指定一台备份机,当该MASTER机当机时,
可从BACKUP机上进行管理。在进行系统迁移时,也要指定BACKUP机。MASTER机中指点的名字为该服务器的逻辑名LMID(LOGICAL MACHINE

 IDENTIFIER)。


DOMAINID:该TUXEDO应用系统的唯一标识

UID, GID, PERM:这三个参数控制对系统IPC资源的存取权限
UID:   可对该TUXEDO应用系统进行管理的TUXEDO系统管理员的用户ID,在UNIX下
就是UNIX系统的用户ID,默认为执行TMLOADCF的用户的ID。在NT下该设置
没有用,要设为0。
GID:   在UNIX下为UID中所指定的用户所在的组ID,在NT下该设置没有用,要设为0
PERM: 指定对TUXEDO系统IPC资源的存取权限。默认值为0666,即任何人都可以对该IPC
资源进行存取。

MAXACCESSERS,MAXSERVERS,MAXSERVICES:这三个参数控制该TUXEDO应用系统对IPC资源的使用情况。

MAXACCESSERS: 在本系统的一个节点(一台服务器)上,同时可以有多少个进程可以访问
该TUXEDO系统的公告板,默认值为50,它包括本地客户端进
程,SERVER进程,但不包括管理进程如:BBL,DBBL等
MAXSERVERS:   在本系统中,总共可以有多少个SERVER存在,包括进行管理的SERVER,
如:BBL,TMS等。默认值为50。
MAXSERVICES:  在本系统中,总共可以有多少个SEVICE存在, 默认值为100。

TUXEDO应用系统的部署方式:
一个TUXEDO应用系统可能部署在一台服务器上或多台服务器上,也可能是部署在共用一块全局共享内存的几台服务器上,可在MODEL,OPTIONAS中配置该TUXEDO应用系统的部署模式。

 MODLE:


             SHM: 单机或多台服务器但共用一个全局共享内存
             MP: 多台服务器但没有共用一个全局共享内存

OPTION:      LAN:  是多机(MP)部署模式
             MIGRATE: 可对该系统进行迁移

TUXEDO的管理进程BBL定时对它所在的服务器上的TUXEDO系统进行检查,检查超时的事务,超时的客户端连接等。
SCANUNIT:   指定检查的最小时间单位,它单位为秒,必须是5的倍数。 默认值为10,即10
秒。
SANTIYSCAN: 每隔多少个SCANUNIT检查一次, SANITYSCAN*SCANUNIT不能大于
300秒。默认值为12,即120秒
BLOCKTIME:  指定一个消息可以阻塞多长时间,如果过了SANITYSCAN*SCANUNIT秒该
消息还没有发送出去,将超时出错。 SANITYSCAN*SCANUNIT不能大于
32767秒。默认值为6,即60秒。

同步调用的超时说明
对同步调用TPCALL,指从TPCALL()开始调用,到SERVER端的返回结果到到该客户端并写到输入缓冲区这一段时间。包括:
客户端开始调用TPCALL()
把数据通过网络发送到SERVER端
SERVER端的处理时间
SERVER端把处理结果通过网络返回给客户端
客户端TPCALL()调用返回

异步调用和会话方式的超时说明
对异步调用和会话方式,当一个进程调用TPACALL(),TPCONNECT(),TPSEND()时,超时时间只包括如果接收队列满时,这些调用的等待时间,如在TPACALL()中,所调用的SERVICE的接收队列如果满了,那么TPACALL()可阻塞在那里,直到该队列不满,可以接收该TPACALL()发送的请求。从TPACALL()开始阻塞到TPACALL()返回这段时间为它的超时时间。
对TPGETRPLY(),TPRECV()的超时时间是指如果要接收的队列为空时,它们应该阻塞在那里等待有消息到来的时间。
如:超时时间为60秒, 一点整调用TPGETRPLY()从接收的队列取消息,这时接收队列为空,如果到了一点零一分该接受队列还为空,那么TPGETRPLY()将超时出错。

LDBAL        要不要进行负载均衡,Y:要,N:不要,默认值为不要

MAXCONV:在一台服务器上最多可以有多少个会话同时存在。范围:0-32768,默认值为10

NOTIFY :设置消息的通知方式,有以下3种:默认为DIPIN
IGNORE: 该TUXEDO系统中的CLIENT不接收任何消息
SIGNAL: 用SIGUSR1,SIGUSR2信号通知CLIENT有消息到来,如果在非UNIX平台上设
置采用该方式,那么会被自动转化为DIPIN方式。
DIPIN:  当CLIENT调用ATMI函数时,顺便检查看是否有消息,如果有就发送给该CLIENT
默认值为DIPIN

*MACHINES(必须):


该TUXEDO应用系统所包含的每台服务器都要在该节中进行配置
LMID: 在TUXEDO,要为该应用系统中的每台服务器指定一个逻辑服务器名。如在上面的例子中,TUXEDO应用服务器MYSYS对应的逻辑服务器名为:simple,
TUXEDO应用服务器名的查看方法:      
   1. 在UNIX下用uname -n 查看SERVER的名字,
   2. 在NT,WIN2000下用ECHO %COMPUTERNAME$查看SERVER的名字
注意:如果SERVER的名字太长(>8)或含有。等可以""引起来,如: "DEMOSERVER.COM"

TUXCONFIG: 配置文件TUXCONFIG所在的路径
TUXDIR:     TUXEDO的安装目录
APPDIR:     TUXEDO应用系统所在的目录
注意:TUXCONFIG,TUXDIR,APPDIR的值要与它们在环境变量中的设置的值一样
ENVFILE: 该服务器上与TUXEDO有关的环境变量(如FIELDTBLS等)可以放到一个文件中,在ENVFILE中指定该文件名。
TYPE: 指定该服务器的类型,当两台服务器的TYPE不一样时,在它们之间传送数据时要进行
编码/解码工作
ULOGPFX: 指定ULOG文件所在的目录及前缀。默认目录为$APPDIR,前缀为ULOG。

UID,GID,PERM,MAXACCESSERS,MAXCONV这些在RESOURCES中的配置,在MACHINES中可以被重新配置,并且这些新的配置值会覆盖在RESOURCES中的配置值。

*GROUPS(必须):


在TUXEDO中,要对SERVER进行分组,配置GROUP主要有三个目的,
1.        因为GROUP与数据库之间是一对一的关系,在一TUXEDO应用系统中,如果有多个数据库,就要配置多个GROUP,在该GROUP中配置TUXEDO与数据库的连接参数等。
2. 数据依赖路由是以GROUP为单位的。
3.        进行系统迁移时也时以GROUP为单位的一个GROUP有一个名字,还有一个GROUP
ID,GROUP的名字和GROUP ID在一个TUXEDO系统中必须唯一。
每个GROUP要指定该GROUP所在的服务器,及它的ID号,如果该GROUP中的SERVER
要与数据库或其他的资源管理器相连,那么要在OPENINFO中设置连接的参数。具体的配置我们在讲数据库编程时再说明。

 *SERVERS:


该系统所包含的所有的SERVER都在该节进行配置。
在DEFAULT中的设置对所有的SERVER起作用。
SRVGRP: 该SERVER所在的GROUP
SRVID:  该SERVER所对应的ID,在一个GROUP中必须唯一
MIN: 该SERVER最少启动的进程数
MAX: 该SERVER最多可启动的进程数

RESTART,RCMD,MAXGEN,GRACE: 在TUXEDO系统了,当一个SERVER进程因某中原因死掉时,可设置它可以自动重起,这4个参数指定TUXEDO的重起信息。
RESTART                          该进程死掉时是否可以自动重起,默认为N(不可以)
GRACE,MAXGEN:在GRACE秒内,该进程最多可以重启MAXGEN次。
RCMD:                                指定该SERVER重启时,要执行的一个可执行文件名
注意:
1.        为了使一个SERVER可以自动重起,光设置了RESTART=Y还不够,还要设置
GRACE,MAXGEN才能在该SERVER死掉时,自动重起,
2.        该SERVER能够被自动重起的一个前提条件时它还没有被从BULLITION BOARD中清
除。
例子:

 test                SRVGRP=GROUP1 SRVID=1 RESTART=Y  GRACE=100000  MAXGEN=255


该设置指定在100000秒的时间内,SERVER进程:test可以启动255次。       

 。


在缺省情况下,TUXEDEO的每一个SERVER对应一个请求队列,该SERVER从该请求队列中取客户端发来的请求,并把处理的结果通过该请求队列返回给客户端,TUXEDO的SERVER可以配置成多个SERVER对应一个请求队列,即MSSQ方式,以提高响应的速度。
与MSSQ有关的参数是:
RQADDR:该请求队列的名字,一般设成与该SERVER的名字一样
RAPERM:该请求队列的存取权限,默认为0666
REPLYQ:该SERVER中的某个SERVICE调用其他的SERVICE,并有返回结果,则应设置
REPLYQ=Y,即把其他SERVICE的应答放到该队列中

CONV: 该SERVER是否采用会话(CONVERSATION)通讯方式,注意采用会话通讯方式的SERVICE要单独在一个SERVER中,不能与采用其他通讯方式的SERVICE在同一个SERVER中,并且该SERVER要设置CONV=Y
CLOPT: 指定该SERVER的启动参数。默认为-A,即在该SERVER启动时,发布该SERVER
包含的所有的SERVICE。通用的有:
-e: 指定错误输出文件,默认为$APPDIR下的stderr
-o: 指定标准输出文件,默认为$APPDIR下的stdout
-r: 记录该SERVER中SERVICE每次调用的处理时间,并记录在错误输出文件中,然后可采用
TUXEDO的性能分析工具txrpt对该SERVER进行性能分析。
-A: 发布该SERVER包含的所有的SERVICE

*SERVICES:


在SERVICES中可针对每个SERVICE进行配置,主要有:
AUTOTRAN: 调用该SERVICE时是否自动启一个全局事务。默认为N
LOAD:如果采用负载均衡,指定该SERVICE的负载因子,默认为50
PRIO: 指定该SERVICE的优先级,默认为50

 DDR(数据依赖路由规则)


与远程客户端有关的配置:
1.        在MACHINES中要配置MAXWSCLIENTS,即最多可以有多少个远程客户端同时连接
到该服务器上,在上面的例子中为5个
2.        在SERVERS中要配置SERVER:WSL

 WSL  SRVGRP="GROUP1" SRVID=1116 CLOPT="-A -- -n //192.168.120.113:8888 -m 2 -M 5 -x 6"


说明:

 -n //192.168.120.113:8888: 远程客户端通过该端口与服务器建立连接


-m 2 :最少启动多少个WSH进程
-M 5::最多启动多少个WSH进程,默认值为MAXWSCLIENTS/m
-x 6:每个WSH进程对应多少个远程客户端
3.        在远程客户端所在的服务器上要配置WSNADDR环境变量,它的值为-n参数的值,如在上面的配置中为:

 SET WSNADDR= //192.168.120.113:8888


配置文件UBBCONFIG的编译:
用下面的命令进行编译:
tmloadcf  –y  UBBCONFIG文件名  
如:下面的命令编译名为ubbsimple的TUXEDO配置文件,生成二进制的配置文件

 TUXCONFIG
tmloadcf –y ubbsimple


有时候在改变了TUXCONFIG的目录后,执行tmloadcf,会出现类似下面的错误,可把原来的TUXCONFIG文件删除,然后再编译。

 D:\simpdb>tmloadcf -y ubb
CMDTUX_CAT:1601: ERROR: TUXCONFIG,TUXOFFSET d:\simpdb\tuxconfig 0 doesn't match first device entry on configuration d:\tuxdemo\simpdb\tuxconfig 0
D:\simpdb>del tuxconfig
D:\simpdb>tmloadcf -y ubb
D:\simpdb>


用tmunloadcf命令可对二进制的配置文件TUXCONFIG的进行反编译
如下面的命令反编译TUXCONFIG,并把结果输出到文件myubb中。通过反编译TUXCONFIG可查看该TUXEDO应用系统的一些属性默认值。

 tmunloadcf >myubb


--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论