tuxedo错误解析和常用配置说明_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
2
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 775 | 回复: 1   主题: tuxedo错误解析和常用配置说明        下一篇 
曹先丰
注册用户
等级:中士
经验:208
发帖:72
精华:0
注册:2012-1-9
状态:离线
发送短消息息给曹先丰 加好友    发送短消息息给曹先丰 发消息
发表于: IP:您无权察看 2015-4-8 17:37:24 | [全部帖] [楼主帖] 楼主

tmboot之后的信息如下:

exec XServer :
CMDTUX_CAT:1685: ERROR: Application initialization failure


这个服务是一个数据库的服务,连接用的用户名、密码、数据库名字都正确,但还是启动不了服务。

1685:Server failed to boot due to application initialization failure from tpsvrinit(3c).
ULOG:
CMDTUX_CAT:1685: ERROR: Application initialization failure
201838.dzyh!WSH.882.3086894784.0: 11-17-2008: Tuxedo Version 8.1, 32-bit
201838.dzyh!WSH.882.3086894784.0: LIBTUX_CAT:681: ERROR: Failure to create message queue
201838.dzyh!WSH.882.3086894784.0: WSNAT_CAT:1088: ERROR: tpinit() failed, tperrno = 7
201838.dzyh!WSL.878.3085956800.0: WSNAT_CAT:1079: ERROR: Error starting minimum number of handlers
201838.dzyh!WSL.878.3085956800.0: LIBTUX_CAT:250: ERROR: tpsvrinit() failed


原因分析:Linux系统的内核参数msgmni设置太小无法满足Tuxedo的需求而导致该服务启动失败
解决方法:
1.以tmloadcfg -c ubbcfg 所显示要求的是系统最低的资源要求
2.
root登陆

sysctl -a
kernel.msgmni = 16   (默认值)  //msgmni系统限制参数
kernel.msgmax = 8192 (默认值)
vi /etc/sysctl.conf
#添加
kernel.msgmni = 260
kernel.msgmax = 16384
sysctl -p
tmboot -y
====================================================================================================


1、执行tmadmin命令,出现如下错误

NLS:4: Cannot open message catalog TMADMIN_CAT, set 1, num 184; check TUXDIR=/home/dev/app/tuxedo8.1, LANG=zh_CN.GB18030


可以肯定,这个错误是由字符集引起的,我用的是简体中文linux
添加环境变量vi .bash_profile 添加如下内容

export LANG=C


保存退出,source .bash_profile 使环境变量生效

2、再执行tmadmin,这个错误消失,但是出现了如下错误:

tmadmin - Copyright (c) 1996-1999 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.
TMADMIN_CAT:188: ERROR: Error while obtaining the Bulletin Board parameters


分析上面的信息,因为没有编译生成TUXCONFIG指向的文件,即公告牌文件
经过上面一些配置,已经可以使用tuxedo了,后面配置公告文件和开发程序都是开发的内容

3、在tuxedo客户端程序中,调用tpinit失败,返回-1,tperrno=12:internal system error
在用buildclient编译客户端程序的时候,如果加入了-w选项,那么必须设置WSADDR环境变量,如果没有采用-w选项,那么默认请求本地的服务。
如果在编译客户端程序的时候,采用了-w选项,而又没有正确设置WSADDR环境变量,那么tpinit失败,返回-1,tperrno=12;
同时UBB中,需要访问服务所在的组也必须设置WSL选项,如:

WSL SRVGRP=GROUP1 SRVID=2 MAXGEN=2 CLOPT=" -A -- -n //192.168.1.201:3195 -m 2 -M 6 -x 10"


同时在*MACHINE节点设置MAXWSCLIENTS=5,MAXWSCLIENTS是最大的WSL client数。
在客户端程序运行的时候export WSNADDR=//192.168.1.201:3195,就可以访问服务了。
如果在编译客户端程序的时候,没有采用-w选项,默认访问本地的服务,不需要设置WSADDR环境变量。

4.WSL启动失败
WSL启动失败的原因有很多,比如:UBB中没配置MAXWSCLIENTS,WSL的端口和别人冲突等等。需要看ULOG才能确定具体原因。

