ORACLE 11G透明网关访问SQL2008R2

ORACLE 11G透明网关访问SQL2008R2

一、 测试环境说明

SQL Server 2008 R2 64win64_11gR2_database透明网关、Oracle Database 11g

其中Oracle 11g SQL Server 2008 R2 64win64_11gR2_gateways分别安装在不同的电脑上。

涉及到的三台服务器:

Ø ORACLE 服务器:

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

IP192.168.10.20

Ø SQL SERVER 服务器:

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

IP192.168.10.236

Ø 透明网关服务器:

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

IP192.168.10.18

二、 配置环境

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

透明网关下载地址:

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

 

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

 

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

 

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

 

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

 

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

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

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

进入$GATEWAY_HOMEtg_1dg4msqladmin目录,即安装透明网关的安装目录,E:product11.2.0tg_1

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

HS_FDS_CONNECT_INFO=[192.168.10.236]//TEST

HS_FDS_TRACE_LEVEL=OFF

HS_FDS_RECOVERY_ACCOUNT=RECOVER

HS_FDS_RECOVERY_PWD=RECOVER

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

示例:

四、 配置监听

在服务器:192.168.10.18上,进入$GATEWAY_HOMEnetworkadmin下,编辑listener.ora文件:

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

SID_LIST_LISTENER = 

  (SID_LIST = 

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME =E:product11.2.0tg_1 )

      (PROGRAM = extproc)

     )

    (SID_DESC = 

    (GLOBAL_DBNAME =test)

    (SID_NAME = test)

    (ORACLE_HOAME =E:product11.2.0tg_1 )

    (PROGRAM = dg4msql)

    )

  )

 

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

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

    )

    (DESCRIPTION =

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

    )

  )

 

示例:

五、 启动监听

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

 

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

 

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

六、 配置tnsname.ora

在数据库服务器:192.168.10.20上,打开,$ORACLE_HOMENETWORKADMIN,这里的$ORACLE_HOME指的是oracle的安装主目录,D:Oracleproduct11.2.0dbhome_1NETWORKADMIN,找到并打开tnsname.ora,添加以下内容:

test=

  (DESCRIPTION =

    (ADDRESS_LIST =

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

    )

    (CONNECT_DATA =

      (SID=test)

    )

    (HS = OK)

  )

注意:1上面标黄色的ip是透明网关所在的ip,这点要特别注意

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

示例:

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

打开SQL PLUS或者pl/sql

 

登录SQL PLUS 或者pl/sql后 输入:

SQL>create database link test connect to  sa  identified by 11 using test;

 

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

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

七、 总结及扩展

1、配置透明网关需要配置三个文件:分别为192.168.10.18上的inittest.oralistener.ora192.168.10.20上的tnsname.ora

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

SID_LIST_LISTENER = 

  (SID_LIST = 

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME =E:product11.2.0tg_1 )

      (PROGRAM = extproc)

     )

    (SID_DESC = 

    (GLOBAL_DBNAME =test)

    (SID_NAME = test)

    (ORACLE_HOAME =E:product11.2.0tg_1 )

    (PROGRAM = dg4msql)

    )

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

<sid>=

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 透明网关的ip/计算机名))(PORT = 1521))

    )

    (CONNECT_DATA =

      (SID=<sid>)

    )

    (HS = OK)

  )

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

Leave a Reply