Tuxedo完全操作手册
Tuxedo应用指南(二)

比较类型缓冲区的特点
• 类型缓冲区之间的比较可以从如下几个方面进行:
–是否是自描述的。自描述的缓冲区在tpcall、 tpreturn中可不指定它的大小。 –有无子类型。 –是否支持DDR。根据缓冲区中的某些数据项的值,按指 定的标准将请求路由到不同的服务器组上。支持DDR的 缓冲区一定是带成员的聚集,并且可以按成员名称访 问。 –是否存在编码、解码。不存在时,传输效率高,但异 质支持差
save ctx tpacall Romte Server
tpacall callback load ctx
Local Server
得到API出错信息
• 如果有执行状态返回,-1表示失败。 • 查看出错信息
在调用API时都有类似如下的出错检测代码:
if (tpacall("TUX_SVC", send_buf, (long)send_len, TPNOREPLY) == -1) { userlog("tpacall失败: errno=[%d], msg=[%s]", tperrno, tpstrerror(tperrno)); tpfree(text); return -1; }
更改缓冲区大小
• 缓冲区可以更改大小,大小更改后,返回的地址可能上新 的地址,以后使用新的地址,而不能再用分配前的地址。 – 原型: char* tprealloc(char* ptr, /* 缓冲区指针 */ long size) /* 新的大小*/ 注意:返回值不一不等于ptr!不建议使用tprealloc,好 的办法是分配新尺寸的缓冲区,从原缓冲区复制数据到新 缓冲区,删除原缓冲区。该函数比较凶险,使用不当有可 能导致内存泄漏。
分配类型缓冲区
Tuxedo开发使用说明

Tuxedo开发使用说明1Tuxedo的环境设置包括Client端和Server端环境设置两个部分,下面将分别加以详细说明。
Tuxedo的client端主要是一组以dll方式提供的函数调用。
假设tuxedo的安装路径是TUXDIR=C:\tuxedo,那么dll就存放在TUXDIR\bin目录下,主要包括:wtuxws32.dll、libwsc.dll、libgp.dll、libbuft.dll、libfml.dll、libfml32.dll、tuxlib.dll等。
Client端通过环境变量WSNADDR的设置值连接其调用的服务器,因此必须在环境变量中(在autoexec.bat文件中)设置WSNADDR变量,其设置为:SET WSNADDR=//服务器IP地址:端口号IP地址和端口号必须是服务器配置文件中指定的的侦听IP地址和端口(详细情形见“tuxconfig配置文件”的说明)。
Tuxedo安装完毕后,需要设置的环境变量有(以Unix环境为例,Windows NT 或2000可以参考作相应设置):TUXDIR=tuxedo的安装路径 export TUXDIRLIBPATH=$TUXDIR/lib;$LIBPATH export LIBPATHPATH=$TUXDIR/bin; $PATH export PATHTUXCONFIG=tuxconfig文件的路径/tuxconfig export TUXCONFIG其中LIBPATH表示tuxedo的库文件路径(动态库),TUXCONFIG指向tuxedo 的配置文件(详细情形见“tuxconfig配置文件”的说明)。
2 RMRM文件存放在$TUXDIR/udataobj目录下(license文件lic.txt就在此目录下)。
Tuxedo通过XA/Open协议建立与数据库的通道,而此文件正是指定了数据库的接口。
如一个RM文件的内容如下(以Oracle 8.0.4数据为例):Oracle_XA:xaosw:-L${ORACLE_HOME}/lib -lclntsh -lmm -lsql${ORACLE_HOME}/lib/osntabst.o开发基于数据库的应用时必须配置此文件,关于RM的详细说明,见tuxedo的说明文第 1 页档。
tuxedo基本操作atmi介绍

