tuxedo基本操作atmi介绍
tuxedo基本命令详细说明
1 tmloadcf➢检查UBBCONFIG文件的内容及格式➢将文本格式的UBBCONFIG文件编译生成二进制文件➢必须在主机上运行➢格式tmloadcf [-n] [-y] [-c] [-b blocks] {UBBCONFIG_file | -}➢参数-c 计算最小的IPC需求-n 仅仅进行UBBCONFIG文件的内容检查,不生成二进制文件-y 覆盖已有的二进制文件之前不提示-b blocks 如果环境变量TUXCONFIG所指的文件存放在一个裸设备上,建议使用该参数;如果该文件存放在文件系统上,则不需要2 tmunloadcf➢将二进制TUXCONFIG文件反编译为文本格式3 tmipcrm➢清除本机上的IPC资源➢自动根据TUXCONFIG_file参数查找相应的IPC资源➢一般在Tuxedo非正常停止的情况下用来清理残留IPC资源➢格式tmipcrm [-y] [-n] [TUXCONFIG_file]➢参数-y 对命令运行过程中的询问回答y-n 不清除IPC资源,只是列出IPC资源TUXCONFIG_file Tuxedo的配置文件。
如果不指定,则使用环境变量TUXCONFIG4 tmboot➢启动Tuxedo➢格式tmboot [-l lmid] [-g grpname] [-i srvid] [-s aout] [-o sequence][-S] [-A] [-b] [-B lmid] [-T grpname] [-e command] [-w] [-y] [-g][-n] [-c] [-M] [-d1]➢参数-l lmid 启动所有绑定到这个逻辑主机的服务,包括应用Server、TMS、Gateway等等-g grpname 启动grpname包含的所有服务,包括应用Server、TMS等-i srvid 启动所有SRVID为srvid的服务-s aout 启动Server名字为aout的服务,也可以用来启动TMS、Gateway等服务。
Tuxedo中间件介绍融金教育精品PPT课件
当系统管理员需要关闭系统,可以通过系统管理工具将关闭系统 的消息发给服务。服务完成所有交易,取消交易发布,关闭资源连接 然后结束。
【融金教育】 金融软件工程师定向培养
服务端程序开发 –运行流程
数据
打开资源
库资
源
tmboot
发布交易
客户端请求 交易请求
处理请求
到客户端
No 发出回应
关闭?
Yes
【融金教育】 金融软件工程师定向培养
【融金教育】 金融软件工程师定向培养
客户端过程 tpcall();
服务端开发
服务端过程
交易函数体 tpreturn();
tpreturn(TPSUCCESS,0,t->data,0,0);
• 第一个值表示交易是否成功,有3种可能:
• TPSUCCESS 交易完全成功,如果是一个会话,TPEV_SVCSUCC被生成
tuxedo介绍1
Tuxedo总体介绍Tuxedo总体介绍1.1 中间件介绍介于客户机与服务器之间的夹层,它突破了二层C/S结构的局限性,为构建大规模、高性能、分布式C/S应用程序提供了通信、事务、安全、容错等基础服务,它屏蔽了底层技术细节,使应用程序开发不必再从底层做起,以自身的复杂性换来了应用程序开发的简单。
最早具有中间件技术思想及功能的软件是IBM的CICS,但由于CICS不是分布式环境的产物,因此人们一般把Tuxedo作为第一个严格意义上的中间件产品。
Tuxedo是1984年在当时属于AT&&T的贝尔实验室开发完成的,但由于分布式处理当时并没有在商业应用上获得像今天一样的成功,Tuxedo在很长一段时期里只是实验室产品,后来被Novell收购,在经过Novell并不成功的商业推广之后,1995年被现在的BEA公司收购。
尽管中间件的概念很早就已经产生,但中间件技术的广泛运用却是在最近10年之中。
BEA公司1995年成立后收购Tuxedo 才成为一个真正的中间件厂商,IBM的中间件MQSeries也是90年代的产品,其它许多中间件产品也都是最近几年才成熟起来。
简单提一下东方通TongLINK,TONGEASY.TUXEDO为交易中间件。
1.2 TUXEDO是什么TUXEDO名字的由来:Transaction for UNIX has been Extended for Distributed Operation,即被分布式操作扩展之后的UNIX事务系统。
BEA TUXEDO是在企业、Internet 这样的分布式运算环境中开发和管理三层结构的客户/服务器型关键任务应用系统的强有力工具。
它具备分布式事务处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务应用系统。
开发人员能够用它建立跨多个硬件平台、数据库和操作系统的可互操作的应用系统。
在当今系统整合、全球应用、永远可用的业务环境中,企业要求分布式事务处理(TP)的基础结构,不仅能够充分发挥现有技能和应用资产的作用,而且还要具备基于标准的互操作性以简化集成。
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 等。
Tuxedo应用指南(二)
比较类型缓冲区的特点
• 类型缓冲区之间的比较可以从如下几个方面进行:
–是否是自描述的。自描述的缓冲区在tpcall、 tpreturn中可不指定它的大小。 –有无子类型。 –是否支持DDR。根据缓冲区中的某些数据项的值,按指 定的标准将请求路由到不同的服务器组上。支持DDR的 缓冲区一定是带成员的聚集,并且可以按成员名称访 问。 –是否存在编码、解码。不存在时,传输效率高,但异 质支持差
N次交互
基本通信方式(三)
• 消息通知
前面的方式中,服务器是被动的(处理过程需要由客户机 发起)。如果服务器要主动给客户发消息,就要用到消息 通知。
Client Server tpnotify/tpbroadcast
注册的消息处理器
基本通信方式(四)
• 事件代理
Tuxedo有一个事件代理服务器,客户机和服务器可以通过 它订阅或发布事件。
Application
tpbegin tpcall
Server1 TM Database1 RM
tpinit
Client
tpforward
tpreturn
Server2 tpcommit
Database2
基本通信模式(一)
• 请求/响应模型
最基本的通信方式,客户机发起请求,服务器进程处理完请求后将响 应返回客户机。此时,该交互即完成。其中异步是基本的方式: tpcall = tpacall + tpgetrply
Server/Client tpsubscribe 事件处理器 事件代理 Server/Client tppost
/Q
服务的协作方式(一)
大型应用的一次交易处理一般会涉及与多个服务器交互 (多层结构),服务器的协作方式主要有三种:
TUXEDO简介
第二章:TUXEDO简介Tuxedo是BEA公司的交易中间件产品,1984年由贝尔实验室开发成功,1992年易主Novell 公司,1996年由BEA公司收购,经过十多年的不断更新和完善,Tuxedo已经发展成为交易中间件领域事实上的标准。
2.1TUXEDO系统的组成部分BEA TUXEDO是由服务器端的事务管理器、可靠队列服务、应用域以及客户端的工作站等几个核心部分组成的。
下面对这几部分进行介绍。
图TUXEDO核心组成1.事务管理器/T运行于服务器端的事务管理器是TUXEDO体系结构的中心,它是每个TUXEDO服务器的核心,提供重要的分布式应用服务,包括:名字服务、数据路由、负载平衡、配置管理、分布式事务管理和安全性管理。
它包含TUXEDO的核心数据结构公告板BB (Bulletin Board),BB中包括服务名、路由信息、请求服务的队列和负载等基本信息,TUXEDO/T负责访问和维护BB中的信息,并利用这些信息实现其各项功能。
2.工作站/WS工作站把TUXEDO ATMI API((注:ATMI,应用事务管理接口,是支持应用开发的一组函数) 扩展到客户端应用程序中,它适用于DOS、Windows3.1/95/98/2000/XP、Windows NT、IBM OS/2、Macintosh OS和所有商用版的UNIX。
有了工作站,开发者用ATMI客户端的功能可透明访问在TUXEDO分布式环境中任何服务器上的服务。
有了工作站,用户可在常见的编程环境中如:Visual Basic,PowerBuilder,DELPHI,VC等编写TUXEDO的客户端程序。
3.可靠队列服务/QTUXEDO提供了一个简单的可靠的队列机制,保证应用系统提交的请求和数据可在网络故障或目的服务器瘫痪等情况下也能递交到目的服务器。
应用程序能将服务请求入队和出队,并可以设定系统,使队列中的请求自动地转发给 TUXEDO的服务进程,并取回处理结果。
tuxedo基本操作atmi介绍
tuxedo基本操作atmi介绍ATMI(Authenticated Transactional Message Interface)是一种基于消息的分布式事务处理系统,用于在分布式环境中进行交易和通信。
它是Tuxedo系统的主要组成部分,用于支持多个应用程序之间的高性能、可靠和安全的通信。
ATMI提供了一组API,使开发人员能够在一个或多个计算机平台上创建分布式应用程序。
它提供了数据的传输、一致性、可靠性、安全性和事务管理等功能。
下面是ATMI的一些基本操作和功能:1.事务处理:ATMI支持分布式事务,允许应用程序在多个计算机上执行跨系统和跨应用的事务。
它提供了事务的开始、提交和回滚等操作,确保事务的一致性和可靠性。
2.消息传递:ATMI允许应用程序使用消息进行通信。
它提供了发送和接收消息的API,可以在不同的应用程序之间传递数据和命令。
3.远程调用:ATMI支持远程调用,允许应用程序通过网络调用远程服务器上的程序。
它提供了一些API,使开发人员能够方便地进行跨计算机调用。
4.数据传输:ATMI提供了数据传输的功能,可以在应用程序之间传递数据。
它支持常见的数据格式,如字符串、整数和结构体等。
5.容错性:ATMI具有高度的容错性,可以处理网络故障和系统故障等情况。
它可以自动进行故障恢复,并保持事务的一致性。
6.安全性:ATMI提供了安全性的功能,确保数据在传输过程中的机密性和完整性。
它支持加密和身份验证等机制,保护数据的安全。
7.并发控制:ATMI提供了并发控制的功能,可以对并发访问进行控制。
它使用锁和信号量等机制,确保多个应用程序之间的数据一致性。
总的来说,ATMI是一个强大而灵活的分布式事务处理系统,提供了丰富的功能和API,使开发人员能够构建高性能、可靠和安全的分布式应用程序。
它可以在不同的计算机平台上运行,并支持多种开发语言和数据格式。
无论是企业级系统还是互联网应用程序,ATMI都是一个理想的选择。
TUXEDO教程
TUXEDO教程TUXEDO(The UniX Environment Developed for Operation)是一个基于UNIX的操作系统,它主要用于日常办公和个人使用。
TUXEDO具有简洁、稳定、高效的特点,而且非常容易上手。
在本教程中,我将为大家介绍TUXEDO的基本操作和一些常用功能。
第一部分:TUXEDO的安装和设置第二步:设置TUXEDO安装完成后,你需要对TUXEDO进行一些基本的设置。
例如,你可以设置语言和时区,还可以选择你喜欢的桌面环境。
在这一步,你应该根据自己的需求进行个性化设置。
第二部分:TUXEDO的基本操作1.系统登录启动TUXEDO后,你将会看到一个登录界面。
输入你的用户名和密码,然后点击登录按钮,你就可以进入系统了。
2.桌面环境3.文件管理在TUXEDO中,你可以使用Nautilus(GNOME)、Dolphin(KDE Plasma)等文件管理器来浏览你的文件夹和文件。
你可以通过双击文件夹打开它,或者使用右键菜单进行一些操作,比如复制、剪切、重命名等。
4.应用程序的安装和卸载5.系统更新6.终端操作TUXEDO提供了一个终端,你可以使用它来进行一些高级操作,比如安装软件包、管理用户、执行命令等。
通过打开终端,你可以输入一些命令来完成你想要的操作。
例如,你可以使用“sudo apt-get install<package>”来安装软件包。
第三部分:TUXEDO的高级功能1.多用户管理2.网络设置3.数据备份和恢复在TUXEDO中,你可以使用备份工具来备份你的重要文件和数据。
通过备份工具,你可以选择要备份的文件和文件夹,然后设置备份的位置和计划。
当你需要恢复数据时,只需使用备份工具来选择要恢复的文件和备份位置即可。
4.安全和隐私总结:通过这个教程,你应该已经了解了TUXEDO的基本操作和一些常用功能。
希望这个教程能够帮助你更好地使用TUXEDO,并享受到它简洁、稳定和高效的特点。
tuxedo命令和配置的详细解释及应用实例
tuxedo命令和配置的详细解释及应用实例域的组成BDMCONFIG:二进制配置文件DMADM:域管理服务器,管理多个GWADMGWADM:运行时网关管理服务器,从DMADM服务器上获取域信息GWTDOMAIN:是一个网关进程,在域之间转发消息tmshutdown/tmboot -s 服务名按服务名停/启单个服务tmshutdown/tmboot -S (大写的S)停/启所有服务tmshutdown/tmboot -i 进程号按进程号停/启单个服务tmshutdown/tmboot -g 组名字按组停/启服务tmshutdown/tmboot -y -w1 按用户停/启服务tmloadcf -n 文件名只做语法检查不编译tmloadcf -y 文件名编译二进制文件tmloadcf -c 文件名测试IPC资源最小需求tmadmin -v 版本tmadmin>bbp 查BB的参数bbs BB统计信息pclt 连接客户端信息psr server信息psc service信息pt 当前事物信息pq 队列信息echo psr|tmadmin|grep -v IDLEecho psr|tmadmin|sort +4echo psc|tmadmin|sort +6echo pq|tmadmin|sort +4echo pclt|tmadmin|grep -v WSH|grep -v tmadmin以下是tmadmin命令的printserver(简写为psr)的简单输出。
列号描述1. 服务的可执行文件名2. 服务连接的队列名3. 组名4. 服务的数字id5. 服务已经处理的请求数6. 服务处理的全部请求的参数和7. 服务正在处理的交易,若为IDLE则服务当前是空闲ccsmis:/home2/ccsmis>tmadmintmadmin - Copyright (c) 1996 BEA Systems, Inc.Portions * Copyright 1986-1997 RSA Data Security, Inc.All Rights Reserved.Distributed under license by BEA Systems, Inc.Tuxedo is a registered trademark.> printserverProg Name Queue Name Grp Name ID RqDone Load Done Current Service --------- ---------- -------- -- ------ --------- --------------- rz_Ecsb 00004.04000 APGP2 4000 0 0 ( IDLE )BBL 70020 simple 0 1 50 ( IDLE ) IFMTMS APGP2_TMS APGP2 30001 1 50 ( IDLE )交易信息来自GAI的信息本处略去。
Tuxedo产品介绍
Tuxedo产品介绍近几年来,以交易中间件为框架基础的三层客户机/服务器模式已被广泛证实为建立开放式关键业务应用系统的最佳环境。
这种模式的成功使用已为许多国际大型企业在应用的开发与部署方面节约了大量的时间与金钱。
三层客户机/服务器模式的核心概念是利用交易中间件将应用的业务逻辑、表示逻辑与数据分为三个不一致的处理层,从而使其应用系统不但具备了大型机系统稳固、安全与处理能力高等特性,同时拥有开放式系统成本低、可扩展性强、开发周期短等优点。
而交易中间件作为构造三层结构应用系统的基础平台,提供了下列两个要紧功能:负责客户机与服务器间的联接与通讯;提供一个三层结构应用开发与运行的平台。
交易中间件提供一个基础的框架去帮助你建立、运行与管理一个三层客户机/服务器模式的应用,使你不需要从零做起,大大缩短了应用开发的时间,提高了应用开发的成功率。
根据StandiShGrOUP的调查报告,使用一个成熟的交易中间件产品能够为应用开发节约25%-50%的时间。
而通过自己去开发应用里中间件功能的项目,有90%以上以失败告终。
一个优秀的交易中间件应具备下列六个条件:(1)成熟、稳固、可靠(2)很强的产品生命力(3)完整、高质量的功能(4)优秀的性能(5)开放、遵循标准(6)简单、易用而TUXEDo就是一个具备了以上所有条件的优秀的中间件产品。
本节将对TUXEDO进行介绍,包含下列内容:1 BEATUXEDo的技术特色2 BEATUXEDO的核心系统构成3TUXEDO才支术详述3.1 高速数据甬道3.2 目录服务的实现3.3 通讯服务3.4 负载平衡3.5 优先级3.6 伸缩性与动态配置的支持3.7 故障恢复与稳固的运行环境3.8 安全性3.9 交易完整性与分布式事务处理3.10 支持多种数据类型与字段操纵语言3.11 管理3.12 网络调度与通讯失败的自动恢复3.13 提供5种APl3.14 支持字符界面的开发3.15 对远程安装,设置的支持4国际化5与数据库的连接6开发工具7跨平台支持8互连性9典型开发过程简介10节约费用1. BEATUXEDO的技术特点、(1)最成熟、稳固、可靠的开放平台交易中间件产品•16年的历史,世界第一个开放平台交易中间件产品•数千个大型客户,数百万个前端用户,每天处理数亿笔交易•在全球交易中间件市场(包含WAS)上占据了46%的市场占有率,包含主机平台,开放系统等等,而第二名的旧M只占据了9%(来自IDC1999 报告)(2)最强生命力的开放平台交易中间件产品•以开放为本,BEATUXEDo出身于开放系统的化身一UNIX,从其基础体系结构上就是开放的,目的是支持所有开放的系统资源。
TUXEDO函数说明
TUXEDO 函数说明(中文)作者:来自:阅读次数:3 [大中小]--------------------------------------------------------------------------------TUXEDO函数说明-收集整理1与缓冲区使用有关的A TMI 21.1 tpalloc. 21.2 tprealloc. 21.3 tpfree. 21.4 tptypes. 22常用的FML(FML32)操作函数 (3)2.1 Falloc. 32.2 Finit 32.3 Fadd. 32. 4Fchg. 32.5 Fget 42.5 Fprint 42.6 Ferror 43连接的建立与断开有关的A TMI 53.1 tpchkauth. 53.2 tpinit 53.3 tpterm.. 64与请求TUXEDO SERVER 有关的ATMI 64.1 tpcall 64.2 tpacall 74.3 tpgetrply. 74.4 tpcancel 74.5 tpgprio. 84.6 tpsprio. 85与请求错误处理有关的A TMI 85.1 tpstrerror 85.2 tperrordetail 95.3 tpstrerrordetail 91与缓冲区使用有关的A TMI1.1 tpallocchar * tpalloc(char *type, char *subtype, long size)描述:分配缓冲区参数:type:缓冲区的类型subtype:缓冲区的子类型,只有VIEW有子类型,其他的缓冲区该参数要设为NULL long:缓冲区的大小返回值: 成功返回一个指向所分配空间首地址的CHAR *形指针,失败返回NULL。
1.2 tpreallocchar * tprealloc(char *ptr, long size)描述:重新分配缓冲区参数:ptr:指向原缓冲区首地址的指针size:新缓冲区的大小返回值: 成功返回一个指向新分配空间首地址的CHAR *形指针,失败返回NULL。
TUXEDO培训教材-(上)
TUXEDO培训教材(上)第1节概述1.1培训目标:了解使用中间件的三层应用架构模式。
了解BEATUXEDO基本特性。
能应用TUXEDO进行具体应用的开发。
了解TUXEDO各项配置参数的含义。
了解TUXEDO管理工具的使用1.2培训内容:TUXEDO基本特性介绍使用TUXEDO进行应用的开发TUXEDO配置参数介绍TUXEDO系统设计要点1.3内容概述1.3.1TUXEDO基本特性介绍中间件的基本概念TUXEDO功能简介1.3.2使用TUXEDO进行应用的开发编写一个TUXEDO应用程序的基本步骤客户端程序的编写服务端程序的编写TUXEDO常见ATMI函数说明1.3.3TUXEDO配置参数详解TUXEDO配置文件的组成各组成部分的参数含义1.3.4TUXEDO管理工具的使用启动、关闭TUXEDO应用命令行管理工具的使用(tmadmin)1.3.5TUXEDO应用系统设计要点1.4术语定义BB:(BulletinBoard)TUXEDO应用启动时由BBL进程创建的共享内存块,包含了TUXEDO 用来进行管理所需要的全部信息ATMI:(Application-to-TransactionMonitorInterface)面向事务的应用程序编程接口Server:是一个进程,守候一个消息队列Service:是一个单一的函数。
一个server可以包含多个services.DDR:(DataDependantRouting)数据依赖路由PRIO:(Priority)TUXEDO服务优先级机制ACLs:(AccessControlLists)访问控制列表。
TUXEDO的安全控制机制一种。
CLOPT:(CommandLineOption)命令行参数。
这是TUXEDO配置文件ServerSection一个参数,在服务进程启动时,用来向服务进程传递参数。
MSSQ:(MultipleServerSingleQueue)TUXEDO多服务单队列机制。
Tuxedo基本命令使用
Tuxedo基本命令使用
——樊瑞
1.tmloadcf编译ubbsimple配置文件文件,将配置文件ubbsimple编译成二进制配置文件
使用示例:
tmloadcf -y ubbsimple
-y 参数是为了替换原有的配置文件
无报错即为正确,同时当前文件夹上新增一个tuxconfig配置文件(文件名跟环境变量中TUXCONFIG配置的路径和文件名一致)
2.tmunloadcf 反编译二进制配置文件tuxconfig
使用示例:tmunloadcf
无需任何参数,反编译环境变量TUXCONFIG指向的配置文件,可以准确的查看到当前运行服务的配置情况
3.tmboot启动服务,启动环境变量中配置的TUXDIR中指定的文件夹下的服务使用示例:
tmboot -y
-y启动所有的管理服务进程和服务进程
4.tmshutdown 停止服务,停止当前环境变量TUXDIR文件夹下的服务
使用示例:tmshutdown -y
-y:是否关闭所有服务
5.tmipcrm强制注销进程和服务
使用示例:tmipcrm -y
-y:是否需要移除tuxedo服务器占用的IPC资源,一般用于服务无法tmshutdown的情况,属
于强制关闭,数据将丢失。
6.tmadmin tuxedo管理命令入口使用示例:tmadmin
6.1 h帮助信息
6.2 psc 打印服务,查看当前运行服务信息
6.3 pq,查看当前队列信息
6.4 pclt查看当前连接信息
6.5 default设置默认信息6.6 psr答应服务进程信息。
TUXEDO监控之MIB接口
TUXEDO监控之MIB接口TUXEDO这个产品在公司社保这个行业通讯产品中得到了非常成功的运用,从公司第一个tuxedo通讯产品的诞生到现在成熟产品的广泛使用,公司产品经历了不断的淬炼和完善。
而我自己也从一个初学者慢慢成长为对该产品有了深入的了解,并积累了丰富的行业经验。
Tuxedo是一个相当庞大的产品,涉及的内容相当广泛。
在公司产品广泛使用的事情,我整理出了一点关于用MIB来监控tuxedo应用方面的资料,与大家共勉和探讨:很多人对tuxedo的开发方面有一定的了解,对于MIB可能是第一次听到,其实MIB就是一套TUXEDO提供了一套可编程的管理员API接口(Management Information Bases),我们通常简称为MIB。
我们知道,TUXEDO这个产品提供了丰富的API编程接口给第三方调用,基于这种接口,在TUXEDO产品基础上,我们可以开发第三方接口产品,来完善和辅助TUXEDO的基本应用,实现我们想要的功能,比如监控,管理,报告等等。
市场上很多第三方监控软件的开发都依赖于这些接口实现。
通过MIB接口我们可以编程实现对TUXEDO运行时的所有系统资源的监控,比较常用的资源监控如下:✧SERVER和SERVICE的运行状况✧SERVER队列和消息队列的资源情况✧客户端的使用情况✧域间通讯的连接情况✧系统的资源配置MIB接口将系统资源划分为三种类型:✧ClassesClasses指资源的分组,例如SERVER、SERVICE、CLIENT、QUEUE、MSG等,主要的Classes的类型有T_MACHINE、T_GROUP、T_SERVER 、T_SERVICE 、T_SVCGRP、T_QUEUE、T_MSG T_DOMAIN、T_CLIENT等。
✧AttributesAttributes指Classes对应的属性,例如SERVER的属性有SERVERNAME、SRVGRP、SRVID和运行时的参数值等属性。
TUXEDO简介及命令介绍
Tuxedo是一个客户机/服务器的―中间件‖产品,它在客户机和服务器之间进行调节,以保证正确地处理事务。
Tuxedo是一个事务处理(TP)监督器,它管理联机事务处理(OLTP)系统(参见―事务处理‖)操作的事务。
客户通过结构化查询语言(SQL)调用,或其它类型的请求,产生对服务器的请求。
这个事务处理监督器确信,正确地进行了修改,以保证数据的完整性。
这在一个事务可以改变多个位置的数据库的分布式数据库环境是非常重要的。
这个事务处理监督器使用双阶段提交,以保证所有的数据库都已经接收和认可了这些数据的正确性。
否则,这个数据库返回它的事务前状态。
事务监督器从前都是与大的大型计算机系统联系在一起的,但是Tuxedo的设计是为了在不昂贵的基于UNIX的系统上运行。
AT&T最初是作为它自己使用的联机事务处理开发Tuxedo的。
虽然Tuxedo必须在U-NIX系统上运行,但是它可以与DOS、OS/2、Windows和UNIX客户一起工作。
它还使用通用的通信协议,如传输控制协议/因特网协议(TCP/IP)和网络基本输入输出系统(NetBIOS),并且可以在这些环境提供分布式处理支持。
例如,它可以根据请求的类型,服务请求从一个客户选择路由到一个特定的服务器。
Tuxedo的基本特征是它的联机事务处理系统,但是,Tuxedo也工作于集成关系型的平面文件,以及层次数据库系统。
相关条目:Connectionless and Connection-Oriented Transactions无连接和面向连接事务;Transaction Processing 事务处理。
Tuxedo作为电子商务交易平台,它允许客户机和服务器参与一个涉及多个数据库协调更新的交易,并能够确保数据的完整性。
BEA Tuxedo一个特色功能是能够保证对电子商务应用系统的不间断访问。
它可以对系统组件进行持续的监视,查看是否有应用系统、交易、网络及硬件的故障。
Tuxedo完全操作手册
Tuxedo完全操作⼿册⼀、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节包含应⽤有关的每个处理器的信息。
tuxedo_atmi
Tuxedo基本命令和基本函数总汇一、Tuxedo基本命令#1.设置环境变量TUXDIR,APPDIR,TUXCONFIG,LANG(跟OS相关),LD_LIBRARY_PATH(跟OS相关)#2.编译ubb文本生成二进制配置文件:tmloadcf ?Cy ubbconfig#3.所有机器上运行tlisten,具体见文档中NETWORK一节#4.启动tmboot ?Cy#5.关闭tmshutdown ?Cy参数:-A 在所有机器上启动/关闭管理的Server进程-M 只在MASTER机器上启动/关闭管理的Server进程-i srvid 启动/关闭某个server id指定的Server进程-g grpname 启动/关闭某个server group名字指定的Server Group-S 启动/关闭所有应用服务器(LMID)-s server-name 启动/关闭某个server名字指定的Server进程-l lmid option 在指定的机器上启动/关闭所有TMS进程和应用服务器(LMID)-T grpname 启动/关闭指定的server group中所有的TMS进程-B lmid 在指定的机器上启动/关闭BBL进程-e command 指定一个程序可以当在MASTER机器上启动任何一个进程失败时执行-c 计算出当前UBB配置的Tuxedo启动最少要占用的系统IPC资源#用tmunloadcf > generated.ubb 可以得出目前配置得UBB文件所有得参数值(没有设置的有缺省值)#用tmloadcf ?Cc或tmboot ?Cc可以计算出当前UBB配置的Tuxedo启动最少要占用的系统IPC资源。
二、UBB文件配置说明UBB配置文件分成*RESOURCES,*GROUP,*SERVER,*SERVICE,*NETWORK等若干节。
DEFAULT表示该节中所有对象共有的缺省属性。
tuxedo客户端ATMI
Tuxedo客户端ATMI1.Client端ATMI:(1)int tperrno()功能:获取当前错误代号。
输入参数:输出参数:返回:错误代号。
(2)char *tpstrerror(int tperrno)功能:获取错误信息。
输入参数:tperrno 错误代号。
输出参数:返回:错误信息字符串指针。
(3)char *tpalloc(char *type, char *subtype, long size)功能:申请内存缓冲区。
输入参数:type 缓冲区类型。
subtype 缓冲区子类型。
size 缓冲区长度。
输出参数:返回:缓冲区指针。
如果失败,则返回空指针。
(4)char *tprealloc(char *bufptr, long size)功能:修改已分配缓冲区长度。
输入参数:bufptr 已分配缓冲区指针。
size 新缓冲区长度。
输出参数:返回:新缓冲区指针。
如果失败,则返回空指针。
(5)void tpfree(char *bufptr)功能:释放已分配缓冲区。
输入参数:bufptr 已分配缓冲区指针。
输出参数:返回:(6)int tpchkauth()功能:获取安全认证级别。
输入参数:输出参数:返回:TPNOAUTH 不需要密码。
TPSYSAUTH 需要密码。
TPAPPAUTH 需要密码及应用特别信息。
TPACLAUTH 访问控制表处于活动状态。
其他失败。
(7)int tpinit(TPINIT *tpinfo)功能:初始化一个应用。
输入参数:tpinfo 初始化信息结构。
该结构定义如下:struct {char usrname[32]; (用户名,32字节)char cltname[32]; (终端名称,32字节)char passwd[32]; (密码,前8字节有意义)char grpname[32]; (组名,32字节)long flags; (通知类型及系统访问方式标志)TPU_SIG 选择信号通知。
tuxedo日常保护手册
tuxedo日常保护手册变更记录目录变更记录 .................................................................................................... 错误!未定义书签。
第一章安装步骤................................................................................. 错误!未定义书签。
安装前的准备工作 ................................................................................ 错误!未定义书签。
创建tuxedo软件对应用户............................................................... 错误!未定义书签。
上传安装介质包 ................................................................................ 错误!未定义书签。
软件安装 .............................................................................................. 错误!未定义书签。
tuxedo软件安装.............................................................................. 错误!未定义书签。
配置环境变量 .................................................................................. 错误!未定义书签。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
系统自带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缓冲区没有变化。
若交易返回的消息不符客户端要求,则无法判断应用状态,此时原来的缓冲区保持不变。
如果交易超时,响应数据不会被发送。
发布与取消交易名:当一个服务进程被启动后,它会根据配置文件来向公告板上广告自己有交易名。
这通常由buildserver命令执行时完成。
tpcall:客户端收到响应后。
总是应该使用返回参数中的地址,并比较缓冲区是否有变化。
tpacall:返回值为一个描述符,供tpreply使用。
若标志位包含了tpnoreply,返回的描述符为无符值,不能被随后的tpgetrply引用。
即使在事务模式下,响应可能未全部到达,但仍允许客户端提交,为保证不出错,要尽量保证所有的响应能到达。
在一个事务中,可以为tpcall,tpacall都指定TPNOREPLY,TPNOTRAN标志。
关于缓冲区的参数,type,subtype都要和服务端所期望的类型完全相同。
否则系统会出错。
tpacall的缓冲区只要在返回后,就立即可用作下一次发送请求。
tpgetrply的len指针不能为空。
此函数会一直阻塞直到收到响应。
tpsprio只用作用于接下来的一个请求,无论是同步,异步,被转发的。
其默认值为对应交易的值。
基于对话的开发:对话服务进程不允许使用请求转发。
同一个服务端/客户端都可以同时进行多个会话,最大值为64建立连接的时候,可同时进行数据的发送。
会话内依然可以使用tpcall,tpacall呼叫其它的交易。
建议在服务端使用tpreturn结束连接。
遭遇异常时,可由客户端使用tpdiscon来断开连接。
对话开始时由tpconnect 建立的连接是一个半双工的虚连接:只有获得当前连接控制权的一方才能使用tpsend发送数据。
通过由控制方指定标志值可将连接的控制权转移至连接的另一端。
如果客户端tpconnect时指定了TPSENDONLY则表明客户端取得控制权,若为TPRECVONLY表明服务端取得控制权。
tpsend可指定标志值,而tprecv可获得事件值。
对于具有层级的会话(嵌套会话),为了使多个会话能有序地断开连接,一般由被调用的最深层次的服务端调用tpreturn来终止连接。
基于全局事务的开发:可以跨越多个服务器上的多个资源管理器,并将提交给它们的多个事务共同作为一个大的逻辑事务,要么全部提交,要么全部回滚。
如果某个事务内调用了带有TPNOTRAN标志值的tpcall,tpacall,tpconnect,则它们执行的成功与否不被事务管理器所参考用来提交与回滚但事务依然会因此某个呼叫等待而超时。
事务内可以使用会话。
已经开始的事务内不可以再调用tpbegin().tpbegin:timeout参数应该参考tuxconfig中SCANUNIT(默认为10s)的值,与实际应用关系较大,若和用户交互等待时间较短,处于生产环境时此时间较长。
flags目前必须置0. SCANUNI值指示系统扫描阻塞的交易调用或超时事务的周期。
tpsuspend,tpresume:事务可以被暂停与继续,除了当前还有未处理的异步事件时。
另一个进程可以根据事务标识符来恢复事务。
tpcommit:必须由调用tpbegin的进程来调用tpcommit,tpabort.否则无效。
在未收到响应时,不应使用tpcommit. 当之前的调用失败时,tpcommit不应被使用。
两步提交:主管理器向所有从管理器发送提交指示,所有从设备回送准备完成时,才最终提交所有事务。
tpcommit可以在一步提交时返回,也可以在两步提交后返回。
tpabort:用来结束一个事务,之前未收到响应的所有呼叫描述符都会不可用,而且事务之前所做的改变都会被回滚。
可以在服务端设置AUTORUN为Y,使得一个事务可以自动开始。
这样在收到一个带有tpnotran的tpcall时,不会有意料之外的情况。
关于客户端与服务端是否共同支持事务的讨论比较多。
关于tuxedo队列的开发:tuxedo队列支持出队,入队,转发等操作,并且负责管理基于事务的队列。
使用tuxedo队列,管理员需要做如下任务:定义一个组,专用于队列,比如TMS_QM。
服务进程TMQUEUE,TMQFORWARD,需要被定义。
队列空间需要被创建。
事务中使用队列:系统允许我们在同一个事务中先出队响应,再入队请求。
但不允许先入队请求,再出队响应。
在同一个事务中用于入队的请求需要及时成功提交(若入队后,事务回滚,则某些tpcall可能会重做多次),即使响应当前还未到达。
若出队操作失败,并且当前事务回滚,可以通过配置重试次数与重试间隔来再次dequque.关于出错处理:tperrno :所有的atmi函数如果返回值不正常,系统都会设置tperrno. 对于tpreturn,tpforward,它们用来结束一个交易,服务端通过返回值即可判断出错。
客户端只能通过检查tpcall返回值后,再tperrno来检查是否出错原因。
tpurcode:通过tpreturn的rcode用来设置tpurcode值,该值用来表示应用自定义的一些状态,与tpreturn的返回值是否正常无关。
tuxedo系统错误:当发现系统级错误时,tuxedo会向事务日志中心发送一条日志消息,并设置tperrno.呼叫描述符错误:在异步呼叫时,请求端与响应端通过呼叫描述符来关联匹配。
会话型呼叫时,虚拟连接通过呼叫描述符来标识。
描述符的数量若超出资源限制,则出错。
一个应用的同一个上下文中只允许有50个未响应的消息在排队。
描述符若无效,则不能使用。
如事务结束或超时后,描述符不可以再被使用。
对话错误:如果一个描述符不可用,tpsend,tprecv,tpdiscon返回错误。
在对话连接建立后,若有事件发生,tpsend会发送失败,并且revent值会被设置。
重复对象错误:交易名不可被重复声明,事务不可被多次恢复,事件不可被多次订阅。
通信错误tpesvcfail,tpesvcerr:如果tpreturn在处理过程中发生错误,返回错误并设置tperrno为tpesvcerr,数据不被发送。
对端通过tperrno来获知错误。
如果通过用户编码返回rval为tpfail则系统将tperrno设为tpesvcfail,表示这属于应用自定义的异常,并将数据发送至对端。
通信错误tpeblock,tpgotsig如果tpcall指定TPNOBLICK而发送数据过程中被阻塞,则返回TPEBLOCK。
此标志值指定发送数据过程而不限定立即得到响应。
如果函数处理过程被信号中断,则返回tpgotsig.可通过在标志值tpsigrstrt来保证函数自动重启不致失败。
参数不合法:应用级别的错误,tuxedo系统可以自动检测,建议在应用级别检查所传参数合法。
无效条目:通常在分配资源类函数中,若系统在资源范围内找不到对应的类型标识会返回。
tpalloc中指定了无效的缓冲类型。
tpinit无法在公告板中为自身创建条目,此时公告板空间可能不够。
tpcall请求的交易还未在公告板注册。
tpconnect请求的服务名不存在。
或该服务类型不是对话类型的。
togprio中指定的请求并不存在。
tpunadvertise中指定的订阅名不存在。
tpenqueue/dequque,指定的队列不可用。
tppost/subscribe系统事件分发器不可访问。
操作系统错误:如果tperrno 返回TPEOS,则表明某个系统调用失败。
此时可以使用Uunixerr来获得对应的系统errno.权限错误:若tpinit失败,同时tperrno被置为TPEPERM,则表明配置文件有问题。
协议错误(TPEPROTO):主要由函数调用的顺序不当或函数在不恰当的进程内被调用未加入应用就调用tpcall。
未进行tpbegin.却调用tpcommit.队列错误(TPEDIAGNOSTIC):错误原因可由ctl缓冲取得。
资源管理器错误(TPERMERR):tpopen,tpclose发生错误,错误原因需要对数据库相关信息进行判断。
超时错误:在配置文件中可以定义两种时间限制。
一个应用等待响应的时间,称为阻塞时间。
一个事务处理的时间,称为事务超时。
在事务模式下,若系统返回TPETIME表明一个事务超时。
事务处理时,事务超时的作用会覆盖掉阻塞超时。
普通模式下,若一个异步呼叫超时,调用会失败,但呼叫标识符仍可用。
若发生了事务超时,则其中进行的异步呼叫对应的呼叫标识符不再可用。
缓冲区类型错误:函数发现不识别的缓冲区类型。
事务专题:在事务模式下,需要遵循如下建议,隶属于同个事务的所有进程,如果发送了请求则要等待响应。