从Oracle到SQL Server的透明网关配置

发表于:2007-05-26来源:作者:点击数: 标签:
oracle 9.2.0.1.0 ip:192.168.1.22 port:1521 sql2000 ip:192.168.1.12 db: db1 说明,透明网关可以跟oracle,sql server2000 数据库 在同一台机器或者不同机器,本例是跟oracle是同一台机。 1: 运行oracle 安装软件,安装类型选自定义,选择里面的安装oracl

oracle 9.2.0.1.0 ip:192.168.1.22 port:1521

sql2000 ip:192.168.1.12 db: db1

 

说明,透明网关可以跟oracle,sql server2000数据库在同一台机器或者不同机器,本例是跟oracle是同一台机。

 

1: 运行oracle 安装软件,安装类型选自定义,选择里面的安装oracle transparent gateway 9.2.0.1.0,下面的oracle transparent gateway from microsoft sql server 9.2.0.1.0,这里可以看到,还可以选择其他的数据库如,sybase等

 

2:确认透明网关安装成功,会出现D:oracleora92tg4msql目录,配置文件inittg4msql.ora,注意,如果对应的listener.ora里面的sid_name设置为其他的,如本例的sql2000,那么应该新增一个配置文件对应为initsql2000.ora而不是inittg4msql.ora了,里面内容如下:

 

HS_FDS_CONNECT_INFO = "SERVER=192.168.1.12; DATABASE=db1"
            HS_FDS_TRACE_LEVEL=OFF
            HS_FDS_RECOVERY_ACCOUNT=RECOVER
            HS_FDS_RECOVERY_PWD=RECOVER

 

 

 

3:配置listener.ora

 

加上在段SID_LIST_LISTENER中加上

 

(SID_DESC =
            (GLOBAL_DBNAME = tg4msql)
            (PROGRAM = tg4msql)
            (SID_NAME = sql2000)
            (ORACLE_HOME = D:oracleora92)
            )

 

其中global_dbname,sid_name可以随意设置,但要注意与D:oracleora92tg4msql的配置文件对应,这里为sql2000那么,配置文件为initsql2000.ora。注:配置完了需要重起监听器

 

在命令行启动lsnrctl
            c:lsnrctl
            lsnrctl>stop
            lsnrctl>start

 

 

 

4:配置tnsnames.ora

 

加上

 

sql =
            (DESCRIPTION =
            (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = wen)(PORT = 1521))
            )
            (CONNECT_DATA =
            (SID = sql2000)
            )
            (HS = OK)
            )

 

这里的host为网关的主机名或ip地址,端口也是对应的,这里因为透明网关同oracle server同一台机器,所以一样sid与listener.ora对应,为sql2000,服务名随便设置,但注意建立db link时要跟这里一样hs=ok 代表异构服务

 

5:建立数据库连接

 

drop dabase link db_sql;
            create public database link db_sql
            connect to wen identified by wen
            using 'sql';

 

 

 

其中wen/wen为对应sql server2000里的数据库db1的用户/密码

 

6:测试数据连接

 

SQL> desc football_team@from_sql;
            名称
            ---------------------------------
            t_id
            t_group
            t_name
            t_bigpic
            t_smallpic

 

 

这样,就可以通过透明网关来访问了

 

7:对远程数据库不允许进行ddl操作

 

8:如果需要配置对多个sql server数据库进行访问,可以在目录tg4msql中配置多个init.ora文件,里面指定对应的数据库同时在listener.ora和tnsnames.ora进行配置,再建立相应的db links即可。

原文转自:http://www.ltesting.net