Oracle 透明網(wǎng)關(guān)連接DB2
一.實現(xiàn)環(huán)境
Oracle 數(shù)據(jù)庫服務(wù)器129.100.253.8 AIX 5.3 64bit Oracle11g 11.1.6.0
DB2 數(shù)據(jù)庫服務(wù)器 129.100.253.12 AIX 5.3 64bit DB2v8.1.1.136
Oraclegateways透明網(wǎng)關(guān)服務(wù)器129.100.251.231 Windows2008
二.安裝oracle透明網(wǎng)關(guān)服務(wù)器(129.100.251.231)
從Oracle官方網(wǎng)站下載安裝包:win32_11gR1_gateways,
然后在作為透明網(wǎng)關(guān)服務(wù)器上安裝,安裝過程選擇
OracleDatabase Gateway for ODBC 11.1.0.6.0.組件,我們通過ODBC連接實現(xiàn)Oracle數(shù)據(jù)庫訪問DB2數(shù)據(jù)庫的功能。
三.安裝DB2客戶端程序(129.100.251.231)
在透明網(wǎng)關(guān)服務(wù)器安裝DB2客戶端
安裝完成后,打開控制面板—管理工具—ODBC數(shù)據(jù)源,然后配置DB2客戶端和DB2服務(wù)端之間的連接。
打開ODBC數(shù)據(jù)源管理工具,打開頁面系統(tǒng)DSN,單擊添加按鈕,選擇IBM DB2ODBC DRIVER,單擊完成,然后輸入數(shù)據(jù)源名稱,數(shù)據(jù)庫別名選擇一下,單擊確定.
完成后,在系統(tǒng)數(shù)據(jù)源下方顯示剛才配置的DSN,單擊配置,輸入相關(guān)的連接信息(用戶名和密碼等等),保存退出。
至此DB2客戶端和服務(wù)端之間的ODBC數(shù)據(jù)源配置完成。
四.配置透明網(wǎng)關(guān)服務(wù)器(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(紅色部分為重新命名名字);更改內(nèi)容如下:
# 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數(shù)據(jù)源名稱)
HS_FDS_TRACE_LEVEL = off
#
# Environment variables required for the non-Oraclesystem
#
#set <envvar>=<value>
初始化文件配置完成后,進(jìn)入OraGtw11g_home1\tg_1\NETWORK\ADMIN配置監(jiān)聽文件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)
)
)
--注:紅色字體對應(yīng)上面的initdb2.ora中的紅色部分
至此透明網(wǎng)關(guān)服務(wù)器配置完成,打開系統(tǒng)服務(wù)窗口,找到OracleOraGtw11g_home1TNSListener服務(wù),單擊停止,然后單擊啟動。
五.配置Oracle數(shù)據(jù)庫服務(wù)器(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數(shù)據(jù)庫配置完成后,通過命令:
SQL> CREATE PUBLIC DATABASE LINK DBLINK CONNECT TO
"user2"IDENTIFIED BY "password2" USING 'db2';
Database link created;
然后通過如下命令測試從DB2數(shù)據(jù)庫取數(shù)據(jù);
SQL> select * from dual@dblink;
DUMMY
-----
X
SQL>
至此,Oracle數(shù)據(jù)庫通過ODBC方式連接DB2數(shù)據(jù)庫配置完成。