詳解在DB2中如何聯合Oracle數據
來源:易賢網 閱讀:1460 次 日期:2015-08-27 16:49:19
溫馨提示:易賢網小編為您整理了“詳解在DB2中如何聯合Oracle數據”,方便廣大網友查閱!

【51CTO獨家特稿】DB2聯合Oracle數據步驟

1、安裝DB2

2、安裝關系連接器

或者安裝InfoSphere DB2(InfoSphere DB2是一個受限的DB2版本,它具有關系連接器,可以連接到其它關系數據庫,如SQL Server,Oracle,Sybase等),你不需要安裝IBM的DataDirect ODBC驅動來連接Oracle,因為我們要安裝Oracle客戶端,從DB2服務器連接到Oracle(InfoSphere DB2一向被視為IBM Webspehere Federation Server)。

安裝Oracle客戶端

下載正確的Oracle客戶端,將其安裝在zLinux DB2服務器上。參照一下步驟讓Oracle和DB2可以正確地相互通信。

1、找出創建DB2實例的組,可以在你的DB22 Home目錄下使用ls –l命令找出組名,如果你使用默認的組名,那就是db2iadm1,我們將使用這個組名創建Oracle用戶;

2、為Oracle客戶端創建一個用戶id,如oracle,并指定與DB22實例相同的組名,我們這么做的目的是不修改Oracle客戶端安裝目錄下的文件權限,保證DB2實例可以訪問Oracle客戶端的文件;

3、啟動Oracle客戶端GUI安裝程序開始安裝Oracle客戶端,打上Oracle推薦的補??;

4、安裝完成后,向你Oracle DBA要tnsnames.ora,以便將其中的內容復制到tnsnames.ora文件中,如果你不知道如何做,請咨詢你的Oracle DBA;

5、以Oracle用戶登錄,輸入tnsping命令,從zLinux能ping通Oracle數據庫;

6、輸入$ echo $ORACLE_HOME,注意輸出的信息,因為后面在配置聯合Oracle表時會用到;

7、以DB2實例用戶登錄,在.bashrc文件中增加以下內容:

export ORACLE_HOME=/opt/oracle/product/10.2/db_1

export PATH=$ORACLE_HOME/bin:$PATH

將ORACLE_HOME修改為第6步中輸出的路徑。

8、注銷,再以DB2實例用戶登錄,輸入tnsping,你應該能成功ping通;

9、使用SQL*Plus連接到你的Oracle數據庫。

當你從DB2成功連接到Oracle后,現在就可以安裝Oracle關系連接器了,然后在DB2中為Oracle表創建別名。

安裝InfoSphere DB2或DB2/關系連接器

在現有DB2實例上,你要么安裝IBM InfoSphere DB2,要么安裝DB2關系連接器,然后才能從DB2聯合其它數據源,如SQL Server或Oracle。

跟著InfoSphere DB2的GUI安裝向導,或在現有DB2實例上安裝關系連接器時,在“選擇安裝功能”屏幕上,僅選擇Oracle數據源支持。

GUI安裝完后,安裝程序會創建libdb2net8F.so庫,但如果GUI安裝程序找不到g++命令,庫的創建就會失敗。

進入~/sqllib/lib64目錄,你將會看到主要的庫文件Oracle libdb2net8.so,其它兩個文件是libdb2net8F.so和libdb2net8U.so。

進入$HOME/sqllib/cfg目錄,檢查db2dj.ini文件的內容,如果你在安裝期間設置的信息有點不對,現在你可以手工進行修改。

$ cat db2dj.ini

DJX_ODBC_LIBRARY_PATH=/opt/ibm/WSII/odbc/lib

ODBCINI=/home/db2inst1/odbc.ini

ORACLE_HOME=/opt/oracle/product/10.2/db_1

確保ORACLE_HOME與你在.bashrc文件中指定的.bashrc完全匹配,DJX_ODBC_LIBRARY_PATH和ODBCINI是為SQL Server準備的。

如果你修改了db2dj.ini文件,請重啟實例。

$ db2stop force

$ db2start

現在可以創建Oracle封裝器了,最簡單且不容易犯錯的方法是使用DB2控制中心工具,你可以將每一步的命令保存到文件中,以便將來需要時直接調用。

1、首先將DBM CFG參數設置為FEDERATED=YES

$ db2 get dbm cfg | grep -i federate

Federated Database System Support (FEDERATED) = YES

2、在服務器或客戶端上啟動db2cc,編目DB2系統,實例和數據庫名。

A)創建一個封裝器,在變量窗口指定ORACLE_HOME的值。

B)創建一個服務器定義,指定NODE名與Oracle服務名或SID一致,對于正確建立連接這些很重要。

C)創建用戶映射。

D)創建別名,你應該能夠發現Oracle表名,如果不行,重復上述步驟,確保你的ORACLE_HOME,SID定義正確。

現在你已經有了Oracle表的別名了,你就可以在DB2中任意使用了。

更多信息請查看IT技術專欄

更多信息請查看數據庫
易賢網手機網站地址:詳解在DB2中如何聯合Oracle數據
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
未满十八18勿进黄网站免费看