博客首页 注册 建议与交流 排行榜 加入友情链接         宝宝相册的专门空间
推荐 投诉 搜索: 帮助

阿飛blog

  gangjh.cublog.cn

关于作者
姓名:阿飛
职业:DBA (Linux)
年龄:28
位置:廣東東莞
个性介绍:
|| << >> ||
我的分类


Linux平台下建立Oracle透明數據網關,訪問MySQL
			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   :阿飛

发表于: 2007-03-09,修改于: 2007-03-09 10:17,已浏览647次,有评论2条 推荐 投诉


网友评论
网友: 本站网友 时间:2007-04-04 05:59:33 IP地址:60.191.73.★
你好,你的文章都挺好的。但是有些细节地方让人会看的有些迷糊,比如这篇文章,IP地址标注的太乱了,前后不一致,都不知道哪台是哪台.

网友: 本站网友 时间:2008-04-17 13:26:09 IP地址:219.137.38.★
朋友的你linux上oracle透明网关访问mysql在网上很少见,能加我的qq吗?我的qq是285803393

 发表评论