本来以为 tuxedo 9.1 oracle 10g client 安装完毕,配置也搞定,接着就可以写应用了。谁知道,天有不测风云,TMS_ORA 总是无法启动,一启动就挂了。现象是:
tmboot -y
看上去正常
tmboot -y
Booting all admin and server processes in /tuxedo/tuxedo9.1/samples/me/tuxconfig
INFO: BEA Tuxedo, Version 9.1, 32-bit, Patch Level (none)
INFO: Serial #: 454493271161-2352601647706, Expiration 2007-10-15, Maxusers 100
INFO: Licensed to: BEA Evaluation Customer
Booting admin processes ...
exec BBL -A :
? ?? ???process id=7120 ... Started.
Booting server processes ...
exec TMS_ORA -A :
? ?? ???CMDTUX_CAT:819: INFO: Process id=7121 Assume started (pipe).
exec TMS_ORA -A :
? ?? ???CMDTUX_CAT:819: INFO: Process id=7124 Assume started (pipe).
这个一看就觉得不对劲了,什么叫假设启动了?
exec simpserv -A :
? ?? ???process id=7127 ... Started.
exec testbcsrv -A :
? ?? ???CMDTUX_CAT:819: INFO: Process id=7128 Assume started (pipe).
exec WSL -A -- -n //192.168.1.6:7200 -m 5 -M 10 -x 10 :
? ?? ???process id=7131 ... Started.
6 processes started.
但是tmadmin看了一下状态就不对了:
> psr
Prog Name? ?? ?Queue Name??Grp Name? ?? ?ID RqDone Load Done Current Service
---------? ?? ?----------??--------? ?? ?-- ------ --------- ---------------
BBL? ?? ?? ?? ?123456? ?? ?simple? ?? ?? ?0? ?? ?0? ?? ?? ?0 (??IDLE )
simpserv? ?? ? 00001.00001 GROUP1? ?? ?? ?1? ?? ?0? ?? ?? ?0 (??IDLE )
TMS_ORA? ?? ???GROUP1_TMS??GROUP1? ???30001? ?? ?0? ?? ?? ?0 ( DEAD )
testbcsrv? ?? ?00001.00002 GROUP1? ?? ?? ?2? ?? ?0? ?? ?? ?0 ( DEAD )
TMS_ORA? ?? ???GROUP1_TMS??GROUP1? ???30002? ?? ?0? ?? ?? ?0 ( DEAD )
WSL? ?? ?? ?? ?00001.00130 GROUP1? ?? ? 130? ?? ?0? ?? ?? ?0 (??IDLE )
> psc
Service Name Routine Name Prog Name??Grp Name??ID? ? Machine??# Done Status
------------ ------------ ---------??--------??--? ? -------??------ ------
TOUPPER? ?? ?TOUPPER? ?? ?simpserv? ?GROUP1? ???1? ???simple? ?? ? 0 AVAIL
TMS? ?? ?? ? TMS? ?? ?? ? TMS_ORA? ? GROUP1 30001? ???simple? ?? ? 0 AVAIL
TEST? ?? ?? ?TEST? ?? ?? ?testbcsrv??GROUP1? ???2? ???simple? ?? ? 0 AVAIL
TMS? ?? ?? ? TMS? ?? ?? ? TMS_ORA? ? GROUP1 30002? ???simple? ?? ? 0 AVAIL
怎么有几个都是DEAD状态呢?
再看ULOG
111612.redegao!BBL.7150.3080271552.0: 08-26-2007: Tuxedo Version 9.1, 32-bit, Patch Level (none)
111612.redegao!BBL.7150.3080271552.0: LIBTUX_CAT:262: INFO: Standard main starting
111612.redegao!TMS_ORA.7152.3064080064.0: 08-26-2007: Tuxedo Version 9.1, 32-bit
111612.redegao!TMS_ORA.7152.3064080064.0: LIBTUX_CAT:262: INFO: Standard main starting
111613.redegao!TMS_ORA.7155.3064075968.0: 08-26-2007: Tuxedo Version 9.1, 32-bit
111613.redegao!TMS_ORA.7155.3064075968.0: LIBTUX_CAT:262: INFO: Standard main starting
111614.redegao!simpserv.7158.3080566464.0: 08-26-2007: Tuxedo Version 9.1, 32-bit
111614.redegao!simpserv.7158.3080566464.0: LIBTUX_CAT:262: INFO: Standard main starting
111614.redegao!simpserv.7158.3080566464.0: Welcome to the simple server
111614.redegao!simpserv.7158.3080566464.0: LIBTUX_CAT:6205: WARN: Server initialization function did not call tx_open() or tpopen() or this call failed
111614.redegao!testbcsrv.7159.3063944896.0: 08-26-2007: Tuxedo Version 9.1, 32-bit
111614.redegao!testbcsrv.7159.3063944896.0: LIBTUX_CAT:262: INFO: Standard main starting
111615.redegao!WSL.7162.3081299648.0: 08-26-2007: Tuxedo Version 9.1, 32-bit
111615.redegao!WSL.7162.3081299648.0: LIBTUX_CAT:262: INFO: Standard main starting
111615.redegao!WSH.7163.3080517840.0: 08-26-2007: Tuxedo Version 9.1, 32-bit
111615.redegao!WSH.7163.3080517840.0: WSNAT_CAT:1030: INFO: Work Station Handler joining application
111615.redegao!WSH.7164.3080296656.0: 08-26-2007: Tuxedo Version 9.1, 32-bit
111615.redegao!WSH.7164.3080296656.0: WSNAT_CAT:1030: INFO: Work Station Handler joining application
111615.redegao!WSH.7165.3081222352.0: 08-26-2007: Tuxedo Version 9.1, 32-bit
111615.redegao!WSH.7165.3081222352.0: WSNAT_CAT:1030: INFO: Work Station Handler joining application
111615.redegao!WSH.7166.3080628432.0: 08-26-2007: Tuxedo Version 9.1, 32-bit
111615.redegao!WSH.7166.3080628432.0: WSNAT_CAT:1030: INFO: Work Station Handler joining application
111615.redegao!WSH.7167.3080464592.0: 08-26-2007: Tuxedo Version 9.1, 32-bit
111615.redegao!WSH.7167.3080464592.0: WSNAT_CAT:1030: INFO: Work Station Handler joining application
是不是:
111614.redegao!simpserv.7158.3080566464.0: LIBTUX_CAT:6205: WARN: Server initialization function did not call tx_open() or tpopen() or this call failed
这个的原因呢?
最后搜遍BAIDU GOOGLE,最后在DEV2DEV上找到了某人出现了类似的现象:
coredump的现象一模一样。
最后的结论是
“把tuxedo打一下最新的patch。这个问题是由于Tuxedo和Oracle有些库相互冲突造成的,软件本身没有问题。”
我连TUXEDO的patch都没找到,狂汗啊。哪位知道的一定告诉我。
最后没辙了,卸载了oracle 10g client 重装了9i client(三张光盘大小,太胖""),经过一番折腾,终于装好了,过程大概说一下:
文件解出来后,有三个目录 Disk1 Disk2 Disk3
切换到Disk1/install/linux
运行 ./runInstaller
出错,ubuntu缺省不能启动xhost
修改配置文件/etc/X11/gdm/gdm.conf
将DisallowTCP=true 改为 false。
再在root 下面执行xhost OK。
好了。这下应该出现安装界面了。
安装到最后 net config就无法继续了,只得退出来,手工设置
>cd $ORACLE_HOME
>cd bin
>./netmgr
Exception in thread "main" java.lang.VerifyError: (class: oracle/net/mgr/servicename/DBPanel$1, method: actionPerformed signature
进行下面的修改
# Run Net Manager$JRE -classpath $CLASSPATH oracle.net.mgr.container.NetApplication oracle.net.mgr.container.NetApplication改为:# Run Net Manager$JRE -noverify -classpath $CLASSPATH oracle.net.mgr.container.NetApplication oracle.net.mgr.container.NetApplication
就可正常运行了。
>./netca
/u01/oracle/product/9.2.0.1/JRE/bin/jre:101:Syntax error: word unexpected (expecting ")")
是JAVA虚拟机版本问题,解决办法:
>cp netca netca.bak
>vi netca
找到unset JAVA_HOME,前面加上#
找到JRE=...
改为JRE=$JAVA_HOME/bin/java(前面netmgr也是如此)
再运行一次 OK。
配置oracle net manager,sqlplus 试一下工作正常。
配置RM文件:
TUXEDO/D:tuxd_switch:-lrms -lfs
TUXEDO/SQL:tuxsql_switch:-lsql -lusort -lrms -lfs
NONE:tmnull_switch:
TUXEDO/QM:tuxq_switch:-lqm -ltmib
#
# BEA makes no attempt to keep the information in the following samples
# up to date.??To make sure you have correct and complete information for
# your platform and RM version, please consult your RM vendor.
#
# ORACLE 10g
#Oracle_XA:xaosw:-L${ORACLE_HOME}/lib ${ORACLE_HOME}/precomp/lib/cobsqlintf.o -lclntsh
Oracle_XA:xaosw:-L${ORACLE_HOME}/lib ${ORACLE_HOME}/precomp/lib/cobsqlintf.o -lclntsh
TimesTen:tt_xa_switch:-L/home/oracle/TimesTen/tt60/lib -ltten
重新编译生成TMS_ORA ,哈,启动正常
Booting admin processes ...
exec BBL -A :
? ?? ???process id=15357 ... Started.
Booting server processes ...
exec TMS_ORA -A :
? ?? ???process id=15360 ... Started.
exec TMS_ORA -A :
? ?? ???process id=15361 ... Started.
exec simpserv -A :
? ?? ???process id=15362 ... Started.
exec testbcsrv -A :
? ?? ???CMDTUX_CAT:816: ERROR: Cannot exec, executable file not found
exec WSL -A -- -n //192.168.1.6:7200 -m 5 -M 10 -x 10 :
? ?? ???process id=15364 ... Started.
5 processes started.
下面就可以写应用来测试了。
说到这有些问题不明白,知道的朋友一定告诉我
用proc 预编译*.pc文件时怎么让它不要在c文件中生成extern "C"?有什么选项吗?要不用gcc编译不了。
用g 编译也会出现下面的错误
test.cpp:286: error: ISO C forbids declaration of 'TEST' with no type
呵呵。狂汗中。
最后手工去掉extern "C"编译通过。
>proc code=c iname=test.pc include=$TUXDIR/include include=/usr/include/linux include=/usr/lib/gcc/i486-
linux-gnu/4.1.2/include
>buildserver -bnoquiet -v -o testbcsrv -f test.c -r Oracle_XA -s TEST
tmboot -y