ORACLE透明网关
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ORACLE 要连接到MSSQL SERVER库,需要安装ORACLE的透明网关,ORACLE透明网关for MSSQL的产品名称为Oracle Transparent Gateway for SQL Server。使用该产品后,对于Oracle数据库而言,屏蔽了SQL Server的异构性,可直接在Oracle数据库中对SQL Server数据进行大多数操作。详细步骤如下:
1.环境要求
2.安装透明网关
Oracle透明网关和Oracle数据库可以不在同一台机器上,执行安装程序中的setup.exe,出现欢迎窗口。下面安装步骤如无特别说明,均点击“下一步”。
从产品组件中选择Oracle Transparent Gatewey for Microsoft SQL Server 9.2.1.0(如图)。
以上随便填入值,反正之后还要编辑的。(ckts tsshv600)
3.安装透明网关补丁
如果数据库是oracle 9.2.0.1,此补丁不需要安装,如果你升级了数据库9.2.0.8,那么透明网关需要升级到相应的版本。否则会出现以下错误:
SQL> select * from pre_ems3_head@test;
select * from pre_ems3_head@test
*
ERROR 位于第1 行:
ORA-02068: 以下严重错误源于TEST
ORA-28511: 丢失与使用SID=%s 的多机种远程代理程序的RPC 连接
ORA-28509: 无法创建与非Oracle 系统的连接
下载补丁文件p4547809_92080_WINNT,安装步骤:
3.透明网关配置
1)编辑D:\oracle\ora92\tg4msql\admin\inittg4msql.ora文件名为init MSSQL.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
#
HS_FDS_CONNECT_INFO="SERVER=192.168.0.242;DATABASE=MSSQL"
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
2)编辑D:\oracle\ora92\network\admin\listener.ora内容,加上蓝色字体部分,保存后,重启listener,一定要重启。
# LISTENER.ORA Network Configuration File: d:\oracle\ora92\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.242)(PORT = 1521))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = d:\oracle\ora92)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = MSSQL)
(ORACLE_HOME = D:\oracle\ora92)
(PROGRAM = tg4msql)
)
)
到此ORACLE透明网关已经配置完成,如果想连接,只需要再配一下TNSNAMES.ORA文件,就像连接ORACLE那样连接就行,可以从其它服务器上连接透明网关服务器,也可以在透明网关服务器连接。
编辑D:\oracle\ora92\network\admin\tnsnames.ora内容,如下
ora_to_sql =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.242)(PORT = 1521))
)
(CONNECT_DATA =
(SID = MSSQL)
)
(HS=OK)
)
注意:以上红字为MSSQL SERVER 数据库名,三处要保持一样;
总结:仅此本人对ORACLE透明网关的理解,它可以将MSSQL SERVER库封装成ORACLE库,对用户透明,用户通过透明网关操作MSSQLSERVER,就和操作ORACLE库一样。