Chinaunix首页 | 论坛 | 博客
  • 博客访问: 263186
  • 博文数量: 36
  • 博客积分: 2000
  • 博客等级: 大尉
  • 技术积分: 830
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-05 11:57
文章分类

全部博文(36)

文章存档

2009年(1)

2008年(35)

我的朋友

分类:

2009-01-13 13:41:14

前言

在 银行、电信、金融等行业的大型计算机应用系统中,中间件的使用日益普及,中间件已与操作系统、数据库并列为三大基础软件。 BEA Tuxedo 作为最优秀的中间件产品,在我国的很多行业中广泛使用,本文通过一个简单的例子介绍如何在 TUXEDO 中访问 ORACLE 数据库。

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

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

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

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

系统说明

TUXEDO 版本 :7.1 安装目录 d:\tuxedo71

ORACLE 版本 :8.1.5 安装目录 d:\ora81

操作系统: win2000

配置的步骤

一、 ORACLE 的的配置

1 .用 internal 用户(缺省的口令是 oracle )进入 SQLPLUS

C:\>sqlplus internal/oracle

2 .运行 ORACLE 的安装路径下的 /rdbms/admin/xaview.sql

SQL> @d:\ora81\rdbms\admin\xaview.sql

3 .授权

SQL>grant select on v$xatrans$ to public with grant option;

SQL>grant select on v$pending_xatrans$ to public with grant option;

4. 用 system 用户(缺省的口令是 manager )连接并授权

SQL>connect system/manager

SQL>grant select any table to public;

二、 TUXEDO 的配置

1 .修改 TUXEDO 安装路径的 udataobj 目录下的 RM 文件,把以 Oracle_XA:xaosw: 开头的一行用 # 注释掉,并加入一行:

Oracle_XA;xaosw;d:\ora81\rdbms\xa\oraxa8.lib d:\ora81\precomp\lib\msvc\orasql8.lib

如果是在 UNIX 环境下,则为:

Oracle_XA:xaosw:-L${ORACLE_HOME}/lib -lclntsh

2. 在 TUXEDO 用户下创建 TMS 文件 :TMS_ORA8i , TUXEDO 通过 TMS_ORA8i 与 ORACLE 数据库采用 XA 协议进行通讯

buildtms -o d:\tuxedo71\bin\TMS_ORA8i -r Oracle_XA

注 意 : 如果 TUXEDO 服务端与 ORACLE 数据库不在同一台服务器上,可能会提示找不到 库文件 oraxa8.lib 和 orasql8.lib ,可到 ORACLE 数据库的服务端相应目录下把这两个文件拷到当前机器 ORACLE 的客户端下的对应目录下。

3. 配置 UBBCONFIG

( 1 )在 *MACHINES 节中增加:

TLOGDEVICE = "/home/oracle/temp/simpdb/TLOG"

TLOGNAME=TLOG

TLOGSIZE=200

( 2 )改 *GROUPS 节的配置为: (scott/tiger 为本数据库所采用的用户及口令,可根据需要更改 )

*GROUPS

GROUP1 LMID=simple GRPNO=1

OPENINFO="Oracle_XA:Oracle_XA+Acc=P/scott/tiger+SesTm=600+MaxCur=5+LogDir=."

TMSNAME="TMS_ORA8i" TMSCOUNT=2

修改后的配置文件 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="d:\test"

TUXCONFIG="d:\test\tuxconfig"

TUXDIR="d:\tux71"

TLOGDEVICE = "d:\test\TLOG"

TLOGNAME=TLOG

TLOGSIZE=100

*GROUPS

GROUP1 LMID=simple GRPNO=1

OPENINFO="Oracle_XA:Oracle_XA+Acc=P/scott/tiger+SesTm=600+MaxCur=5+LogDir=."

TMSNAME="TMS_ORA8i" TMSCOUNT=2

*SERVERS

DEFAULT:

CLOPT="-A"

test SRVGRP=GROUP1 SRVID=1

*SERVICES

4. 重命名下列文件,因为下列文件名与 ORACLE 带的文件名有冲突,所以要改名。

( 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

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

D:\>tmadmin

>crdl -b 500 -z d:\test\TLOG

>crlog -m simple

>q
阅读(1448) | 评论(0) | 转发(0) |
0

上一篇:RHCS的一些常用操作

下一篇:没有了

给主人留下些什么吧!~~