[转帖]ERROR: Cannot find RM -o in file /tuxedo8/udataobj/RM_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 7918 | 回复: 0   主题: [转帖]ERROR: Cannot find RM -o in file /tuxedo8/udataobj/RM        下一篇 
Leon
注册用户
等级:少校
经验:1436
发帖:116
精华:7
注册:2013-1-4
状态:离线
发送短消息息给Leon 加好友    发送短消息息给Leon 发消息
发表于: IP:您无权察看 2013-1-8 16:17:01 | [全部帖] [楼主帖] 楼主

1 错误:  NLS:4: Cannot open message catalog GP_CAT, set 1, num 1102; check TUXDIR=/tuxedo8, LANG=zh_CN.gb18030
解决办法:重新设置环境变量,LANG=C

export LANG=C


2 错误:        /tuxedo8/bin/buildserver -v -r -o testtux -f TestTux.o  \

 -f "-L. -L/ora11/product/11.2.0/lib -lclntsh -L/usr/local/lib -L/tuxedo8/lib -L/timesten7/TimesTen/tt70/lib -ltten  -L/project/abp01/abp_bill/src/billing/              tools/lib  -L/project/abp01/release/lib -L/project/abp01/abp_bill/src/billing/release/lib -L/project/abp01/abp_acct/src/acct/release/lib   -ldeamon_base -              ldeamon_client -llog -llogproc -lacclient  -lacserver -lshm -lcommon -lmdbutil -lrdbutil -lplatform  -lACE -lncftp -lsio -lStrn -lAsn -lgiconv" \
-s TESTTUXSVC
GP_CAT:1102: ERROR: Cannot find RM -o in file /tuxedo8/udataobj/RM
*** Error exit code 1


说明: buildserver 的-r选项表示指定XA连接数据库的类型,-r后面需要紧带RM(资源文件中的内容)文件中连接串, 如-r Oralce_XA等。
现在因为-r 后面是-o,所以把-o认为是RM文件中的内容了。
解决办法:
如果不是XA的方式连oracle,把-r去掉即可;
如果是XA的方式,那么就是把连接串加上,如-r Oracle_XA (Oracle_XA在RM文件中有定义)

3 在tuxedo的ULOG日志里面经常会看到tperrno = 6这样的错误,这样错误一般都是由于tpcall()所调用的SERVICE无法找到所致。
一般来讲,可能是提供的该服务的进程都异常退出所致,比如core dump。

但是有些时候,需要定位是那个服务无法找到,这个时候需要一个TUXEDO的调试环境变量辅助定位问题。
在环境变量增加设置TMULOGUSINGSERVICENAME=YES,在ULOG中就可以看到无法调用的服务的名称。

4 WSNAT_CAT:1287: WARN: Forced shutdown of client


这个问题主要可能的原因有三个:
一是Client端由于长时间连接Server,但却没有作任何的请求,这时,他会被断掉;
二是由于Server在处理Client的请求时,发生超时引起的;
三是由于在处理Client发起的事务时,超过tpbegin所制定的时间,也会报告这个信息。这个问题所有tuxedo机器上都有发现。解决办法:及时断开连接,增加BLOCKTIME的时间和tpbegin的时间。

5 在tmamdin中敲 pclt命令,发现一个应用程序有很多连接(应该是没有释放)

>pclt
LMID         User Name       Client Name    Time    Status  Bgn/Cmmt/Abrt
--------------- --------------- --------------- -------- ------- -------------
tydic40         abp_bill        WSH              1:09:54 IDLE    0/0/0
tydic40         abp_bill        WSH              1:09:54 IDLE    0/0/0
tydic40         abp_bill        WSH              1:09:54 IDLE    0/0/0
tydic40         abp_bill        WSH              1:09:54 IDLE    0/0/0
tydic40         abp_bill        WSH              1:09:54 IDLE    0/0/0
tydic40                                          0:00:04 IDLE/W  0/0/0
tydic40                                          0:00:01 IDLE/W  0/0/0
tydic40                                          0:00:02 IDLE/W  0/0/0
tydic40                                          0:00:04 IDLE/W  0/0/0
tydic40                                          0:00:02 IDLE/W  0/0/0
tydic40                                          0:00:04 IDLE/W  0/0/0


发现一个应用程序有很多连接(应该是没有释放),对应的状态也是IDLE/W,经过验证发现,如果在TPMULTICONTEXTS模式下,每次tpinit都会多一个连接,必须通过tpterm能释放掉。

检查代码发现,tpinit和tpterm没有对应上,所以出现了上面的情况,同时也导致客户端阻塞的现场(因为连接满了)。




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