首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 透明閘道實作手冊:從設定到 DB Link 建立

     編輯:Oracle 資料庫基礎

Oracle 透明閘道 可讓 Oracle 資料庫透過異質服務 直接存取非 Oracle 資料來源(如 SQL Server)。本文記錄實際部署流程,涵閘道初始化參數、Listener 註冊、DB Link 建立與視圖封裝,供同類異質整合專案參考。

環境資訊

  • 來源端:理正系統 Oracle DB(gedi-oainfo / lzmisuser / sa / JSjadmin)
  • 目標端:測試資料庫 10.122.88.7(Oracle Home: E:\OraHome_1)
  • 存取視圖:eip_user_vIEw

步驟 1:建立閘道初始化檔

路徑:E:\OraHome_1\tg4msql\admin\initLZMISUSER.ora

HS_FDS_CONNECT_INFO = "SERVER=gedi-oainfo;DATABASE=lzmisuser"
HS_FDS_TRACE_LEVEL = OFF
HS_FDS_RECOVERY_ACCOUNT = RECOVER
HS_FDS_RECOVERY_PWD = RECOVER

關鍵參數:HS_FDS_CONNECT_INFO 需與 ODBC 系統 DSN 連線字串一致。

步驟 2:修改 Listener.ora 註冊 SID

路徑:E:\OraHome_1\network\admin\listener.ora

(SID_DESC =
  (GLOBAL_DBNAME = LZMISUSER)
  (SID_NAME = LZMISUSER)
  (PROGRAM = tg4msql)
  (ORACLE_HOME = E:\OraHome_1)
)

若 Oracle Home 路徑不同(如本機 D:\Oracle\product\10.2.0\tg_1),請依實際安裝位置調整 ORACLE_HOME 參數。

步驟 3:重啟 Listener 驗證

lsnrctl stop
lsnrctl start
lsnrctl status

確認 LZMISUSER 狀態為 READY。

步驟 4:建立 Database Link

DROP DATABASE LINK LZMIS.US.Oracle.COM;

CREATE DATABASE LINK LZMIS.US.Oracle.COM
  CONNECT TO SA IDENTIFIED BY JSJADMIN
  USING '(DESCRIPTION =
    (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.122.88.7)(PORT = 1521)))
    (CONNECT_DATA = (SID = LZMISUSER))
    (HS = OK)
  )';

HS = OK 告訴 Oracle 這是異質連線,必須透過閘道處理。

步驟 5:封裝視圖簡化應用端呼叫

CREATE OR REPLACE VIEW v_lz_user AS
SELECT TRIM("UG_UserGrpName") UG_USERGRPNAME,
       TRIM("room") ROOM,
       TRIM("SU_UserName") SU_USERNAME,
       TRIM("SU_UserCode") SU_USERCODE
FROM eip_user_vIEw@lzmis.us.Oracle.com;

應用端只需查詢 v_lz_user,無需知悉遠端結構與 DB Link 細節。

步驟 6:擴充本地表欄位(視專案需求)

ALTER TABLE EIP_SYS_USER ADD HRUSER VARCHAR2(2);
COMMENT ON COLUMN EIP_SYS_USER.HRUSER IS '資料是否來自 HR,''y'' 是,''n'' 否';

常見坑點提醒

  1. ODBC 驅動程式版本需與 SQL Server 版本相容,建議使用原廠驅動。
  2. HS_FDS_CONNECT_INFO 中的分號 ; 若在 Windows 批次檔中需雙寫 ;; 或用雙引號包裹。
  3. 防火牆需開放 1521(Listener)與 SQL Server 預設 1433 連接埠。
  4. 異質查詢效能較慢,大量資料建議排程同步至本地表,再由本地查詢。

完成上述步驟後,Oracle 即可透過透明閘道無縫存取 SQL Server 資料,實現跨平台資料整合。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved