DB2聯(lián)合Oracle數(shù)據(jù)步驟 1、安裝DB2 2、安裝關(guān)系連接器 或者安裝InfoSphere DB2(InfoSphere DB2是一個(gè)受限的DB2版本,它具有關(guān)系連接器,可以連接到其它關(guān)系數(shù)據(jù)庫(kù),如SQL Server,Oracle,Sybase等),你不需要安裝IBM的DataDirect ODBC驅(qū)動(dòng)來(lái)連接Oracle,因?yàn)槲覀円惭bOracle客戶(hù)端,從DB2服務(wù)器連接到Oracle(InfoSphere DB2一向被視為IBM Webspehere Federation Server)。 安裝Oracle客戶(hù)端 下載正確的Oracle客戶(hù)端,將其安裝在zLinux DB2服務(wù)器上。參照一下步驟讓Oracle和DB2可以正確地相互通信。 1、找出創(chuàng)建DB2實(shí)例的組,可以在你的DB22 Home目錄下使用ls –l命令找出組名,如果你使用默認(rèn)的組名,那就是db2iadm1,我們將使用這個(gè)組名創(chuàng)建Oracle用戶(hù); 2、為Oracle客戶(hù)端創(chuàng)建一個(gè)用戶(hù)id,如oracle,并指定與DB22實(shí)例相同的組名,我們這么做的目的是 不修改Oracle客戶(hù)端安裝目錄下的文件權(quán)限,保證DB2實(shí)例可以訪問(wèn)Oracle客戶(hù)端的文件; 3、啟動(dòng)Oracle客戶(hù)端GUI安裝程序開(kāi)始安裝Oracle客戶(hù)端,打上Oracle推薦的補(bǔ)丁; 4、安裝完成后,向你Oracle DBA要tnsnames.ora,以便將其中的內(nèi)容復(fù)制到tnsnames.ora文件中,如果你不知道如何做,請(qǐng)咨詢(xún)你的Oracle DBA; 5、以O(shè)racle用戶(hù)登錄,輸入tnsping命令,從zLinux能ping通Oracle數(shù)據(jù)庫(kù); 6、輸入$ echo $ORACLE_HOME,注意輸出的信息,因?yàn)楹竺嬖谂渲寐?lián)合Oracle表時(shí)會(huì)用到; 7、以DB2實(shí)例用戶(hù)登錄,在.bashrc文件中增加以下內(nèi)容: export ORACLE_HOME=/opt/oracle/product/10.2/db_1 export PATH=$ORACLE_HOME/bin:$PATH 將ORACLE_HOME修改為第6步中輸出的路徑。 8、注銷(xiāo),再以DB2實(shí)例用戶(hù)登錄,輸入tnsping,你應(yīng)該能成功ping通; 9、使用SQL*Plus連接到你的Oracle數(shù)據(jù)庫(kù)。 當(dāng)你從DB2成功連接到Oracle后,現(xiàn)在就可以安裝Oracle關(guān)系連接器了,然后在DB2中為Oracle表 創(chuàng)建別名。 安裝InfoSphere DB2或DB2/關(guān)系連接器 在現(xiàn)有DB2實(shí)例上,你要么安裝IBM InfoSphere DB2,要么安裝DB2關(guān)系連接器,然后才能從DB2聯(lián)合其它數(shù)據(jù)源,如SQL Server或Oracle。 跟著InfoSphere DB2的GUI安裝向?qū)В蛟诂F(xiàn)有DB2實(shí)例上安裝關(guān)系連接器時(shí),在“選擇安裝功能”屏幕上,僅選擇Oracle數(shù)據(jù)源支持。 GUI安裝完后,安裝程序會(huì)創(chuàng)建libdb2net8F.so庫(kù),但如果GUI安裝程序找不到g++命令,庫(kù)的創(chuàng)建 就會(huì)失敗。 進(jìn)入~/sqllib/lib64目錄,你將會(huì)看到主要的庫(kù)文件Oracle libdb2net8.so,其它兩個(gè)文件是libdb2net8F.so和libdb2net8U.so。 進(jìn)入$HOME/sqllib/cfg目錄,檢查db2dj.ini文件的內(nèi)容,如果你在安裝期間設(shè)置的信息有點(diǎn)不 對(duì),現(xiàn)在你可以手工進(jìn)行修改。 $ 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準(zhǔn)備的。 如果你修改了db2dj.ini文件,請(qǐng)重啟實(shí)例。 $ db2stop force $ db2start 現(xiàn)在可以創(chuàng)建Oracle封裝器了,最簡(jiǎn)單且不容易犯錯(cuò)的方法是使用DB2控制中心工具,你可以將每一步的命令保存 到文件中,以便將來(lái)需要時(shí)直接調(diào)用。 1、首先將DBM CFG參數(shù)設(shè)置為FEDERATED=YES $ db2 get dbm cfg | grep -i federate Federated Database System Support (FEDERATED) = YES 2、在服務(wù)器或客戶(hù)端上啟動(dòng)db2cc,編目DB2系統(tǒng),實(shí)例和數(shù)據(jù)庫(kù)名。 A)創(chuàng)建一個(gè)封裝器,在變量窗口指定ORACLE_HOME的值。 B)創(chuàng)建一個(gè)服務(wù)器定義,指定NODE名與Oracle服務(wù)名或SID一致,對(duì)于正確建立連接這些很重要。 C)創(chuàng)建用戶(hù)映射。 D)創(chuàng)建別名,你應(yīng)該能夠發(fā)現(xiàn)Oracle表名,如果不行,重復(fù)上述步驟,確保你的ORACLE_HOME,SID 定義正確。 現(xiàn)在你已經(jīng)有了Oracle表的別名了,你就可以在DB2中任意使用了。