tuxedo经常会出很多问题,其实大家不用怕,看看ULOG日志,基本上都能搞定.
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来申请更多的资源,将上面的参数��当增大知道不出现错误信息为 止,具体增加多少根据自己的系统配置和需求决定。
重新编译日志文件
buildtms –o$TUXDIR/bin/TMSINF –r INFORMIX-OnLine