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

handlers201838.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

tuxedo错误码6_tuxedo错误解析和常用配置说明相关推荐

  1. tuxedo错误码6_TUXEDO错误解析

    1 LIBTUX_CAT:248: ERROR: System init function failed, Uunixerr = : msgget: No space left on device 操 ...

  2. tuxedo错误码6_tuxedo错误

    3 各个信号的含义: TPETIME(13) 超时 TPENOENT(6) 调用后台服务失败 TPESYSTEM(12) :系统错误,如 tuxedo 对应的服务排队过长导致请求不能放入 TPEPRO ...

  3. tuxedo错误码6_TUXEDO启动常见错误和解决方法

    TUXEDO启动常见错误和解决方法 如果TUXEDO配置的有问题,在启动的时候,会有各种报错信息来提示,请看下面: 1 tmboot: internal error: CMDTUX_CAT:4578: ...

  4. 如何设计系统的错误码及错误信息

    作者:朱金灿 来源:http://blog.csdn.net/clever101 一个软件系统,肯定是涉及到很多错误信息.比如用户执行出错了,软件需要将错误信息返回给用户.那么如何设计错误码及错误信息 ...

  5. 微信企业付款 ”错误码:NO_AUTH,错误信息:此IP地址不允许调用接口,如有需要请登录微信支付商户平台更改配置“报错的处理办法

    提示"错误码:NO_AUTH,错误信息:此IP地址不允许调用接口,如有需要请登录微信支付商户平台更改配置" 快速解决问题!!! 解说一下这个IP:这个IP是你发起支付的服务器外网I ...

  6. 科大讯飞语音输入启动语音输入…错误码 20006 错误,已解决

    文章目录 科大讯飞语音输入启动语音输入-错误码 20006 错误 问题(如图) 解决方法 原因分析 科大讯飞语音输入启动语音输入-错误码 20006 错误 遇到该问题查了好多资料,最后发现是我的权限没 ...

  7. 海康工业相机SDK错误码常见场景解析

    在使用SDK二次开发过程中,接口的调用往往会遇到较多的错误,sdk错误码能够帮助我们快速分析错误原因,解决问题,针对常见的错误码,下面给出一下常见的问题原因,供大家分析 1.MV_OK 0x00000 ...

  8. Linux内核错误码和错误指针

    1.IS_ERR_VALUE Linux内核中,最大错误码的值为MAX_ERRNO,错误码为负数,负数以补码的形式存储.Arm32位系统错误码的补码范围为0xFFFFF000 - 0xFFFFFFFF ...

  9. windows下查看错误码与错误信息

    在linux下#include<errno.h>后,错误码被直接写在errno这个全局变量中,错误信息可以通过perror(const char* __s)查看. 在Windows下需要# ...

最新文章

  1. python open找不到文件的原因_浅谈python在提示符下使用open打开文件失败的原因及解决方法...
  2. sidekiq安装及使用
  3. Java中的事务——JDBC事务和JTA事务
  4. 很久没来了,嘿嘿 问候一下大家,O(∩_∩)O哈哈~
  5. java dll 乱码_java调用c++ dll出现中文乱码 | 学步园
  6. Python面试题之如何用Python来发送邮件?
  7. Python使用颜色块覆盖视频中指定区域的内容
  8. python 递归目录和文件 修改主组_python下递归遍历目录和文件的方法介绍
  9. 网络硬件常识:光模块
  10. lorawan 科普文
  11. 合振动的初相位推导_两个同方向、同频率的简谐振动表达式为和,试求它们的合振动的振幅和初相位。...
  12. K8S——存储ConfigMap
  13. 使用基本线条库进行码绘
  14. 电信信息服务器,中国电信网上营业厅
  15. 程序员--经典10道脑力题
  16. 计算机毕业设计之java+ssm基于android的家庭理财系统app
  17. ADO.NET是什么
  18. 百问网7天物联网智能家居 学习心得 打卡第五天
  19. s7-200 smart中VD,VW这类变量在INTOUCH中如何对应
  20. 字符集编码 定长与变长

热门文章

  1. 基于vue的适老化住宅设计系统的设计与实现
  2. halcon机器视觉软件系统框架源码visi onpro
  3. 【vs quick】winmm.lib 解决 timeBeginPeriod 找不到
  4. 常用智能小车直流减速电机选型
  5. React Native 集成极光推送 jpush-react-native
  6. 光纤交换机 序列号_IBM B系列光纤交换机B24默认激活和license以及如何导入license...
  7. VVIC item_search - 根据关键词取商品列表API
  8. 《Occlusion Aware Facial Expression RecognitionUsing CNN With Attention Mechanism》论文阅读(2019TIP)
  9. 深度学习——3D Fully Convolutional Network for Vehicle Detection in Point Cloud模型实现
  10. linux添加有效群组,linux基础命令--groupadd 创建新的群组