Oracle 11g R2通过透明网关连接DB2
一 .实现环境
Oracle 数据库服务器 172.16.4.165 Windows Server 2008-64bit Oracle11g R2
DB2 数据库服务器172.16.4.165 Windows Server 2008-64bit DB2 V9.7
Oracle gateways11g R2透明网关服务器 172.16.4.133 Windows Server 2003-32bit
二 .安装oracle透明网关服务器(172.16.4.133)
从Oracle官方网站下载安装包:win32_11gR2_gateways,
然后在作为透明网关服务器上安装,安装过程选择
Oracle Database Gateway for ODBC 11.1.0.6.0.组件,我们通过ODBC连接实现Oracle数据库访问DB2数据库的功能。
三 .安装DB2客户端程序(172.16.4.133)
在透明网关服务器安装DB2客户端
安装完成后,打开控制面板—管理工具—ODBC数据源,然后配置DB2客户端和DB2服务端之间的连接。
打开ODBC数据源管理工具,打开页面系统DSN,单击添加按钮,选择IBM DB2 ODBC DRIVER,单击完成,然后输入数据源名称,然后数据库别名点添加。在CLI/ODBC设置中,分别输入:
数据库名称:YCQDB
数据库别名:YCQDB2(任意)
主机名:172.16.4.165
端口号:50000
设置完成后,单击确定。至此DB2客户端和服务端之间的ODBC数据源配置完成。
本节内容也可以通过安装DB2客户端中的配置助手进行配置。
四.配置透明网关服务器(172.16.4.133)
打开win32_11gR2_gateways安装的主目录C:\product\11.2.0\tg_1\hs\admin
在该目录下,有initdg4odbc.ora配置文件,
# This is a sample agent init file that contains the HS parameters that are
# needed for the Database Gateway for ODBC
#
# HS init parameters
#
HS_FDS_CONNECT_INFO = <odbc data_source_name>
HS_FDS_TRACE_LEVEL = <trace_level>
#
# Environment variables required for the non-Oracle system
#
#set <envvar>=<value>
拷贝initdg4odbc.ora文件重命名为initYCQDB.ora(红色部分为重新命名名字);更改内容如下:
# This is a sample agent init file that contains the HS parameters that are
# needed for the Database Gateway for ODBC
#
# HS init parameters
#
HS_FDS_CONNECT_INFO = ycqdb(ODBC数据源名称)
HS_FDS_TRACE_LEVEL = off
#
# Environment variables required for the non-Oracle system
#
#set <envvar>=<value>
初始化文件配置完成后,进入C:\product\11.2.0\tg_1\ NETWORK\ADMIN配置监听文件listener.ora,添加如下信息:
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC =
(SID_NAME = YCQDB)
(ORACLE_HOME = C:\product\11.2.0\tg_1)
(PROGRAM = dg4odbc)
)
)
--注:红色字体对应上面的initYCQDB.ora中的红色部分
至此透明网关服务器配置完成,打开系统服务窗口,找到OracleOraGtw11g_home1TNSListener服务,单击停止,然后单击启动。
五 .配置Oracle数据库服务器(172.16.4.165)
配置Oracle tnsnames.ora文件:
C:\app\db2admin\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora添加如下信息:
YCQDB=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=172.16.4.133)
(PORT=1521)
)
(CONNECT_DATA=
(SID=YCQDB))
(HS=OK)
)
注:红色的sid必须和上面配置的listener.ora里面的SID_NAME一致
然后通过命令tnsping YCQDB,来测试是否配置完成。
C:\Users\Administrator>tnsping YCQDB
TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 02-2月 -2013 16:39:17
Copyright (c) 1997, 2010, Oracle. All rights reserved.
已使用的参数文件:
C:\app\db2admin\product\11.2.0\dbhome_1\network\admin\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.4.133)(PORT = 1521))) (CONNECT_DATA = (SID = YCQDB)) (HS = OK))
OK (10 毫秒)
出现以上信息,表示配置成功。
六 .建立数据库链接(172.16.4.165)
Oracle数据库配置完成后,通过命令:
SQL> CREATE DATABASE LINK YCQDBLINK CONNECT TO "db2admin" IDENTIFIED BY "123456a?" USING 'YCQDB';
Database link created;
然后通过如下命令测试从DB2数据库取数据;
SQL> select * from dual@YCQDBLINK;
DUMMY
-----
X
出现上面的信息,表示链接成功。至此,Oracle数据库通过ODBC方式连接DB2数据库配置完成。