實戰oracle gateway訪問sql server2000資料庫

wxjzqym發表於2013-02-14

    現在異構資料庫環境比比皆是,最常見的情況是oracle與sql server資料庫並存,接下來演示透過安裝oracle gateway來訪問sql server 2000的過程。
    1.環境描述
     資料庫                                              IP地址                                  ORACLE_HOME
     Oracle/Gateway(11g)                   192.168.117.128               /u01/oracle/11.2.0/db_1
     Sql server 2000                             192.168.117.1                  /u01/oracle/11.2.0/gw_1

    2.安裝oracle gateway
    下載軟體包,解壓縮後執行runInstaller圖形安裝嚮導即可,這裡有兩點需要注意的地方:一如果安裝的gateway和database是不同的版本需將gateway安裝到另外一個ORACLE_HOME下,如果版本一致可以與database共用一個ORACLE_HOME;二在嚮導介面中需提供sql server的主機名和資料庫名,埠號和例項名可選。

    3.配置gateway引數檔案
    [oracle@ora11g dg4msql]$ cd $ORACLE_HOME/dg4msql/admin (此ORACLE_HOME為gateway的ORACLE_HOME)
    [oracle@ora11g admin]$ cat initdg4msql.ora
    HS_FDS_CONNECT_INFO=[192.168.117.1]://wilson
    # alternate connect format is hostname/serverinstance/databasename
    HS_FDS_TRACE_LEVEL=OFF
    HS_FDS_RECOVERY_ACCOUNT=RECOVER
    HS_FDS_RECOVERY_PWD=RECOVER
   從以上配置資訊可以知道sql server被安裝在192.168.117.1主機上,資料庫名為wilson

    4.為gateway配置oracle監聽
    [oracle@ora11g dg4msql]$ cd $ORACLE_HOME/network/admin (此ORACLE_HOME為database的ORACLE_HOME)
    [oracle@ora11g admin]$ cat listener.ora
LISTENER =
 (ADDRESS_LIST=
      (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.117.128)(PORT=1521))
 )
SID_LIST_LISTENER=
  (SID_LIST=
      (SID_DESC=
         (SID_NAME=dg4msql)
         (ORACLE_HOME=/u01/app/oracle/product/11.2.0/gw_1)
         (PROGRAM=dg4msql)
      )
  )

    5.重啟監聽
    [oracle@ora11g admin]$ lsnrctl stop
    [oracle@ora11g admin]$ lsnrctl start

    6.為gateway訪問database配置網路服務名
    [oracle@ora11g admin]$ cd $ORACLE_HOME/network/admin (此ORACLE_HOME為database的ORACLE_HOME)
    [oracle@ora11g admin]$ cat tnsnames.ora dg4msql  =
  (DESCRIPTION=
    (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.117.128)(PORT=1521))
    (CONNECT_DATA=(SID=dg4msql))
    (HS=OK)
  )

    7.建立dblink
    [oracle@ora11g admin]$ sqlplus / as sysdba
    SQL> create public database sqlsrv connect to "sa" identified by "tl1985" using 'dg4msql';

    8.在sql server上建立測試表
    使用sql查詢分析器登陸到wilson資料庫執行如下命令:
    create table t(id int);
    begin transaction
    insert into t values(38);
    commit;

    9.測試連線效果
    [oracle@ora11g admin]$ sqlplus / as sysdba
SQL> select * from ;

        id
----------
        38

OK,透過測試發現gateway配置成功,此時已可以從oracle資料庫訪問到sql server資料庫,配置過程中出現的一個小錯誤是當時安裝完sql server 後預設的網路服務埠1433沒有開啟,解決方法打上sp4的補丁包後問題解決。

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

相關文章