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 DB2 v8.1.1.136
Oracle gateways透明网关服务器 129.100.251.231 Windows2008
二 .安装oracle透明网关服务器(129.100.251.231)
从Oracle官方网站下载安装包:win32_11gR1_gateways,
然后在作为透明网关服务器上安装,安装过程选择
Oracle Database Gateway for ODBC 11.1.0.6.0.组件,我们通过ODBC连接实现Oracle数据库访问DB2数据库的功能。
三 .安装DB2客户端程序(129.100.251.231)
在透明网关服务器安装DB2客户端
安装完成后,打开控制面板―管理工具―ODBC数据源,然后配置DB2客户端和DB2服务端之间的连接。
打开ODBC数据源管理工具,打开页面系统DSN,单击添加按钮,选择IBM DB2 ODBC 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-Oracle system
#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-Oracle system
#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 Oracle configuration 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)
配置Oracle tnsnames.ora文件:
P670_[oracle]$more tnsnames.ora
# tnsnames.ora Network Configuration File: /oracle/product/11.1.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration 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
-----
SQL>
至此,Oracle数据库通过ODBC方式连接DB2数据库配置完成。
---哈哈这个文档我早就写过了,一直没有拿出来分享下,现在贴出来,给需要的人参考下!