oracle通過透明閘道器連線mysql的配置

wzq609發表於2014-06-06

前言:資料庫多了,各種資料庫的資料抽取肯定是會有的,遇到最到最多的應該是oracle從sqlserver抽取資料,oracle從mysql抽取資料的情況會比較少,但是還是遇到了。今天把整個配置的過程整理一下,希望能幫助到各位;

 

環境說明:ORACLE資料庫11.2.0.3   作業系統:windows2008_64位

       MYSQL 5.5          作業系統centos 5.9

(注:以下操作都是在ORACLE資料庫伺服器上面進行的操作)

一、前提條件

Oracle DB必須已經安裝Oracle Data Gateway,在Oracle DB 11g中,預設隨資料庫一起安裝。

檢查DG4ODBC驅動是否已經安裝的方法如下:

在Oracle伺服器上,cmd視窗中執行命令(dg4odbc),若有安裝則顯示如下資訊:

C:\Users\Administrator>dg4odbc

 

二、安裝步驟

1、準備工作

  1.1  下載MySQL ODBC驅動

  官方的下載地址:https://edelivery.oracle.com/EPD/Search/handle_go

  出於方便這邊已經幫大家下載完成:http://pan.baidu.com/s/1yAM54

  1.2   配置MySQL ODBC DSN

按照以上步驟進行配置,完成後單擊"Test"按鈕,檢視是否能夠成功連線,單擊"OK"按鈕,再單擊"確定"按鈕退出ODBC資料來源管理。

 

2、透明閘道器的配置

2.1   在"ORACLE_HOME\hs\admin"目錄下,預設存在名為"initdg4odbc.ora"的檔案,複製"initdg4odbc.ora"檔案,新檔名稱改為"initSIDMASDB.ora",

【每個使用DG4ODBC的例項,都必須單獨一個"init*.ora"檔案,檔案命名規則:init++.ora】

2.2 initdg4odbc.ora檔案引數的說明

HS_FDS_CONNECT_INFO = ODBC資料來源管理中的DSN名稱【本實驗為E3

HS_FDS_TRACE_LEVEL = OFF 【追蹤級別引數,出於效能影響一般不配置或者配置為"OFF",若遇到閘道器問題需要跟蹤日誌,則配置為"Debug",跟蹤日誌檔案存放在"ORACLE_HOME\hs\trace"目錄下】

2.3 配置閘道器監聽

 閘道器監聽可配置的引數如下:SID_NAME  閘道器的SID

 ORACLE_HOME目錄

 PROGRAM指定監聽服務響應ODBC連線請求的可執行程式

請參考如下或者透明閘道器的配置:

# listener.ora Network Configuration File: C:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora

# Generated by Oracle configuration tools.

 

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = CLRExtProc)

      (ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)

      (PROGRAM = extproc)

      (ENVS = "EXTPROC_DLLS=ONLY:C:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")

    )

    (SID_DESC =

      (SID_NAME = E3)

      (ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)

      (PROGRAM = dg4odbc)

    )

  )

 

2.4  重啟監聽服務

在cmd下面執行

lsnrctl stoplsnrctl start

 

2.5 配置TNS

開啟 "ORACLE_HOME\network\admin\tnsnames.ora"檔案

需要配置的引數如下:

connect_descriptor:填寫自定義的TNS連線名稱

ADDRESS:填寫透明閘道器的IP地址和埠

SID:指定連線閘道器的SID

HS :指定連線的是非ORACLE資料庫

connect_descriptor=

    (DESCRIPTION=

       (ADDRESS=

          (PROTOCOL=TCP)

          (HOST=host_name)

          (PORT=port_number)

       )

       (CONNECT_DATA=

          (SID=gateway_sid))

       (HS=OK))

 

本例子配置如下:

E3 =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = e3)

    )

    (HS = OK)

  )

 

2.6 配置DBLINK

以sqlplus、PLSQL Developer或TOAD連線到OracleDB,執行以下DDL語句建立DBLink

【在"create database link"語句中,使用者名稱和密碼,建議以雙引號括起來,避免Oracle在大小寫上做自動轉換】

create database link E3

  connect to "2222"

    identified by "2222" using 'E3';

 

2.7測試結果的配置

用sqlplus在伺服器上面執行語句,返回如下值表明配置成功

SQL> select * from dual@e3;

D

-

X

 

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

本文作者:JOHN

ORACLE技術部落格:ORACLE 獵人筆記               資料庫技術群:367875324 (請備註ORACLE管理 )  

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

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

相關文章