[转帖]TUXEDO 常用命令及环境介绍_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 6777 | 回复: 0   主题: [转帖]TUXEDO 常用命令及环境介绍        下一篇 
liulin_2
注册用户
等级:少校
经验:1143
发帖:85
精华:5
注册:2012-12-10
状态:离线
发送短消息息给liulin_2 加好友    发送短消息息给liulin_2 发消息
发表于: IP:您无权察看 2012-12-17 15:45:24 | [全部帖] [楼主帖] 楼主

TUXEDO 常用命令及环境介绍 

一、环境TUXCONFIG=path_name_of_TUXCONFIG_file 

BDMCONFIG=path_name_of_BDMCONFIG_file
TUXDIR=path_name_of_BEA_Tuxedo_system_root_directory
APPDIR=path_name_of_BEA_Tuxedo_application_root_directory
PATH=$APPDIR:$TUXDIR/bin:/bin:$PATH
SHLIB_PATH =$APPDIR:$TUXDIR/lib:/lib:/usr/lib:$ SHLIB_PATH


Export TUXCONFIG TUXDIR APPDIR PATH SHLIB_PATH  二、二、命令 

1.配置文件装载、备份,服务启动、关闭命令 Tmloadcf:根据指定TUXCONFIG环境,把文本文件转换成二进制文件 Tmunloadcf:把TUXCONFIG二进制文件转换成文本文件 Dmloadcf:根据指定BDMCONFIG环境,把文本文件转换成二进制文件 Dmunloadcf:把BDMCONFIG二进制文件转换成文本文件 Tmboot [[-g grpname] [-i srvid]]:启动服务,不带参数启动所有服务,-g参数启动指定组名称内的服务,-i参数启动指定标识的服务 Tmshutdown [[-g grpname] [-i srvid]]:停止服务,不带参数停止所有服务,-g参数停止指定组名称内的服务,-i参数停止指定标识的服务  

2Tmadmin命令 TmadminBEA Tuxedo bulletin board command interpreter >crdl –z path –b blocks:创建TLOG设备,pathubbcfg中的TLOGDEVICE-b略大于ubbcfg中的TLOGSIZE >crlog –m machine:创建事务LOG文件,machineubbcfg中的MASTER的值  >Printclient (pclt):显示当前CLIENT连接情况 >Printqueue(pq):显示队列情况 >PrintServer(psr):显示所有SERVER情况(调用次数、IDLE/BUSY) >PrintService(psc):显示所有SERVICE情况(调用次数、IDLE/BUSY) >Bbclean(bbc):一些服务无法正常停止,用BBC清除进程IPC资源后,可正常停止  

3Ipc清除命令,进程杀死命令 ipcs awk '/bill/{if(NF==6)print "ipcrm -"$1" "$2}' sh:清除属于用户bill的所有ipc资源,如果需要清除其他用户的ipc资源,把bill替换成相应的用户名称 ps -ef awk '!/sh/{if($1=="bill")print "kill -9 "$2}' sh:杀死属于用户bill的所有进程,如果需要杀死其他用户的进程,把bill替换成相应的用户名称  

4.检查某个用户超过占用内存脚本文件:chkmem,输入参数用户名称,最小占用内存 

ShowProcs () {
      typeset -i M_SIZE
      typeset -i K_SIZE
      [ $1 ] {
            echo "No Procs Found!"
            return
      }
      while [ $1 ]
      do
      if [ $1 != "PID" ]
      then
      if [ $3 -ge "$MEMORY" ]
      then
      K_SIZE=$3*4
      M_SIZE=K_SIZE/1024
echo "PID=$1 exec=$5 SZ=$K_SIZE(K), $M_SIZE(M)" awk '{printf("%-18s%-20s%-20s%-20s\n", $1, $2, $3, $4);}'
      fi
      fi
      shift 5
      done
}
typeset -i MEMORY
echo "Shell for Checking Process' memory used"
echo "Input User:\c"
read USER
echo "Input Used Memory:(?M)\c"
read MEMORY
MEMORY=$MEMORY*256
PROCS="`ps -lu $USER awk '{print $4, $5, $10, $12, $14}'`"
ShowProcs $PROCS


Q: 应用服务引起oracle数据库的分布锁 

A: 这个问题比较常见,但诱因特别多,比如应用逻辑不严谨,数据库资源不够,tpbegin()超时等等。可以加一个参数DISTRIBUTED_LOCK_TIMEOUT来自动解锁,同时在OPENINFO中加DbgFl=15来提供XAtrace信息让我们分析。    这个问题的后继处理可以直接和bea公司的800中心直接联系;   

Q: 网络不稳定 

A: 这个问题比较的无解,因为在TCP/IP协议上,如果没有接到IP报文,有可能是网络断,也有可能是对方没发送(比如营业员离开,或关机)。建议加一个KeepAlive的参数,定期"PING"一下对方,检验是否在存活。   

Q: sql语句引起事务阻塞在一个TMS

