天天看點

oracle11g通過透明網關通路mysql一、安裝透明網關以及mysql odbc二 配置mysql資料源三 配置透明網關四 重新開機監聽以及測試監聽配置五、建立dblink 通路資料庫

  • 一、安裝透明網關以及mysql odbc
    • 1.1、下載下傳oracle 透明網關
    • 1.2、按照預設安裝透明網關
    • 1.3 下載下傳安裝mysql odbc驅動
  • 二 配置mysql資料源
  • 三 配置透明網關
    • 3.1配置 initdg4odbc.ora
    • 3.2 配置 listener.ora
    • 3.3 配置tnsnames.ora
  • 四 重新開機監聽以及測試監聽配置
  • 五、建立dblink 通路資料庫

一、安裝透明網關以及mysql odbc

1.1、下載下傳oracle 透明網關

oracle 11g windows 64 位下載下傳位址

https://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.h

oracle11g通過透明網關通路mysql一、安裝透明網關以及mysql odbc二 配置mysql資料源三 配置透明網關四 重新開機監聽以及測試監聽配置五、建立dblink 通路資料庫

1.2、按照預設安裝透明網關

按照路徑最好與oracle_home路徑保持一緻

按照後測試

dos視窗輸入

dg4odbc
           
oracle11g通過透明網關通路mysql一、安裝透明網關以及mysql odbc二 配置mysql資料源三 配置透明網關四 重新開機監聽以及測試監聽配置五、建立dblink 通路資料庫

看到以上資訊表示安裝成功。

1.3 下載下傳安裝mysql odbc驅動

下載下傳位址;

https://dev.mysql.com/downloads/connector/odbc/

oracle11g通過透明網關通路mysql一、安裝透明網關以及mysql odbc二 配置mysql資料源三 配置透明網關四 重新開機監聽以及測試監聽配置五、建立dblink 通路資料庫

二 配置mysql資料源

oracle11g通過透明網關通路mysql一、安裝透明網關以及mysql odbc二 配置mysql資料源三 配置透明網關四 重新開機監聽以及測試監聽配置五、建立dblink 通路資料庫
oracle11g通過透明網關通路mysql一、安裝透明網關以及mysql odbc二 配置mysql資料源三 配置透明網關四 重新開機監聽以及測試監聽配置五、建立dblink 通路資料庫
oracle11g通過透明網關通路mysql一、安裝透明網關以及mysql odbc二 配置mysql資料源三 配置透明網關四 重新開機監聽以及測試監聽配置五、建立dblink 通路資料庫

記住配置的資料源名稱為mysql。

測試連接配接

oracle11g通過透明網關通路mysql一、安裝透明網關以及mysql odbc二 配置mysql資料源三 配置透明網關四 重新開機監聽以及測試監聽配置五、建立dblink 通路資料庫

測試成功後儲存即可。

三 配置透明網關

3.1配置 initdg4odbc.ora

進入oracle_home 目錄下找到hs\admin目錄中initdg4odbc.ora檔案并複制一份。

然後修改複制檔案。把檔案名稱改為init+剛剛配置資料源名稱(本執行個體為mysql).ora

oracle11g通過透明網關通路mysql一、安裝透明網關以及mysql odbc二 配置mysql資料源三 配置透明網關四 重新開機監聽以及測試監聽配置五、建立dblink 通路資料庫

修改initmysql.ora内容

HS_FDS_CONNECT_INFO =mysql
HS_FDS_TRACE_LEVEL =on 
           

HS_FDS_TRACE_LEVEL =on 這裡最好設定on 網上一般将都是設定為off,為了檢視錯誤日志,最後改為on。

3.2 配置 listener.ora

進入oracle_home/NETWORK\ADMIN 目錄下,先備份listener.ora

oracle11g通過透明網關通路mysql一、安裝透明網關以及mysql odbc二 配置mysql資料源三 配置透明網關四 重新開機監聽以及測試監聽配置五、建立dblink 通路資料庫

