Oracle Gateway使用分享

1、背景说明

公司一直会碰到异构数据库的连接问题,比如Oracle需要dblink as400,dblink DB2,如果此些数据库版本比较老的话,在linux 64位环境中配置此类数据库的驱动,太让人头疼了。

可以使用Oracle gateway方式,将gateway部署在一台windows 32位的服务器(可以有效解决数据库驱动问题),odbc至异构数据库。

将gateway从db服务器中分离出来单独安装

单独开启监听,给需链接异构服务器至数据库提供连接服务

新增gateway服务器安装windows 32位系统,有效解决数据库驱动兼容性问题

2、架构说明

Oracle Gateway使用分享_透明网关

3、GW安装及配置说明

1、安装服务器gateway,仅安装透明网关
OS SERVER 2003 sp2,32位  内存2g 硬盘空间50GB
透明网关版本11gr2 32位

2、配置监听

3、安装db2和as400客户端程序(提供数据库驱动文件)

4、配置odbc,并测试连接正常

5、添加并修改透明网关配置文件(文件位置在home目录下C:\product\11.2.0\tg_1\hs\admin )
添加文件命名为init_sid.ora
注意点:sid和odbc中名称要一致

# This is a sample agent init file that contains the HS parameters that are
# needed for an ODBC Agent.

#
# HS init parameters
#
HS_FDS_CONNECT_INFO = hisp
HS_FDS_TRACE_LEVEL = off


#
# Environment variables required for the non-Oracle system
#
#set <envvar>=<value>

6、修改tnsnames
C:\product\11.2.0\tg_1\NETWORK\ADMIN
HISP =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = gateway服务器ip)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = hisp)
    )
    (HS = OK)---------使用gateway方式连接
  )

7、修改listener,并重启监听
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = hisp)
      (ORACLE_HOME = C:\product\11.2.0\tg_1)
      (SID_NAME = hisp)     
      (PROGRAM = dg4odbc)-----注意点:9i透明网关此处使用的程序为hs
    )
  )

此时gateway服务器已配置完成

4、Oracle DB配置

只需在需求DB的tns中添加如下条目即可


HISP =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = *.*.*.*)(PORT = 1521))
    )---------------------------*.*.*.*为gateway服务器
    (CONNECT_DATA =
      (SID = hisp)
    )
    (HS = OK)--------------使用gateway方式连接
  )

5、测试结果说明

测试结果:
创建dblink
create database link wcelpptp connect to "******" identified by "******" using 'hisp'

测试dblink,测试OK 

经测试:需求DB无os版本限制,windows和Linux均可正常连接