A: 可以将容易引起阻塞的业务服务单独提到另一个组中,快的走快车道,别让一个特别慢的业务挡住别人。同时我们会咨询后台,看调度算法上是否有漏洞,导致这种阻塞正反馈的现象。   

Q: TMS被阻塞住之后重新启动应用服务,此时必须重新启动oracle数据库之后TMS服务才能正常起来。 

A: 这个问题比较常见,是因为TMS重起时要调用xa_recover来恢复事务,这时候数据库会查DBA_PENDING_TRANSACTIONS表,如此表被锁,就出此现象,此时即使是sqlplus同样也读不到该表数据。可以手工或自动解掉该锁而不须重起。 

Q: 以下是南通应用服务进程内存占用情况列表,其中部分WSH进程占用内存相差很大 最小只有几百K,最大达到25M;应用进程也存在同样的情况: 

PID=24017         exec=WSH            SZ=26400(K),        25(M) PID=24026         exec=WSH            SZ=26336(K),        25(M) PID=24024         exec=WSH            SZ=26528(K),        25(M) PID=24021         exec=WSH            SZ=27648(K),        27(M) PID=24023         exec=WSH            SZ=10560(K),        10(M) PID=24020         exec=WSH            SZ=1312(K),         1(M) PID=24018         exec=WSH            SZ=2560(K),         2(M) PID=24025         exec=WSH            SZ=2752(K),         2(M) PID=24019         exec=WSH            SZ=3168(K),         3(M) PID=24022         exec=WSH            SZ=2272(K),         2(M)  CASH_BILL执行了680000次调用 PID=23981         exec=CASH_BILL      SZ=15352(K),        14(M) PID=23982         exec=CASH_BILL      SZ=175912(K),       171(M) PID=23974         exec=CASH_BILL      SZ=1336(K),         1(M) PID=23970         exec=CASH_BILL      SZ=1256(K),         1(M) PID=23969         exec=CASH_BILL      SZ=1108(K),         1(M) PID=23975         exec=CASH_BILL      SZ=2152(K),         

2(M) 请确认FMLWSH是否存在内存泄露的可能;  

A: 这是由两个方面的原因引起的:操作系统数据段管理和tuxedo内部内存分配策略;    一般单进程占用内存在增长到一定数量之后将会停止增长,如果应用一直处于增长    状态,则可能存在memory leaks的情况。曾经在其他在用系统中出现过一个WSH    进程占用100M内存的情况;只能通过在运行一段时间后重新启动应用服务来解决。  

Q: 无锡在digital操作系统上的客户端WSC出现的异常,在HP的客户端WSC相同的处理不会出现异常 113215.wxptt3!?proc.31016: LIBWSC_CAT:1011: ERROR: tpcall() message send failure 113258.wxptt3!?proc.31016: LIBWSC_CAT:1036: ERROR: Unexpected opcode returned 0 113258.wxptt3!?proc.31016: LIBWSC_CAT:1099: ERROR: Unable to receive tpabort() r eply 113337.wxptt3!?proc.31016: LIBWSC_CAT:1477: INFO: WS Handler has been shutdown 113337.wxptt3!?proc.31016: LIBWSC_CAT:1026: ERROR: Unable to get reply to tpterm () request 请确认产生这种情况的原因,是否需要补丁解决? 

A: 一般是由操作系统内核参数的消息长度设置值太小引起的,建议对操作系统内核参数进行    调整,加大有关参数的值。bea公司800在过年后仍然会对这个问题进行保留,后继问题    请直接和800联系。  

Q: 扬州出现应用服务一直在处理的情况下,WSL参数 " ... -T 10 ..."会在第10分钟的时候将客户端的连接自动断开;  

A: 这是正常的。-T参数直接对两次网络请求之间的时间间隔生效,如果处理业务要求时间较长   加大-T参数。 1. 单个应用服务的处理 单个应用服务出现异常,并且IPC资源没有被破坏;此时只需要将这个应用重新启动就可以。例如:AGENT_BILL应用服务出现问题,通过Tmadmin >psr,观察所有AGENT_BILL服务的RqDoneRqDone最大服务的grp nameGROUP1ID1,则使用以下命令: tmshutdown –g GROUP1 –i 1 tmboot –g GROUP1 –i 1 也可以在tmadmin命令下使用shutdownboot命令重新启动应用服务,例如: tmadmin >shutdown –g GROUP1 –i 1 >boot –g GROUP1 –i 1  如果tmshutdown 执行过程中不能正常关闭应用服务,则说明IPC资源可能已经被破坏;此时需要对整个应用服务重新启动;  2.整个应用服务 整个应用服务挂你关闭过程中如果不能正常关闭,一般是由IPC资源被破坏引起的。需要使用上述“Ipc清除命令,进程杀死命令杀死属于某个用户的所有IPC资源和进程。  3.注意事项 (1)在运行正常并且有事务的情况下,不要关闭应用服务; (2)对大表的查询必须使用到索引; (3)大数据量传输的应用建议不要在三层应用中实现




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