高級Oracle DBA,善長Linux系統維運以及Oracle數據庫管理,開發,調優. 具有多年PL/SQL開發經驗.
分类: Oracle
2007-03-09 08:20:39
Oracle Database GateWay -------------------------------------------------------------------- 目地: Linux平台下建立Oracle透明數據網關,訪問MySQL 測試環境說明: 操作平台: Debian Linux(Testing) Oracle Database GateWay Version : Oracle 10g (172.17.94.247) GCC : gcc-3.4 MySQL: 5.0 (172.17.94.9) Oracle Database : 8.17 (172.17.94.3) 數據走向說明: Client <---> Database <---> GateWay <---> MySQL 使用者 94.93 94.247 94.9 ----------------------------------------------------------------------------- 說明:本文檔操作步驟實施成功. 系統環境如上說明. 不同Linux版本可能稍有不同. 如可能需要到網上搜尋unixodbc,mysql Driver,然後自行編譯等. 以下除非特別說明,操作都是位於數據網關(172.17.94.247) ----------------------------------------------------------------------------- 1 . 確認,測試MySQL,Oracle數據庫工作正常. 數據網關服務器Mysql客運端已經授權連接. Debian Linux安裝Oracle 10g需要用以下方式指明忽略操作系統檢查. ./runInstaller -ignoreSysPrereqs 2 . 檢查hsodbc是否正確安裝. Linux下9i以上確定支持. Oracle 10g for Linux有個安裝bug.需要以下操作修改. export LD_LIBRARY_PATH=$ORACLE_HOME/lib ln -s /usr/bin/basename /bin/basename ln -s $ORACLE_HOME/lib/libclient10.a $ORACLE_HOME/lib/libagtsh.a $ORACLE_HOME/bin/genagtsh $ORACLE_HOME/lib/libagtsh.so 1.0 檢查 $ORACLE_HOME/bin/hsodbc ,輸出內容類似如下,為正確. Oracle Corporation --- 星期二 2月 13 2007 22:29:31.461 Heterogeneous Agent Release 10.2.0.1.0 - Production Built with Driver for ODBC 3. 安裝unixodbc aptitude install unixodbc 4. 安裝注冊MySQL的odbc驅動. aptitude install libmyodbc 5. 配置,測試odbc連接MySQL. cp /usr/share/doc/libmyodbc/examples/odbc.ini /etc/ 修改成如下.host, user,pass需視實際情況修改 [ODBC Data Sources] myodbc3 = MySQL ODBC 3.51 Driver DSN [myodbc3] Driver = MySQL3 Description = MySQL ODBC 3.51 Driver DSN Server = 172.17.94.9 Port = User = user Password = pass Database = drupal Option = 3 Socket = 測試: isql myodbc3 user pass select uid,pass,name from users ; 確認測試連接成功. 6.建立配置文檔. $ORACLE_HOME/hs/admin/initmyodbc3.ora HS_FDS_CONNECT_INFO = myodbc3 HS_FDS_TRACE_LEVEL = off HS_FDS_SHAREABLE_NAME = /usr/lib/odbc/libmyodbc.so 7. 修改listener.ora 新增以下監聽服務 (SID_DESC = (PROGRAM = hsodbc) (ORACLE_HOME =/app/oracle/product/10.2.01 ) (SID_NAME = myodbc3) ) 8. 在94.3數據庫服務器配置別名. HSODBC.yydg.com.cn = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.17.94.91)(PORT = 1521) ) ) (CONNECT_DATA = (SID= myodbc3) ) (HS=OK) ) 9. 在94.3建立DataBase LINK Create [ public ] Database Link testdb.yydg.com.cn connect to user identified by password using 'hsodbc.dg.com.cn' ; --public是可選的 表示公共dblink 10 測試Dblink是否可用. select "uid","name","pass" from "users"@testdb.yydg.com.cn ; 由於異構數據庫平台的差異,某些數據對像可能需要用雙引號指明. 感謝,在本次測試中輸出正確資料. Oracle連接MySQL測試成功. 11. Over Create Date : 2007-02-13 Write :阿飛