创建透明网关
ORACLE实现异构服务的技术叫做透明网关(Transparent Gateway),利用透明网关可以实现和SQL SERVER、SYBASE、DB2等多种数据库的互联。因此透明网关也是Oracle数据仓库和数据迁移中的一个重要组成部分。
透明网关的体系结构也很简单,在ORACLE和SQL SERVER之间使用ORACLE透明网关服务器实现互连互通,其中透明网关服务器可以与ORACLE或SQL SERVER数据库在同一台主机上,也可以是在独立的一台主机上。
本文ORACLE或SQL SERVER数据库在同一台主机上;
SQL Server版本为SQL Server 2000
Oracle版本为Oracle9i 9.2.0.1
操作系统版本为WindowsXP
透明网关的安装和配置
1、运行Oracle安装程序进行透明网关组件的安装
2、选择自定义
3、选择要安装的透明网关
4、系统提示配置
注:Microsoft SQL Server:SQL服务器的地址(IP)
Microsoft SQL数据库: SQL数据库名(如:Northwind)
安装成功后会在以下目录生成如下文件
5、查看%OracleHome%/ora90/tg4msql/admin目录
tg4msql
├─admin --透明网关配置目录
├─inittg4msql.ora –MS SQL Server数据库配置信息
└─tg4msql_tx.sql
├─bin --系统配置的东西
├─nls --定义错误的消息
├─eng
└─jpn
├─demo --提供了一些在SQLServer环境下得demo
├─html --提供了一些SQLServer和Oracle的参考文档
└─trace --提供系统跟踪情况
6.修改inittg4msql.ora, %OracleHome%/ora90/tg4msql/admin/listener.ora
# This is a sample agent init file that contains the HS parameters that are
# needed for the Transparent Gateway for SQL Server
#
# HS init parameters
#服务器IP与端口用逗号隔开
HS_FDS_CONNECT_INFO="SERVER=127.0.0.1,1433;DATABASE=gwba"
HS_FDS_TRACE_LEVEL=DEBUG
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
7.修改监听文件, %OracleHome%/ora90/network/admin/listener.ora,增加如下
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\ora90)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = DB)
(ORACLE_HOME = D:\oracle\ora90)
(SID_NAME = DB)
)
(SID_DESC =
(SID_NAME = tg4msql)
(ORACLE_HOME = D:\oracle\ora90)
(PROGRAM = tg4msql)
)
)
注:标红部分为新增的
8.修改tnsnames.ora, %OracleHome%/ora90/network/admin/tnsnames.ora,增加如下
TG4MSQL = -- TG4MSQL:主机连接字符串
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SID = tg4msql)
)
(HS=OK) --不知道什么意思,
)
9.重启监听
lsnrctl stop
lsnrctl start
lsnrctl status
10. 测试解析状态
C:/ >tnsping tg4msql
TNS Ping Utility for 32-bit Windows: Version 9.2.0.1.0 - Production on 14-10月-2
007 16:29:43
Copyright (c) 1997 Oracle Corporation. All rights reserved.
已使用的参数文件:
D:\oracle\ora90\network\admin\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION= (ADDRESS_LIST = (ADDRESS = (PROTOCOL=TCP)(HO
ST= 127.0.0.1)(PORT=1521))) (CONNECT_DATA= (SID=tg4msql)) (HS=OK))
OK(20毫秒)
11、创建数据库链接
CREATE PUBLIC DATABASE LINK MStest CONNECT TO “sa” IDENTIFIED BY “sa” USING ‘TG4MSQL’;
12、察看数据库链接
select * from sys.LINK$
13、测试
select * from Customers@MStest;