配置Oracle Gateways透明閘道器連線多個MSSQL資料庫

abstractcyj發表於2017-06-30


演示環境:
Oracle 11.2.0.4.0  Windows 64 bit

請注意,11.2.0.4的資料庫軟體,一定要安裝11.2.0.4版本的透明閘道器!!!

 

這裡假設我們已經在oracle軟體安裝目錄安裝好了透明閘道器,並已經配置好了一個MSSQL資料庫的連線。

 

假設這裡我們連線的MSSQL資料庫是:
mssql_host1:1433    hydee
mssql_host2:1433    hydee_db2

%ORACLE_HOME%是軟體安裝相關的目錄, 類似: 

E:\app\Administrator\product\11.2.0\dbhome_1


1. 切換到目錄%ORACLE_HOME%\dg4msql\admin, 將配置檔案initdg4msql.ora
      拷貝兩個,重新命名為
       initdg4msql2.ora  initdg4msql3.ora
    
2. 修改initdg4msql2.ora  initdg4msql3.ora兩個檔案中的sqlserver配置資訊
initdg4msql2.ora: 
          HS_FDS_CONNECT_INFO= mssql_host1:1433//hydee
initdg4msql3.ora
          HS_FDS_CONNECT_INFO= mssql_host2:1433//hydee_db2

3.
修改監聽配置, listener.ora, 加入如下SID_DESC:

   (SID_DESC =
      (SID_NAME = dg4msql2)
      (ORACLE_HOME = E:\app\Administrator\product\11.2.0\dbhome_1)
      (PROGRAM = dg4msql)
    ) 
    (SID_DESC =
      (SID_NAME = dg4msql3)
      (ORACLE_HOME = E:\app\Administrator\product\11.2.0\dbhome_1)
      (PROGRAM = dg4msql)
)




4. 重啟監聽
lsnrctl stop
lsnrctl start
當然,你也可以通過windows服務來重啟監聽

注意:重啟監聽時可能會HANG住,極有可能是因為程式中的dg4msql.exe程式將重啟阻塞了
開啟工作管理員,殺掉所有的dg4msql.exe程式


5. 修改tns:
找到tnsnames.ora, 加入如下tns別名:
DG4MSQL2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = lcoalhost)(PORT = 1521))
    (CONNECT_DATA =
      (SID = dg4msql2)
    )
    (HS = OK)
  )


DG4MSQL3 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = lcoalhost)(PORT = 1521))
    (CONNECT_DATA =
      (SID = dg4msql3)
    )
    (HS = OK)
  )


6.   6. 建立DB_LINK
CREATE PUBLIC DATABASE LINK hydee1 CONNECT TO
使用者名稱 IDENTIFIED BY密碼USING 'dg4msql2';
   
  CREATE PUBLIC DATABASE LINK hydee2 CONNECT TO
   使用者名稱 IDENTIFIED BY 密碼 USING 'dg4msql3';

7. 測試連線, 這裡引用了某個客戶配置成功的結果
   


以上過程參考了官方文件:
https://docs.oracle.com/cd/A95433_01/a82868/ch4.htm#40983



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8520577/viewspace-2141425/,如需轉載,請註明出處,否則將追究法律責任。

相關文章