ubuntu 7.04下面tuxedo 9.1 + oracle 9i总算搭好了
derVdsaea
|
1#
derVdsaea 发表于 2007-09-04 00:27
ubuntu 7.04下面tuxedo 9.1 + oracle 9i总算搭好了
本来以为 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上找到了某人出现了类似的现象: http://dev2dev.bea.com.cn/bbs/th ... =37488&tstart=0 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 |