Oracle使用透明网关访问SQLSERVER数据库

这几天公司报表数据库转移到新服务器,需要对数据库透明网关重新配置,现将在oracle下使用透明网关访问sqlserver服务器上的数据的步骤进行整理:
配置环境:
ORACLE数据库 IP:192.168.88.59,端口:1521
透明网关 IP:192.168.88.59,端口:1522
SQL SERVER 2008 数据库 IP:192.168.90.178,端口:1433
搭建步骤:
1、安装透明网关
1)Oracle 10g下,透明网关是一个单独的组件,需要单独下载安装,在oracle官网上注册账号后可下载(下载地址http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201winsoft.html)。
2)解压后,进入目录,点击setup.exe,启动安装界面,选择需要安装的透明网关类型 (此例中选择oracle transparent gateway for microsoft sql server)Oracle使用透明网关访问SQLSERVER数据库
3).输入需窑UB拥膕qlserver数据服务器ip与数据库名,监听设置取消,稍后配置.
Oracle使用透明网关访问SQLSERVER数据库
2、配置init文件
默认情况下,安装透明网关时会生成一个默认的参数文件:inittg4msql.ora(D:\oracle\product\10.2.0\tg_1\tg4msql\admin,它的sid是tg4mssql,我们可以使用这个文件,也可以新建一个文件,如使用该文件请注意修改HS_FDS_CONNECT_INFO的值。
Oracle使用透明网关访问SQLSERVER数据库HHS_FDS_CONNECT_INFO的设置有多种格式,如:
HS_FDS_CONNECT_INFO=server_name.db_name,但这种写法server_name不能为IP,且端口必须为默认的1433,如:
HS_FDS_CONNECT_INFO=sqlserver.dw_jzt_new
下面要改一下
HS_FDS_TRACE_LEVEL = DEBUG
3配置监听
进入D:\oracle\product\10.2.0\tg_1\NETWORK\ADMIN下,编辑listener.ora文件:
Oracle使用透明网关访问SQLSERVER数据库SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME =D:\oracle\product\10.2.0\tg_1)(PROGRAM = extproc))
(SID_DESC= (SID_NAME= tg4msql)(D:\oracle\product\10.2.0\tg_1)(PROGRAM=tg4msql))
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.88.59 )(PORT = 1522)) #透明网关的IP和端口号
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
4、启动监听
进入透明网关所在目录,启动监听器
a. cd D:\oracle\product\10.2.0\tg_1\BIN
b. lsnrctl start
Oracle使用透明网关访问SQLSERVER数据库
5、修改tnsname.ora文件
进入D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN
添加如下内容:
tg4msql=
(DESCRIPTION=
(ADDRESS= (PROTOCOL=TCP)(HOST=192.168.88.59)(PORT=1522) ) #透明网关的IP和端口号
(CONNECT_DATA= (SID=tg4msql))
(HS=OK) #这个很重要表示异构数据库
)
6、在服务器创建数据库链接(使用普通用户账户)
 create database link sql178link connect to username identified by "password" using 'tg4msql'
Oracle使用透明网关访问SQLSERVER数据库
通过查询测试是否成功,至此透明网关安装完成.
Oracle使用透明网关访问SQLSERVER数据库


     本文转自ttzztt 51CTO博客,原文链接:http://blog.51cto.com/tianzt/222395,如需转载请自行联系原作者




上一篇:Redis:单线程模型效率为什么这么高,6.0为啥开始引入多线程


下一篇:你的监控够高级吗?