5\tpcall有时莫名的返回-1
tpcall后,不管是否成功,都要释放memory(上边tpalloc等函数申请的memory)。然后才能tpterm。

6、启动服务的时候现实如下的信息:

CMDTUX_CAT:819: INFO: Process id=1956 Assume started (pipe).


这时需要看一下程序,是否在程序中tpsvrinit函数时已经异常退出。

7、启动服务tmboot -y的时候出现如下的错误信息:

mboot: WARN: No BBL available on site srd.
Will not attempt to boot server processes on that site.


注意:该方法错误: 去除MACHINES中的TLOGDEVICE="/home/srd/srdapp/bin/TLOG"定义就可以解决。

正确方法如下:

tmadmin登录到管理界面,使用crdl和crlog创建tlog,比如:

> crdl -z /home/tuxedo/logs/tlog -b 2048
> crlog -m simple


8、在启动tuxedo服务的时候,报如下错误信息:

LIBTUX_CAT:328: ERROR: No space in Bulletin Board for Server Table


ubb中的MAXWSCLIENTS,MAXACCESSERS参数值太小,适当修改这个两个参数值就可以了.

9、在执行tmloadcf的时候,报如下错误:

CMDTUX_CAT:1615: ERROR: Identifier or number must be followed by white space or punctuation


说明某个关键字后面需要有空格或者回车,根据错误信息在相应出错的位置添加空格就可以了。

10、执行tmboot -y启动服务的时候,报如下错误:

TPELIMIT - a system limit has been reached
CMDTUX_CAT:1685: ERROR: Application initialization failure
No space in Bulletin Board for Service Table


有上面的信息可以看出,是tuxedo配置的一些资源有限制,可以修改ubbconfig配置文件中的参数 MAXACCESSERS,MAXSERVERS,MAXSERVICES,MAXGTT来申请更多的资源,将上面的参数适当增大知道不出现错误信息为 止,具体增加多少根据自己的系统配置和需求决定。

------------------------------------------------------------------------------------------------------------

1. ubbconfig配置中机器名配置:windows环境中一定要大写,unix中可用uname -n查看。
2. tmboot 起不来常与这几个参数相关,并容易混淆,建议关注。
MAXACCESSERS,MAXSERVERS,MAXSERVICES:这三个参数控制该TUXEDO应用系统对IPC资源的使用情况。
MAXACCESSERS: 在本系统的一个节点(一台服务器)上,同时可以有多少个进程可以访问该TUXEDO系统的公告板,默认值为50,它包括本地客户端进程,SERVER进程,但不包括管理进程如:BBL,DBBL等。
MAXSERVERS: 在本系统中,总共可以有多少个SERVER存在,包括进行管理的SERVER,如:BBL,TMS等。默认值为50。
MAXSERVICES: 在本系统中,总共可以有多少个SEVICE存在, 默认值为100。 
MAXCONV: 在一台服务器上最多可以有多少个会话同时存在。范围:0-32768,默认为10
3. 不同版本的tuxedo互连问题:如果是WSL模式:低联高版本在WSL中加入-t参数,如CLOPT=”-A -t ??n//机器名:端口号,高联低版本应在环境变量中设置WSINTOPPRE71=yes;如果是域模式:低联高版本应该在ubbconfig中的 SERVERS配置GWADM的CLOPT中加入-t参数,例如GWADM   SRVGRP=LGWGRP SRVID=3 REPLYQ=N CLOPT="-A -t -- "
4. 在dmconfig中如果配置了多个域,并且指定远端域服务时应该指定域服务路由(即远端服务的本地域是什么,远端域是什么),否则报协议错误,例如*DM_REMOTE_SERVICES

SERV_1   LDOM=TDOM1 RDOM=TDOM3 RNAME=SERV_1
SERV_2   LDOM=TDOM1 RDOM=TDOM3 RNAME=SERV_2


