【Oracle】 11g透明網關連接Sqlserver


1、扯扯前奏

  記的2017年的五一假期,在享受假期的同時突發奇想,Oracle中怎么能查到SQL Server的數據,當時也百度了好多,搞了應該也有一天的時間吧,安裝了Oracle透明網關以后卻沒能連上SQL Server,后來也就擱淺了,現在是2018年12月4日,在這個項目了支援了快兩個月了,感覺可能會用到這塊,今天就湊時間了測試了下;不得不說今天的運氣還是挺好的。 

2、不得不說的來龍去脈

  oracle 透明網關是oracle連接異構數據庫提供的一種技術。通過Gateways,可以在Oracle里透明的訪問其他不同的數據庫,如SQL Server, DB2, Sybase等等,就像遠程Oracle數據庫一樣。

3、按圖就辦

  備注:當時安裝時沒有截圖,圖片是在網上找的,不過內容是對的。

 3.1 解壓透明網關的壓縮包,點擊setup.exe安裝

   

 3.2 安裝目錄選擇和ORACLE一致

  

 3.3 選擇組件,因為要鏈接到SQL SERVER

  

 3.4 填寫SQL SERVER的主機名和數據庫名稱

  

 3.5 開始安裝

  

 3.6 安裝完成后就退出了,因為監聽要手動配置。

4、配置透明網關

  4.1 在D:\app\product\11.2.0\tg_2\dg4msql\admin目錄下,個人安裝的路徑,因人而異。這個目錄下可以看到以下initdg4msql.ora文件,上面在安裝透明網關時有配置鏈接SQL SERVER數據的地址和數據庫名稱,在這里都可以體現。

HS_FDS_CONNECT_INFO=127.0.0.1:1433//Test
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER

  檢查一下HS_FDS_CONNECT_INFO是否是我們想要鏈接的地址,格式為:目標數據庫的IP地址:端口//數據庫名。SQL SERVER的默認端口是1433。這個文件名也比較有講究。格式為initSID.ora。現在這個文件名是initdg4msql.ora。

 4.2 配置透明網關的監聽,D:\app\product\11.2.0\tg_2\NETWORK\ADMIN\listener.ora

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522))
    )
  )
  
SID_LIST_LISTENER=
  (SID_LIST=
      (SID_DESC=
         (SID_NAME=dg4msql)
         (ORACLE_HOME=D:\app\product\11.2.0\tg_2)
         (PROGRAM=dg4msql)
      )
  ) 

ADR_BASE_LISTENER = D:\app\product\11.2.0\tg_2

 這里需要注意的主要是一下幾點:

    PROGRAMdg4msql:因為實例的配置文件在dg4msql目錄下,就是上面的initdg4msql.ora文件所在的目錄

    SID_NAMEdg4msql:這個sid就是上面的文件名中的sidinitdg4msql.orasiddg4msql

    ORACLE_HOME就是我們透明網關的安裝目錄

    ORACLE的監聽端口是1522,我的oracle和透明網關是安裝在自己的電腦上,所以透明網關的監聽端口設置為1522

    一個initSID.ora文件就對應一個SID_DESC,可以根據想要鏈接的數據庫來配置。

 4.3 啟動透明網關的監聽

  在命令行執行lsnrctl start,或者直接去服務那啟動監聽OracleOraGtw11g_home1TNSListener,這個服務名根據具體而定,每人可能不太一樣。服務啟動好了就OK。

 4.4 配置tns信息,來到D:\app\Administrator\Home\product\11.2.0\dbhome_1\NETWORK\ADMIN 

#透明網關 
dg4msql =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522))
    )
    (CONNECT_DATA =
      (sid = dg4msql)
    )
    (HS = OK)
  )

 4.5 測試tns

  重啟oracle監聽服務和透明網關服務后在命令行輸入:tnsping dg4msql。

 4.6 建立DBLINK

create database link LOCALSQL          
           connect to "sa" identified by "qweasd"
           using '( DESCRIPTION =
                (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1433))   
                (CONNECT_DATA = (
                SID = Test ) )   
                (HS=OK ))';

 4.7 查詢實例

  

   

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM