Oracle 11g透明網關串連sybase資料庫
前言:之前已經整理過兩個文檔是關於Oracle透明網關串連mysql資料庫和sqlserver資料庫的,本來以為不會再通過透明網關串連其他的資料庫了,但是居然又碰到了,就是oracle通過透明網關串連sybase資料庫,再次不厭其煩的整理成了文檔;
註:裡面整理了透明網關的搭建、串連sqlserver資料庫、mysql資料庫的方法,由於時間緊張請各位在部落格裡面搜尋下;
本文:配置透明網關串連sybase資料庫的方法其實和串連sqlserver的方法,幾乎是一模一樣的。(有網友說明需要安裝sybase的用戶端驅動,但是經過驗證是不用的)
二、詳細的操作如下:
按照以上步驟操作即可;
三、透明網關的配置
3.1配置透明網關的參數檔案
進入目錄:$ORACLE_HOME/dg4sybs/admin/
根據參數檔案initdg4sybs.ora,建立一個參數檔案initecc.ora(參數檔案名稱為initsid.ora)
# This is a customized agent init file that contains the HS parameters
# that are needed for the Database Gateway for Sybase
#
# HS init parameters
#
HS_FDS_CONNECT_INFO=192.168.0.124:4901/ECC(修改該欄即可)
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
3.2 修改資料庫的監聽配置
註:只在SID_LIST下面增加SID_DESC:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC=
(SID_NAME=ECC)
(ORACLE_HOME=d:\app\Administrator\product\11.2.0\dbhome_1)
(PROGRAM=dg4sybs)
)
)
請注意:
SID_NAME要跟上面的參數檔案名稱相對應
ORACLE_HOME 目錄跟實際的安裝目錄相符
PROGRAM 為dg4sybs
配置好監聽檔案後,重啟下lisnrctl
3.3 增減tnsnames檔案的配置
ECC =(註:可設定為任意名)
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST= localhost)(PORT=1521))
(CONNECT_DATA=(SID=ECC))
(HS=OK)
)
請注意:
SID的名字為監聽檔案配置的名字;
配置完成,可以運行tnsping ECC
四、配置dblink
SQL> CREATE PUBLIC DATABASE LINK ECC_LINK CONNECT TO "username" IDENTIFIED BY "password" USING 'ECC';
ECC_LINK名字可以根據要求自己定;
'ECC'為tnsnames檔案配置的名稱;
配置完成運行:select * from dual@ECC_LINK; 有傳回值說明配置成功;
提示: sybase 資料庫是區分大小寫,因此許多表名、欄位如果含有小寫內容,需要用雙引號擴住。
實際上 oracle 也是可以區分大小寫,但平時只要不用雙引號,oracle 會自動轉化為大寫。
總結:透明網關串連sybase的設定跟sqlserver的配置幾乎是一樣的,按照這個操作一般是沒有問題的,但是整個過程設計的名稱建議有一個內部的規範,後面再使用的過程中就會發現這個規範帶來的管理上的好處;