5. 用户用tmadmin进入了管理进程,如果没有退出,另外用户用tmadmin进入管理进程,就成为受限管理用户,部分命令不能使用。
6. Tuxedo Domain-level Failover 的工作特点和配置方式:
特点
当本地domain与主的远端domain连接失败时,本地Domain将请求转发到另一个备份的远端domain上。支持自动failback。当主 domain恢复正常时,本地domain可以将请求转发回主domain。CONNECTION_POLICY必须配置成ON_STARTUP或者是 INCOMING_ONLY 。Domain-level要求本地domain与主domain和备份domain之间都建立好socket连接。可以有多个远端的备份domain

配置方法
在Domain 配置文件(dmconfig)中的DM_REMOTE_SERVICES处按以下方法配置Service,用逗号分割Service所在的远端 domain ID,如:RDOM=identifier_1, identifier_2, identifier_3 

 *DM_REMOTE_SERVICES
DEFAULT: RDOM=R1, R2, R3
TOUPPER
TOLOWER


 R1是主domain,后面的是备份domain
7. Tuxedo7.1及其以后的版本才正式支持多线程环境。在6.5版本,在Windows上有个客户端的多线程附加包,安装后可以用多线程方式并发调用服务,而在unix环境下6。5版不支持。
8. 如何在Tuxedo7.1中使用Fprint打印中文,应该配置环境变量 FML_PRINT_NOHEX =yes
9. unix环境下可以通过配置环境变量TUXCONFIG和BDMCONFIG的不同目录,可以在一个用户中启动两套完全独立的BBL和两套应用,并在相应的环境变量下管理相应的应用。
10. 在Tuxedo中有许多关于时间方面的参数,

SCANUNIT :


BBL系统进程对Bulletin Board的管理和监控是基于时间片的轮询方式,时间片的大小就是SCANUNIT的值,SCANUNIT是Tuxedo对系统进行管理的最基本时间单 位,其他许多时间方面的参数均是SCANUNIT的倍数。每隔SCANUNIT,BBL对Bulletin Board进行一次检查,看看有无超时的事务或服务请求。SCANUNIT必须是大于0的5的倍数,最大是60,缺省10,单位为秒。 

BLOCKTIME:


服务请求的超时值,BBL发现有超时的Request时,会给相应的Client端发信息,Client端如果在调用时未加TPNOTIME标记,会报错 返回,tperrno值为13。由于BLOCKTIME是以SCANUNIT为单位的,所以时间的绝对值为(BLOCKTIME * SCANUNIT),BLOCKTIME缺省为(60/SCANUNIT)。

SANITYSCAN


健全性检查扫描,健全性检查主要检查Server进程状态和Bulletin Board数据结构, BBL检查Server进程是否存活,如果已经不存在,会清理Bulletin Board中相应的数据项及IPC资源,并根据参数配置决定是否重新启动,如果设了RESTART=Y,所占的Message Queue不会被清,Queue中的Request得到保留,仍会被处理。如果是MP模式,BBL还会给DBBL发状态消息。SANITYSCAN缺省为 (120/SCANUNIT)。

BBLQUERY


BBL检查,在MP模式下,DBBL会每隔一段时间检查是否所有的BBL都发了" I am ok "心跳信息给自己,如果没有收到某个BBL的信息,它会发Request给那个BBL,如果等了DBBLWAIT后仍然没有回复,DBBL会认为那台机器 有问题,将其partition。BBL QUERY缺省为(300/SCANUNIT),DBBLWAIT缺省为(20/SCANUNIT)。BBLQUERY必须大于等于 SANITYSCAN,tmloadcf 时会强制检查,如果设的值小于SANITYSCAN,tmloadcf会自动调整为SANITYSCAN。

其它和时间相关的参数还有:

WSL [-I init-timeout]


WorkStation Client和后台建立连接的超时参数值,缺省60秒

WSL [-T Client-timeout]


WorkStation Client和WSH建立连接后,如果在指定的时间内没有信息交互,WSH会自动释放和这个Client端的连接,并将此Client在Bulletin Board中的数据项请空,RollBack它未完成的事务 。

WSL [-N network-timeout]


