[转帖]Tuxedo与Informix数据库的互连_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4486 | 回复: 0   主题: [转帖]Tuxedo与Informix数据库的互连        下一篇 
zhou
注册用户
等级:中校
经验:2210
发帖:125
精华:6
注册:2012-11-19
状态:离线
发送短消息息给zhou 加好友    发送短消息息给zhou 发消息
发表于: IP:您无权察看 2012-11-27 10:49:06 | [全部帖] [楼主帖] 楼主

TuxedoInformix数据库的互连前言:

在两层的C/S结构中,客户端直接访问数据库,当采用TUXEDO中间件后,形成三层结构。这时,客户端不直接访问数据库,而是改为调用中间件TUXEDO服务端上的服务,由TUXEDO服务端访问数据库,并把结果返回给客户端。TUXEDO服务端可以和INFORMIX在同一台服务器上,也可以在不同的机器上,如果在不同的机器上,在TUXEDO的服务端所在的机器要安装一个INFORMIX的客户端。

TUXEDO服务端与INFORMIX数据库连接有两种方式:

1、不通过XA接口直接互连。适用于整个系统只有一个数据库的情况。

2、通过XA接口互连,对整个系统有一个数据库或多个数据库都适用,建议采用,本文介绍这种互连的配置方法。

系统说明:

TUXEDO: 版本TUXEDO6.5(32位的)安装在HP-UX 11.0 64bit上,安装目录 /usr/tuxedo

TUXEDO的例子: /usr/tuxedo/simpdb

INFORMIX: 版本INFORMIX9.21(64位的)安装在SCO Unix 5.0.5上,目录 /INFORMIX

数据库名称: mydb

TUXEDO用户名: TUXEDO

注意:TUXEDO系统与INFORMIX数据库在不同的机器上,所以在TUXEDO系统所在的机器上要安装INFORMIX数据库的CLIENT端,并且如果TUXEDO系统是32位的,而INFORMIX数据库的服务端是64是,在TUXEDO系统所在的机器上应安装INFORMIX数据库的32位的 CLIENT端才行。

配置的步骤:

一、INFORMIX的的配置

1> 数据库一定要以unbuffered log方式创建,create database databasename with log;

INFORMIX数据库的LOG方式有3:Buffered,Nobuffer,Unbuffered(under buffer)

onmonitor命令可查看数据库是否是用unbuffered log方式创建的,log status 那一列为U的是unbuffered log方式。

ontape -s L 0 U databasename;可把一个其他方式创建的数据库改为unbuffered log方式的.

2>tuxedo用户应该有访问该数据库资源的权限。grant dba to tuxedo;

如果TUXEDO用户没有访问该数据库资源的权限,当TUXEDO启动时,TMS启动会失败,ULOG中会出现类似下面的错误信息:

145053.rs6000!BBL.17510: LIBTUX_CAT:262: INFO: Standard main starting
145053.rs6000!TMS_INFORMIX.20204: 020602: TUXEDO Version 6.5 AIX 2 4 007025954C00.
145053.rs6000!TMS_INFORMIX.20204: LIBTUX_CAT:262: INFO: Standard main starting
145054.rs6000!TMS_INFORMIX.20204: LIBTUX_CAT:466: ERROR: tpopen TPERMERR xa_open returned XAER_RMERR
145054.rs6000!TMS_INFORMIX.20204: LIBTUX_CAT:250: ERROR: tpsvrinit() failed
145054.rs6000!TMS_INFORMIX.20204: LIBTUX_CAT:300: ERROR: _tlog_open: _gp_tblopen
145054.rs6000!TMS_INFORMIX.20204: LIBTUX_CAT:250: ERROR: tpsvrinit() failed
145054.rs6000!TMS_INFORMIX.20204: LIBTUX_CAT:300: ERROR: _tlog_open: _gp_tblopen: UNIX sys call error - 2
145054.rs6000!tmboot.19178: 020602: TUXEDO Version 6.5 AIX 2 4 007025954C00.
145054.rs6000!tmboot.19178: CMDTUX_CAT:825: ERROR: Process TMS_INFORMIX at simple failed with /T tperrno (TPERMERR - resource manager error)


