ORACLE 11G透明网关访问SQL2008R2

ORACLE 11G透明网关访问SQL2008R2

一、  测试环境说明

操作系统:Windows Server 2008 R2 64位

数据库版本:SQL Server 2008 R2 64位和 win64_11gR2_database及相应的透明网关版本:win64_11gR2_gateways。

其中Oracle Database 11g 安装在一台电脑,另一台安装 SQL Server 2008 R2 64位和第三台安装win64_11gR2_gateways。

涉及到的三台服务器:

ORACLE 服务器:

操作系统:Microsoft Windows Server 2008R2 64位

主机名:WINORACLE

IP:192.168.8.1

SQL SERVER 服务器:

操作系统:Microsoft Windows Server 2008R2 64位

主机名:WINSQL

IP:192.168.8.2

透明网关服务器:

操作系统:Microsoft Windows Server 2008R2 64位

主机名:WINGATEWAY

IP:192.168.8.3

二、  配置环境

分别为三台服务器安装操作系统,并按照测试环境说明中的配置信息,进行操作系统配置。具体的SQL2008R2和Oracle 11g 的安装不在这里赘述,下面详细说明一下透明网关的安装过程。

透明网关下载地址:

在主机WINGATEWAY上把下载好的透明网关文件win64_11gR2_gateways.zip进行解压缩,解压后进入目录,点击setup.exe,启动安装界面,安装Oracle Transparent Gateway For Microsoft SQL Server,如下图:

下一步,输入SQL Server数据库服务器主机名:192.168.8.2,SQL Server实例名称(如果SQL Server安装的是默认的实例名,这里可以不填写),SQL Server数据库名称:test,如下图:

下一步,查看信息无误点击“安装”,如下图:

安装最后会弹出,OracleNet Configuration Assistant配置界面,如下图:

把执行典型配置打勾,点击下一步,等待配置完成后,上面界面会自动关闭,回到主安装界面:

点击退出完成透明网关的安装。

三、  配置透明网关参数文件

在服务器:192.168.8.3上,默认情况下,安装透明网关时会生成一个默认的参数文件:initdg4msql.ora,它的SID是dg4msql,可是使用这个文件,也可以新建一个文件,本例中使用新建文件。

进入$GATEWAY_HOME\tg_1\dg4msql\admin目录,即安装透明网关的安装目录,E:\product\11.2.0\tg_1,

新建一个文件:inittest.ora,这个名字可随便取但要注意格式:init<sid>.ora,把它理解为参数文件就可以。


这个地方要非要注意 : 

实例名称是一个sql server服务的名称,可以为空或者任何名称(英文字符),实例名称不能重复。
如果安装时一直提示写实例名称,说明已经存在一个默认名称的SQL Server实例,它使用了默认空名称
如果是空名称时,下面的配置HS_FDS_CONNECT_INFO=192.168.8.2//TEST 地址后面一定是要留空。
否则会报错,连接不到SQLserver的服务器。

HS_FDS_CONNECT_INFO=192.168.8.2//TEST

HS_FDS_TRACE_LEVEL=OFF

HS_FDS_RECOVERY_ACCOUNT=RECOVER

HS_FDS_RECOVERY_PWD=RECOVER

其中:HS_FDS_CONNECT_INFO的设置有多种格式具体的可以查询Oracle的帮助文件。

四、  配置监听

在服务器:192.168.8.3上,进入$GATEWAY_HOME\network\admin下,编辑listener.ora文件:

注意:下面的ORACLE_HOME实际上指的是安装透明网关的主目录,SID_NAME要与上一步配置的参数文件的名称相对应:

SID_LIST_LISTENER =

 (SID_LIST =

   (SID_DESC =

     (SID_NAME = PLSExtProc)

     (ORACLE_HOME =E:\product\11.2.0\tg_1 )

     (PROGRAM = extproc)

     )

   (SID_DESC =

   (GLOBAL_DBNAME =test)

   (SID_NAME = test)

   (ORACLE_HOAME =E:\product\11.2.0\tg_1 )

   (PROGRAM = dg4msql)

    )

  )

 

LISTENER =

 (DESCRIPTION_LIST =

   (DESCRIPTION =

     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

    )

   (DESCRIPTION =

     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.3)(PORT = 1521))

    )

  )

五、  启动监听

在服务器:192.168.8.3上,进入$GATEWAY_HOME\BIN,找到LSNRCTL.EXE双击打开,弹出一下窗口:

输入stop 先停止监听,然后在输入start启动监听:

如果启动成功,说明透明网关已经配置完成。

六、  配置tnsname.ora

在服务器:192.168.8.1上,打开,$ORACLE_HOME\NETWORK\ADMIN,这里的$ORACLE_HOME指的是oracle的安装主目录,D:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN,找到并打开tnsname.ora,添加以下内容:

test=

 (DESCRIPTION =

   (ADDRESS_LIST =

     (ADDRESS = (PROTOCOL = TCP)(HOST =WINORACLE)(PORT = 1521))

    )

   (CONNECT_DATA =

     (SID=test)

    )

   (HS = OK)

  )

(HS = OK) 这个很重要,表示的是连接的是异构数据库。

配置tnsname.ora文件以后,在192.168.8.1上创建数据库链接:

打开SQL PLUS:

登录SQL PLUS 后输入:

SQL>create database link test connect tosa identified by “11” using ‘test’;

按回车后提示数据库链接已创建。

输入select * from sysobjects@test;当从oracle数据库上发出这个sql时,实际上通过tnsname.ora配置的test信息转到192.168.8.3上,当192.168.8.3监听到192.168.8.1的请求时,再通过inittest.ora配置的HS_FDS_CONNECT_INFO信息转到192.168.8.2的SQLSERVER数据库上,最终把用户需要的数据返回。

七、  总结及扩展

1、配置透明网关需要配置三个文件:分别为192.168.8.3上的inittest.ora,listener.ora和192.168.8.1上的tnsname.ora。

2、透明网关连接到多个SQLSERVER上的配置,需要在透明网关服务器上增加一个init<sid>.ora文件,并且在listener.ora增加相应的内容:

(SID_DESC =

   (GLOBAL_DBNAME =test)

   (SID_NAME = <sid>)

   (ORACLE_HOAME =E:\product\11.2.0\tg_1 )

   (PROGRAM = dg4msql)

    )

同时在oracle服务器的tnsname.ora文件中增加相应的配置:

<sid>=

 (DESCRIPTION =

   (ADDRESS_LIST =

     (ADDRESS = (PROTOCOL = TCP)(HOST = WINORACLE))(PORT = 1521))

    )

   (CONNECT_DATA =

     (SID=<sid>)

    )

   (HS = OK)

  )

本教程只在以上的测试环境中通过,如果环境不同,请根据情况具体配置,上述教程透明网关,SQLSERVER和ORACLE分别安装在三台不同的服务器上面,用户可以根据自己的需求,安装在一台,两台,三台服务器上都是可行的。

祝好运~!


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值