如何在Oracle中建立透明网关

最近在研究数据从sql server 2000 向oracle迁移,有多种方法,但各有优点和缺点

方法一是用ms sql server自带的DTS 进行迁移,使用起来很方面,但image等类型的字段无法用dts导入,并且数据量大的情况下,会出现内存溢出的情况,一个2G内存的电脑能被活活拖死

第二种办法是用Oracle的透明网关,然后建立一个向sql server 的链接,通过该链接就可以访问sql server的数据,下面详细介绍如何在oracle服务器上建立透明网关

1 首先当然要在安装的时候就要安装好tg4msql(Oracle Transparent Gateway for ms sql server)工具,需要自定义安装,已经安装好的oracle 9i仍可以进行修复安装.

2 $ORACLE9I_HOME/tg4msql/admin下修改inittg4msql.ora文件:

 HS_FDS_CONNECT_INFO="SERVER=sqlserver_hostname;DATABASE=pubs"
 HS_FDS_TRACE_LEVEL=OFF
 HS_FDS_RECOVERY_ACCOUNT=RECOVER
 HS_FDS_RECOVERY_PWD=RECOVER

3 修改listener.ora的内容,在SID_LIST_LISTENER 中添加一段:

(SID_DESC=
      (SID_NAME=pubs)
      (ORACLE_HOME=d:/Oracle/Ora92)
      (PROGRAM=tg4msql)
    )
4 重起TNSListener服务

5 修改tnsnames.ora的内容,添加一段:

pubs =
  (DESCRIPTION =
  (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = pubs)
    )
    (HS = OK)
   )

保存

6 至此透明网关配置完成,可以在命令行提示符下进行测试连接:TNSPING pubs

如果测试为OK,则说明测试完成,如果超时,请详细检查各种ora文件,还要确保sql server 服务器开通了1521端口,免得被防火墙拦截了

下面就可以建立数据库链接了:

sql>create public database link pubs connect to sa identified by pwd using 'pubs';

sql>select * from stores@pubs;

sql>select "column1" from table1@pubs;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值