二、TUXEDO的配置

1. /usr/tuxedo/simpdb/setenv的内容:

. usr/tuxedo/tux.env
INFORMIXDIR=/tmp_mnt/informix/hc; export INFORMIXDIR
INFORMIXSERVER=dhc; export INFORMIXSERVER
PATH=$TUXDIR/bin:$INFORMIXDIR/bin:/bin:/usr/bin:/usr/ccs/bin:.; export PATH
SHLIB_PATH=$SHLIB_PATH:$INFORMIXDIR/lib:$INFORMIXDIR/lib/esql:$INFORMIXDIR/lib
/cli:$INFORMIXDIR/lib/c++
:$INFORMIXDIR/lib/client:$INFORMIXDIR/lib/dmi:/usr/lib:/usr/lib/Motif1.2
INCLUDE=$INFORMIXDIR/incl/esql:$INFORMIXDIR/incl:/tuxedo/include:/usr/include; export INCLUDE
CFLAGS="-I$INFORMIXDIR/incl -I$INFORMIXDIR/incl/esql" export CFLAGS


2.重命名下列文件,因为下列文件名与INFORMIX中的文件名有冲突,所以要改名。

1.TUXEDO安装路径include目录下的下面文件

sqlca.h 改名为 sqlca.h.bbb

sqlcode.h 改名为 sqlcode.h.bbb

sqlda.h 改名为 sqlda.h.bbb

2.重命名TUXEDO安装路径lib目录下的下面文件

libsql.lib 改名为 libsql.lib.bbb

3.修改TUXEDO安装路径的udataobj目录下的RM文件,加入:

INFORMIX-DSHC:infx_xa_switch:-L/tuxedo/lib -L$/lib -L$/lib/esql -lifxa -lifsql -lifasf -lifgen -lifos -lifgls -lnsl -lm -lsec $/lib/esql/checkapi.o -lifglx


4. TUXEDO用户下创建TMS文件:TMS_INFORMIXTUXEDO通过TMS_INFORMIXINFORMIX数据库采用XA协议进行通讯

buildtms -r INFORMIX-DSHC -o /tuxedo/bin/TMS_INFORMIX


5. 配置 UBBCONFIG

1.在*MACHINES节中增加:

TLOGDEVICE = "/usr/tuxedo/simpdb/TLOG"
TLOGNAME=TLOG
TLOGSIZE=200


2. *GROUPS节的配置为:

*GROUPS
GROUP1 LMID=simple GRPNO=1
TMSNAME="TMS_INFORMIX" TMSCOUNT=2
OPENINFO="INFORMIX-DSHC:mydb"


修改后的配置文件ubb内容如下,tmloadcf -y ubb重新生成tuxconfig

IPCKEY 123456
DOMAINID simpapp
MASTER simple
MAXACCESSERS 100
MAXSERVERS 50
MAXSERVICES 100
MODEL SHM
LDBAL N
*MACHINES
server LMID=simple
APPDIR="/usr/tuxedo/simpdb"
TUXCONFIG="/usr/tuxedo/simpdb/tuxconfig"
TUXDIR="/usr/tuxedo"
TLOGDEVICE = "/usr/tuxedo/simpdb/TLOG"
TLOGNAME=TLOG
TLOGSIZE=100
*GROUPS
GROUP1 LMID=simple GRPNO=1
TMSNAME="TMS_INFORMIX" TMSCOUNT=2
OPENINFO="INFORMIX-DSHC:mydb"
*SERVERS
DEFAULT:
CLOPT="-A"
test SRVGRP=GROUP1 SRVID=1
*SERVICES


6.TMADMIN创建TLOG文件,TUXEDO用一个文件TLOG记录对数据库操作的日志。用于协调分布式数据库的提交与回滚.

D:>tmadmin
>crdl -b 500 -z /usr/tuxedo/simpdb/TLOG
>crlog -m simple
>q


本篇文章来源于中间件技术社区(http://middleware123.com) 原文链接:http://middleware123.com/tuxedo/mgmt/311.html




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