此值实际上是WorkStation Client在做receive时的超时值,如果发生超时,此操作会出错,WorkStation Client会断开和后台的连接。

SERVICES中的SVCTIMEOUT
如果SERVICE执行时间超过SVCTIMEOUT,BBL会自动将此Server进程Kill掉。

SERVICES中的TRANTIME 
如果此SERVICE设置了AUTOTRAN=Y,则此值为事务超时值,超时后Transaction

Manager会自动RollBack此transaction  

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




赞(0)    操作        顶端 
联动大白
注册用户
等级:新兵
经验:79
发帖:0
精华:0
注册:2015-5-27
状态:离线
发送短消息息给联动大白 加好友    发送短消息息给联动大白 发消息
发表于: IP:您无权察看 2018-10-9 0:30:03 | [全部帖] [楼主帖] 2  楼

为了方便大家阅读,我对文章中错误号来解释一下吧!

Error Id: CMDTUX_CAT:1

Title: ERROR: End time is before start time

Description:

The txrpt utility was run with a start time (-s option) later than the end time (-e option).


Error Id: CMDTUX_CAT:16

Title: ERROR: txrpt: bad -d option value arg

Description:

The txrpt command was called with an invalid parameter for the -d option.


Error Id: CMDTUX_CAT:161

Title: ERROR: Must have a GRPNO on *GROUPS entry grpname

Description:

The value for the GRPNO parameter of the grpname indicated by the arrow is omitted from the configuration file.


Error Id: CMDTUX_CAT:1615

Title: ERROR: Identifier or number must be followed by white space or punctuation

Description:

While parsing a UBBCONFIG file, invalid syntax was found. This generally occurs when a keyword or operator is missing (for example, two numbers appear together).


Error Id: CMDTUX_CAT:1685

Title: ERROR: Application initialization failure

Description:

Server failed to boot due to application initialization failure from tpsvrinit(3c).


Error Id: CMDTUX_CAT:81

Title: ERROR: PERM parameter must be >= 1 and <= 0777

Description:

The value for PERM (permissions) as specified in the RESOURCES section of the UBBCONFIG file is less than 1 or greater than 0777. PERM must be greater than or equal to 1 and less than or equal to 0777.


Error Id: CMDTUX_CAT:819

Title: INFO: Process id=pid Assume started (pipe).

Description:

While booting BEA TUXEDO system processes, tmboot receives an interrupt and the system issues this message to point out that it is not aware of the process status. Even though the boot process is interrupted (and perhaps aborted by the administrator), the local BEA TUXEDO system process currently being started may succeed or fail.


Error Id: LIBTUX_CAT:250

Title: ERROR: tpsvrinit() failed

Description:

A call to tpsvrinit() failed. This may easily be caused by an application-defined tpsvrinit function returning failure.


Error Id: LIBTUX_CAT:328

Title: ERROR: No space in Bulletin Board for tablename

Description:

An attempt to allocate a free entry in the Bulletin Board for tablename has failed because it is full.


Error Id: LIBTUX_CAT:681

Title: ERROR: Failure to create message queue

Description:

A UNIX system message queue could not be created during BEA TUXEDO system process initialization.


Error Id: TMADMIN_CAT:188

Title: ERROR: Error while obtaining the Bulletin Board parameters

Description:

An error was produced in tmadmin while retrieving the Bulletin Board parameters. A more specific error explaining the situation should already exist in the user log.


Error Id: WSNAT_CAT:1079

Title: ERROR: Error starting minimum number of handlers

Description:

The Workstation Listener encountered an error attempting to boot the minimum number of Workstation Handlers.


Error Id: WSNAT_CAT:1088

Title: ERROR: tpinit() failed, tperrno = tperrno_val

Description:

The tpinit(3c) function call used to connect a workstation client to a TUXEDO System/T application has failed. Further information about the cause of the failure is provided by the value of tperrno. By examining the <atmi.h> header file, this numeric tperrno value may be converted to a symbolic value. Potential causes of each such symbolic value are listed on the tpinit(3c) reference page.


也许你已明白,但对一个人有用也是我存在的理由!^_^ By:持之以恒的大白

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



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