系统自带authsvr服务进程,和两个子例程,tpsvrinit(),tpsvrdone。
authsvr:客户端调用tpinit进行认证时,由交易TPAPPAUTH回应。
服务端自动调用tpsvrinit,可以在函数中进行数据库连接和处理命令行参数。
结束时tpsvrdone也被自动调用,可以在函数中断开数据库连接。
这两个例程分别在进程开始时和进程将要结束时,被自动调用。
服务端编程指导:交易内一次只能接收一个请求,发送一个响应。
交易必须以tpretrurn, tpforward结束。
或交易内使用了tpacall,在返回或转发前,要么等待回应,要么使用tpcancel。
tpreturn一旦被调用,控制权就转移到main函数,未进行显示收取的响应会被丢弃,此时客户端会收到错误。
客户端调用tpcall后,若服务端此时对应的tpreturn成功返回,客户端tpcall才能返回。
客户端调用tpacall后,若服务端此时对应的tpreturn成功返回,客户端tpgetrply才能返回。
返回的数据,可由客户端从指针*data处取得。
tpforward调用时,程序逻辑应保证之前的处理都正确,响应被收到。
被调用后,交易不再等待响应。
main函数取得控制权。
被请求的另一个交易负责响应原来的请求。
不能将请求转发到自身。
tpreturn 的参数:rval: 表明交易是否成功执行。
rcode:是应用自定义的返回值。
客户端可通过tpurcode获得tpreturn的rcode值,而不论交易是否成功。
data: 该缓冲区由客户端传递,服务端可以将回应数据写至此地址。
也可以进行tprealloc.而不能tpfree. 服务端也可以自行tpalloc一个缓冲区,并返回给缓冲区,但需要自行若管理。
如果发送的数据长度大于已分配的,tuxedo会自动扩大缓冲。
len: 用来指示响应缓冲的长。
客户端可据此得知数据是否有变化。
如果客户端需要收到一个响应,而tpreturn自身处理时出错,这时tpcall或tpgetrply会失败,客户端应检查tperrno. 此时客户端的data缓冲区没有变化。
tuxedo日常保护手册

tuxedo日常保护手册变更记录目录变更记录 .................................................................................................... 错误!未定义书签。
第一章安装步骤................................................................................. 错误!未定义书签。
安装前的准备工作 ................................................................................ 错误!未定义书签。
创建tuxedo软件对应用户............................................................... 错误!未定义书签。
上传安装介质包 ................................................................................ 错误!未定义书签。
软件安装 .............................................................................................. 错误!未定义书签。
tuxedo软件安装.............................................................................. 错误!未定义书签。
配置环境变量 .................................................................................. 错误!未定义书签。
TUXEDO教程