并在listener.ora加入下面内容

(SID_DESC =
      (SID_NAME =mysql)
      (ORACLE_HOME = D:\software\oracle11\product\11.2.0\dbhome_1)
      (PROGRAM =dg4odbc)
     )
           
oracle11g通過透明網關通路mysql一、安裝透明網關以及mysql odbc二 配置mysql資料源三 配置透明網關四 重新開機監聽以及測試監聽配置五、建立dblink 通路資料庫

這裡 SID_NAME 就是執行個體名稱,也就是我們配置的mysql資料源名稱,需要注意的是 PROGRAM ,Oracle11g這裡一定要配置為dg4odbc。 不能是hsodbc 我就是修改為後面兩種結果找了一下午的錯誤。ORA-28545: 連接配接代理時 Net8 診斷到錯誤

3.3 配置tnsnames.ora

進入用戶端tns_admin 路徑下在tnsnames.ora中添加

mysql =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME= mysql)
    )
    (HS = OK)
  )  
           
oracle11g通過透明網關通路mysql一、安裝透明網關以及mysql odbc二 配置mysql資料源三 配置透明網關四 重新開機監聽以及測試監聽配置五、建立dblink 通路資料庫

四 重新開機監聽以及測試監聽配置

lsnrctl stop
lsnrctl start
           
oracle11g通過透明網關通路mysql一、安裝透明網關以及mysql odbc二 配置mysql資料源三 配置透明網關四 重新開機監聽以及測試監聽配置五、建立dblink 通路資料庫

tnsping mysql

oracle11g通過透明網關通路mysql一、安裝透明網關以及mysql odbc二 配置mysql資料源三 配置透明網關四 重新開機監聽以及測試監聽配置五、建立dblink 通路資料庫

看到監聽配置成功

五、建立dblink 通路資料庫

用sys使用者在sqlplus登入

oracle11g通過透明網關通路mysql一、安裝透明網關以及mysql odbc二 配置mysql資料源三 配置透明網關四 重新開機監聽以及測試監聽配置五、建立dblink 通路資料庫
create database link mysql connect to "root" identified by "root" using 'mysql'; 
           
oracle11g通過透明網關通路mysql一、安裝透明網關以及mysql odbc二 配置mysql資料源三 配置透明網關四 重新開機監聽以及測試監聽配置五、建立dblink 通路資料庫

注意這裡 使用者名和密碼 一定要加雙引号,不然會被認為是大寫。

測試連接配接

我們在mysql bi庫中有一個表使sys_user. 資料如下

oracle11g通過透明網關通路mysql一、安裝透明網關以及mysql odbc二 配置mysql資料源三 配置透明網關四 重新開機監聽以及測試監聽配置五、建立dblink 通路資料庫

通過sqlplus 通路 sys_user 表

select  "login_name","nick_name" from [email protected];
           
oracle11g通過透明網關通路mysql一、安裝透明網關以及mysql odbc二 配置mysql資料源三 配置透明網關四 重新開機監聽以及測試監聽配置五、建立dblink 通路資料庫

注意,查詢按字段擷取時需要加上雙引号,不然會提示字段不存在。

我們再插入一條資料進行測試

insert into  [email protected]("id","login_name","nick_name") VALUES(2,'from_oracle','資料來自oralce資料庫');
           
oracle11g通過透明網關通路mysql一、安裝透明網關以及mysql odbc二 配置mysql資料源三 配置透明網關四 重新開機監聽以及測試監聽配置五、建立dblink 通路資料庫

還需要注意的是由于mysql是會區分大小寫,這裡的id是小寫。資料插入後

我們再回到mysql 資料中進行查詢

oracle11g通過透明網關通路mysql一、安裝透明網關以及mysql odbc二 配置mysql資料源三 配置透明網關四 重新開機監聽以及測試監聽配置五、建立dblink 通路資料庫

能正常查詢到剛剛從oracle資料庫插入的資料。

繼續閱讀