Oracle 透明网关连接DB2
一.实现环境
Oracle 数据库服务器129.100.253.8 AIX 5.3 64bit Oracle11g 11.1.6.0
DB2 数据库服务器 129.100.253.12 AIX 5.3 64bit DB2v8.1.1.136
Oraclegateways透明网关服务器129.100.251.231 Windows2008
二.安装oracle透明网关服务器(129.100.251.231)
从Oracle官方网站下载安装包:win32_11gR1_gateways,
然后在作为透明网关服务器上安装,安装过程选择
OracleDatabase Gateway for ODBC 11.1.0.6.0.组件,我们通过ODBC连接实现Oracle数据库访问DB2数据库的功能。
三.安装DB2客户端程序(129.100.251.231)
在透明网关服务器安装DB2客户端
安装完成后,打开控制面板—管理工具—ODBC数据源,然后配置DB2客户端和DB2服务端之间的连接。
打开ODBC数据源管理工具,打开页面系统DSN,单击添加按钮,选择IBM DB2ODBC DRIVER,单击完成,然后输入数据源名称,数据库别名选择一下,单击确定.
完成后,在系统数据源下方显示刚才配置的DSN,单击配置,输入相关的连接信息(用户名和密码等等),保存退出。
至此DB2客户端和服务端之间的ODBC数据源配置完成。
四.配置透明网关服务器(129.100.251.231)
打开win32_11gR1_gateways安装的主目录OraGtw11g_home1\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-Oraclesystem
#
#set <envvar>=<value>
拷贝initdg4odbc.ora文件重命名为initdb2.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 = sgdata2(将上面红色字体部分替换为实际ODBC数据源名称)
HS_FDS_TRACE_LEVEL = off
#
# Environment variables required for the non-Oraclesystem
#
#set <envvar>=<value>
初始化文件配置完成后,进入OraGtw11g_home1\tg_1\NETWORK\ADMIN配置监听文件listener.ora,
# listener.ora Network Configuration File: E:\product\11.1.0\tg_1\network\admin\listener.ora
# Generated by Oracleconfiguration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 129.100.251.231)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC =
(SID_NAME = db2)
(ORACLE_HOME = E:\product\11.1.0\tg_1)
(PROGRAM = dg4odbc)
)
)
--注:红色字体对应上面的initdb2.ora中的红色部分
至此透明网关服务器配置完成,打开系统服务窗口,找到OracleOraGtw11g_home1TNSListener服务,单击停止,然后单击启动。
五.配置Oracle数据库服务器(129.100.253.8)
配置Oracletnsnames.ora文件:
P670_[oracle]$more tnsnames.ora
# tnsnames.ora Network Configuration File: /oracle/product/11.1.0/db_1/network/admin/tnsnames.ora
# Generated by Oracleconfiguration tools.
BIZCENT =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = P670)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = bizcent)
)
)
db2=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=129.100.251.231)
(PORT=1521)
)
(CONNECT_DATA=
(SID=db2))
(HS=OK)
)
--注:红色的sid必须和上面配置的listener.ora里面的SID_NAME一致
然后通过命令
P670_[oracle]$tnsping db2
TNS Ping Utility for IBM/AIX RISC System/6000: Version 11.1.0.6.0 - Production on 09-JAN-2010 17:09:56
Copyright (c) 1997, 2007, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=129.100.251.231) (PORT=1521)) (CONNECT_DATA= (SID=db2)) (HS=OK))
OK (0 msec)
来测试是否配置完成。
Oracle数据库配置完成后,通过命令:
SQL> CREATE PUBLIC DATABASE LINK DBLINK CONNECT TO
"user2"IDENTIFIED BY "password2" USING 'db2';
Database link created;
然后通过如下命令测试从DB2数据库取数据;
SQL> select * from dual@dblink;
DUMMY
-----
X
SQL>
至此,Oracle数据库通过ODBC方式连接DB2数据库配置完成。