2003.8
1.中间件 1.中间件
定义:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不 同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和 网络通讯 。 工作机制:客户端上的应用程序需要从网络中的某个地方获取一定的数据或服务,这 些数据或服务可能处于一个运行着不同操作系统和特定查询语言数据库的服务器中。 而C/S应用程序中负责寻找数据的部分只需访问一个中间件系统,由中间件完成到网络 C/S应用程序中负责寻找数据的部分只需访问一个中间件系统,由中间件完成到网络 中找到数据源或服务,进而传输客户请求、重组答复信息,最后将结果送回应用程序对象请求代理的标准,分别是CORBA和DCOM
事务处理中间件(TPM, Monitor) 事务处理中间件(TPM,Transaction Processing Monitor) IBM cics Bea Tuxedo
2.Tuxedo简介 2.Tuxedo简介
1.中间件(续) 1.中间件( 中间件
中间件的分类 :
数据库中间件(DM,Database Middleware) Middleware) 数据库中间件(DM,
ODBC是一种基于数据库的中间件标准 ODBC是一种基于数据库的中间件标准
远程过程调用中间件( Call) 远程过程调用中间件(RPC, Remote Procedure Call) 面向消息中间件(MOM, Middleware) 面向消息中间件(MOM,Message Oriented Middleware) IBM MQ 基于对象请求代理(ORB, Broker) 基于对象请求代理(ORB,Object Request Broker)的中间件
中间件操作指引-Tuxedo

中间件操作指引Bea Tuxedo广东亿迅科技有限公司2008年7月项目名称/代码:集成部版本: 1.0状态:所有人:系统组作者/创建时间:唐彪批准人/批准时间:文档更改历史记录目录第1章BEA TUXEDO产品 (5)1.1T UXEDO是什么 (5)1.2T UXEDO系统特点 (5)第2章TUXEDO安装 (6)2.1在UNIX系统安装 (6)2.2在WINDOWS系统安装 (7)2.3安装LICENSE (7)2.4T UXEDO环境变量 (7)2.5T UXEDO目录结构 (8)2.6T UXEDO应用步署过程 (8)第3章配臵管理 (8)3.1配臵文件 (8)3.2资源定义 (9)3.3机器的信息 (10)3.4组定义 (11)3.5服务定义 (11)3.6交易定义 (12)3.7生成TUXCONFIG文件 (13)第4章管理命令 (13)4.1TMBOOT命令 (13)4.2TMSHUTDOWN命令 (14)4.3TMADMIN命令 (14)4.3.1查看services状态 (15)4.3.2查看server状态 (16)4.3.3查看队列状态 (16)4.3.4查看客户端状态 (17)4.4查看日志 (18)第5章常见故障 (18)5.1UBB编译类 (18)5.2服务启动类 (19)5.3服务关闭类 (20)5.4域间通信类 (20)第1章Bea Tuxedo产品1.1 Tuxedo是什么BEA TUXEDO是在企业、Internet 这样的分布式运算环境中开发和管理三层结构的客户/服务器型关键任务应用系统的强有力工具。
它具备分布式事务处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务应用系统。
开发人员能够用它建立跨多个硬件平台、数据库和操作系统的可互操作的应用系统。
BEA TUXEDO是企业、Internet 分布式应用中的基础主干平台。
它提供了一个开放的环境,支持各种各样的客户、数据库、网络、遗留系统和通讯方式。
Tuxedo简易培训教程

Tuxedo简易培训教程一、教学内容1. Tuxedo的基本界面与操作;2. 创建、打开、保存和关闭文本文件;3. 字体设置、文本颜色和背景;4. 文本编辑功能,如复制、粘贴、删除和撤销;5. 查找和替换功能;6. 代码高亮和语法提示;7. 插件的使用和安装。
二、教学目标1. 学生能够熟练地使用Tuxedo进行基本的文本编辑;2. 学生能够设置文本的字体、颜色和背景;3. 学生能够掌握查找和替换功能,提高文本编辑效率。
三、教学难点与重点重点:Tuxedo的基本操作、文本编辑功能和插件的使用。
难点:代码高亮和语法提示的设置,以及插件的安装和使用。
四、教具与学具准备教具:电脑、投影仪、教学PPT;学具:每人一台电脑,安装好Tuxedo文本编辑器。
五、教学过程1. 引入:介绍Tuxedo文本编辑器的基本信息和特点,激发学生的学习兴趣。
2. 基本操作:讲解如何创建、打开、保存和关闭文本文件,以及Tuxedo的基本界面布局。
3. 字体设置:演示如何设置文本字体、大小、颜色和背景,让学生跟随操作。
4. 文本编辑:讲解复制、粘贴、删除和撤销等文本编辑功能,并进行实际操作演示。
5. 查找和替换:介绍查找和替换功能的使用方法,进行实际操作演示。
6. 代码高亮和语法提示:讲解如何设置代码高亮和语法提示,并进行实际操作演示。
7. 插件使用:介绍插件的概念,讲解如何安装和使用插件,并进行实际操作演示。
8. 课堂练习:布置练习题目,让学生实际操作,巩固所学知识。
六、板书设计1. Tuxedo基本操作流程图;2. 字体设置步骤;3. 查找和替换方法;4. 代码高亮和语法提示设置;5. 插件安装和使用方法。
七、作业设计1. 练习题:使用Tuxedo编辑一个简单的文本文件,设置字体、颜色和背景,并保存;2. 实践题:查找并替换文本中的某个词语,提高文本编辑效率;3. 拓展题:安装一个Tuxedo插件,并尝试使用。
八、课后反思及拓展延伸2. 拓展延伸:介绍更多类似的文本编辑器,让学生了解并尝试使用其他编辑工具。
Tuxedo 功能说明书

Tuxedo功能说明书说明:本说明书是为了适应光大银行的要求,为光大银行提供有关Tuxedo 功能的简要说明列表。
一、交易处理服务1.交易完整性保证机制●当应用系统只有局部事务、没有全局事务时,Tuxedo直接利用数据库的事务处理功能(用或不用XA),这样可提高系统性能。
●当应用系统涉及跨多个资源数据库(同构或异构)的全局事务的时,Tuxedo利用XA标准和两阶段提交协议,通过事务管理器,协调各个数据库的同步。
Tuxedo还可保证可靠性队列/Q 的入出队操作和数据库的更新操作的同步。
在各种情况下,Tuxedo能够确保异构的(或者同构的)数据库以及它资源管理器之间的完整性和一致,并且还在出现节点故障、网络故障或全局资源死锁时利用内部的交易日志来协调全局事务的恢复。
2.交易优先级请求优先级是Tuxedo的事务管理器提供的另一个核心能力。
当某一服务有比其他服务更高的优先级时,服务器在处理请求时,就不再单纯的按照请求在队列中的先后顺序处理,而是按优先级来定。
请求优先级越高的越早被处理。
为了防止低优先级请求总是得不到服务,服务器每隔十个请求,就按FIFO次序进行一次请求选择。
二、可管理性TUXEDO的三层逻辑结构提供了对应用程序高度的可管理性。
它以业务逻辑层为管理的主要对象,把基本业务组件即服务进程的服务做为管理的基本单位。
应用系统由一些基本的组件即服务构成,这样它的易理解、易修改、易扩充等需求都得到保证。
TUXEDO提供一个基于普通WEB浏览器的GUI管理工具,也可根据用户需要提供基于X Window/ Motif 的GUI管理工具;还提供综合性的字符型管理命令;并且提供一个管理信息库(MIB)和编程接口,使用户可根据特定需求编写自己的管理工具。
TUXEDO 的关联产品BEA MANAGER 通过网络管理协议SNMP和TUXEDO的管理信息库MIB可以把TUXEDO对应用程序的管理集成到一般的网络、数据库系统管理工具中,比如OpenView, NetView 等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、tuxedo的配置1、展开tuxedo包,例如:/home/tuxedo2、配置ubbconfig文件在江苏建行是jsccb.ubb*RESOURCES*RESOURCES节包含整个应用范围的信息。
本节必须在配置文件第一节,不可缺少。
参数意义*RESOURCES *RESOURCES节IPCKEY 共享内存idUID TUXEDO管理员用户idGID TUXEDO管理员用户idPERM TUXEDO管理员组用户的权限MAXACCESSERS 服务端和客户端的最大进程数MAXSERVERS 限制可以启动服务总数MAXSERVICES 限制可以发布交易总数MASTER 指出主控节点的逻辑名,第二个是备份节点MODEL 应用构架,MP表示多机OPTIONS LAN,MIGRA TE表示是一个网络应用,服务可以移植到替代处理器上SECURITY 安全级别(5个)AUTHSVC 客户端可以通过交易“AUTHSVC”获得认证NOTIFY DIPIN,客户端通过dip-in收到广播通知SYSTEM_ACCESS PROTECTED,NO_OVERRIDE,应用代码不得干扰共享内存LDBAL 设Y则进行负载平衡MAXBUF[S]TYPE 数据缓冲类型及子类的最大数SCANUNIT 内部时间间隔单位,单位是秒SANITYSCAN 检索公告牌的内部时间间隔,单位是SCANUNITBLOCKTIME 交易超时时间,单位是SCANUNITBBLQUERY DBBL查询所有BLL的时间间隔DBBLWAIT DBBL等待BBL回应的超时时间MAXCONV 同时最大会话数jsccb.ubb的实例###################### RESOURCES SECTION ######################*RESOURCESIPCKEY 234567DOMAINID JSCCBMASTER SERVER1MAXSERVERS 900MAXSERVICES 2000CMTRET LOGGEDMODEL MPLDBAL YSECURITY NONEMAXGTT 500OPTIONS LANBLOCKTIME 12*MACHINES*MACHINES节包含应用有关的每个处理器的信息。
本节必须在*RESOURCES节后列出。
参数意义*MACHINES MACHINES节LMID 机器的别名对照gumby 物理处理器名,可以通过”uname –n”或节点名得到TUXDIR TUXEDO系统软件安装位置APPDIR 应用服务位置全路径TUXCONFIG TUXEDO配置文件全路径ENVFILE 环境文件全路径ULOGPFX 应用日志文件全路径MAXACCESSERS 本机最多处理器数,可以超越*RESOURCES节定义MAXCONV 本机最大会话数,可以超越*RESOURCES节定义jsccb.ubb的实例##################### MACHINES SECTION #####################*MACHINESjsccb05 LMID=SERVER1(主机名与别名的对照,在TUXEDO内主要使用别名。
这样在换机器的时候只要把配置文件中的jsccb05修改成现在实际使用的主机名即可。
别名要大写。
)MAXWSCLIENTS=100MAXACCESSERS=900APPDIR="/home2/app/group/bin"TUXCONFIG="/home2/app/tuxetc/tuxconfig"TUXDIR="/home/tuxedo"TLOGDEVICE="/home2/app/tuxlog/TLOGDEV"TLOGNAME=TLOGTLOGSIZE=1000ULOGPFX="/home2/app/log/ULOG"UID=202GID=200TYPE="NUMA"vipsys LMID=SERVER6MAXACCESSERS=50APPDIR="/home/vssin/group/bin"TUXCONFIG="/home/vssin/tuxetc/tuxconfig"TUXDIR="/home/tuxedo"ULOGPFX="/home/vssin/log/ULOG"UID=803GID=800TYPE="HP"*GROUP*GROUP节包含服务组的定义。
一台机器至少要定义一个服务组。
如果没有定义组,管理命令tmadmin可能依然能运行。
每个组只要定义组名,映射组名的组号和逻辑机器名。
组为分布式交易系统和数据依赖路由等灵活性措施提供了支持。
参数意义*GROUPS GROUP节BANKB1 组的唯一标识符,可以是字母数字GRPNO 组的唯一数字标识符LMID 组所在的机器jsccb.ubb的实例################### GROUPS SECTION ###################*GROUPSG_PLAT LMID=SERVER1GRPNO=1OPENINFO="INFORMIX-OnLine:plat"TMSNAME=ONLINE_TMSTMSCOUNT=3ENVFILE="/home2/app/plat/tuxenv/profile"G_MESSAGE LMID=SERVER1GRPNO=2001OPENINFO="INFORMIX-OnLine:message"TMSNAME=ONLINE_TMSTMSCOUNT=3ENVFILE="/home2/app/message/tuxenv/profile"G_SETTLE LMID=SERVER1GRPNO=2OPENINFO="INFORMIX-OnLine:settle"TMSNAME=ONLINE_TMSTMSCOUNT=3ENVFILE="/home2/app/settle/tuxenv/profile"G_SA VE LMID=SERVER1GRPNO=4OPENINFO="INFORMIX-OnLine:save"TMSNAME=ONLINE_TMSTMSCOUNT=3ENVFILE="/home2/app/save/tuxenv/profile"*SERVERS*SERVERS节包含的是服务进程的信息。
本节中每一个入口代表一个应用启动时加载的服务。
这些信息包含服务名,命令行参数,服务环境,重启动等等。
由于每个服务功能各不相同,其配置参数也因此相同或相异。
参数意义*SERVERS SERVER节,列出所有服务程序DEFAULT:本处列出的参数为其下列出的服务的缺省值,但可以被单列条目替代相应值RESTART 如果设成Y,则服务可以重启动MAXGEN 在GRACE定义时间之内,服务可以重启动MAXGEN次GRACE 周期,单位是秒RCMD 每次服务重启动,本处定义的脚本或命令被执行ENVFILE 列有环境变量的文件,在交易启动前设入环境TLR 一个服务名,用buildserver建立,应在APPDIR或$TUXDIR/binSRVGRP服务属于一个在*GROUPS节中定义的服务组;如果需要移植服务,也可以定义在多个组中。
SRVID服务组中代表服务的唯一值MIN 最少在启动时启动的服务数MAX 运行时,最多可以起的实例数CLOPT 跟随服务启动的其他参数-A 服务内建交易全发布–r 指定服务记录时间戳,用于以后计算交易处理时间-e 定义标准错误重定向文件-o 定义标准输出重定向文件-- TUXEDO参数和服务特定参数的分隔符…传给tpsvrinit()的参数SYSTEM_ACCESS 设定后,应用错误不干扰公告牌RQADDR 当设定此项后,所有本服务的实例都使用相同的请求队列。
这是在应用中设置MSSQ(Multiple Server Single Queue)的方便办法,可以改善处理流量。
任何时候,所有MSSQ集中的实例发布相同的交易集。
XFER 另一个服务REPL YQ 设成Y,则服务又作为一个MSSQ集配置,任何其中的交易调用其他交易,就建立一个单独的回应队列。
jsccb.ubb的实例#################### SERVERS SECTION ####################*SERVERSDEFAULT: CLOPT="-A -t"REPL YQ=Y# G_DMDMADM SRVGRP=G_DM SRVID=188CLOPT="-A -t"# G_GW1GW ADM SRVGRP=G_GW1 SRVID=1501CLOPT="-A -t"GWTDOMAIN SRVGRP=G_GW1 SRVID=1502 REPL YQ=NCLOPT="-A -t"# G_GW2GW ADM SRVGRP=G_GW2 SRVID=1501CLOPT="-A -t"GWTDOMAIN SRVGRP=G_GW2 SRVID=1502 REPL YQ=NCLOPT="-A -t"# G_WSL1WSL SRVGRP=G_WSL1 SRVID=101CLOPT="-A -t -- -n //192.0.6.205:9010 -m 8 -M 14 -x 15 -c 0 -T 150"# G_WSL2WSL SRVGRP=G_WSL2 SRVID=201CLOPT="-A -t -- -n //192.0.6.205:9011 -m 8 -M 14 -x 15 -c 0 -T 150"# G_PLATtp_online_001 SRVGRP=G_PLAT SRVID=3100 MIN=2 MAX=2 RQADDR="PLAT3100" tp_online_002 SRVGRP=G_PLAT SRVID=3200 MIN=2 MAX=2 RQADDR="PLAT3200" tp_online_003 SRVGRP=G_PLAT SRVID=3300 MIN=2 MAX=2 RQADDR="PLAT3300" ntp_forward_001 SRVGRP=G_PLAT SRVID=3400 MIN=2 MAX=2 RQADDR="PLAT3400" ntp_forward_002 SRVGRP=G_PLAT SRVID=3500 MIN=2 MAX=2 RQADDR="PLAT3500" ntp_forward_003 SRVGRP=G_PLAT SRVID=3600 MIN=2 MAX=2 RQADDR="PLAT3600" plat_return_001 SRVGRP=G_PLAT SRVID=3700 MIN=2 MAX=2 RQADDR="PLAT3700" plat_return_002 SRVGRP=G_PLAT SRVID=3800 MIN=2 MAX=2 RQADDR="PLAT3800" plat_return_003 SRVGRP=G_PLAT SRVID=3900 MIN=2 MAX=2 RQADDR="PLAT3900" plat_return_ SRVGRP=G_PLAT SRVID=4000 MIN=2 MAX=2 RQADDR="PLAT4000"CCB_log_server SRVGRP=G_PLAT SRVID=4100 MIN=1 MAX=2 RQADDR="PLAT4100" CCB_RetSetFile SRVGRP=G_PLAT SRVID=4200 MIN=1 MAX=2 RQADDR="PLAT4200"# G_SETTLEtSettle_server RVGRP=G_SETTLE SRVID=100 MIN=4 MAX=6 RQADDR="SETT0100" tSettle_server_xa RVGRP=G_SETTLE SRVID=150 MIN=4 MAX=6 RQADDR="SETT0150" SETFtpserv32 RVGRP=G_SETTLE SRVID=200 MIN=2 MAX=4 RQADDR="SETT0200" tSetConfig_server RVGRP=G_SETTLE SRVID=300 MIN=1 MAX=1 RQADDR="SETT0300" settleecq SRVGRP=G_SETTLE SRVID=400 MIN=1 MAX=1 RQADDR="SETT0400" settleecql SRVGRP=G_SETTLE SRVID=500 MIN=1 MAX=1 RQADDR="SETT0500"*SERVICES*SERVICES节提供了应用的特殊交易的信息。