Oracle透明网关 for SQL Server

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
简介:
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 Installation Products à Universal Installer 进行透明网关组件的安装
2 、选择自定义

3 、选择要安装的透明网关
 
4 、系统提示配置
 
 
5 、查看 C:oracleora92tg4msqladmin 目录
tg4msql
├─ admin -- 透明网关配置目录
│ tg4msql_tx.sql
├─ bin -- 系统配置的东西
├─ nls -- 定义错误的消息
│ ├─ eng
│ └─ jpn
├─ demo -- 提供了一些在 SQLServer 环境下得 demo
├─ html -- 提供了一些 SQLServer 和 Oracle 的参考文档
└─ trace -- 提供系统跟踪情况 
 
6 、修改 C:oracleora92tg4msqladmininittg4msql.ora
# HS_FDS_CONNECT_INFO="SERVER=host;DATABASE=northwind"
HS_FDS_CONNECT_INFO=host.northwind --hostname.databasename
HS_FDS_TRACE_LEVEL=DEBUG
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER 
 
7 、修改 C:oracleora92networkadminlistener.ora ,增加
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = tg4msql)
(ORACLE_HOME = C:oracleora92)
(PROGRAM = tg4msql)
)

 
8 、修改 C:oracleora92networkadminTnsname.ora ,增加
TG4MSQL=
(DESCRIPTION=
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL=TCP)(HOST= host)(PORT=1521))
)
(CONNECT_DATA=
(SID=tg4msql)
)
(HS=OK)

 
9 、重新启动侦听服务
Microsoft Windows XP [ 版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
C:Documents and SettingsAdministrator>lsnrctl stop
LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 14-10 月 -2007 16:21
:25
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
命令执行成功
C:Documents and SettingsAdministrator>lsnrctl start
LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 14-10 月 -2007 16:21
:38
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
启动 tnslsnr :请稍候 ...
TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production
系统参数文件为 C:oracleora92networkadminlistener.ora
写入 C:oracleora92networkloglistener.log 的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=.pipeEXTPROC0ipc)))
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host)(PORT=1521)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc
tion
启动日期 14-10 月 -2007 16:21:40
正常运行时间 0 天 0 小时 0 分 2 秒
跟踪级别 off
安全性 OFF
SNMP OFF
监听器参数文件 C:oracleora92networkadminlistener.ora
监听器日志文件 C:oracleora92networkloglistener.log
监听端点概要 ...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=.pipeEXTPROC0ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host)(PORT=1521)))
服务摘要 ..
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序 ...
服务 "tg4msql" 包含 1 个例程。
例程 "tg4msql", 状态 UNKNOWN, 包含此服务的 1 个处理程序 ...
服务 "wbq" 包含 1 个例程。
例程 "wbq", 状态 UNKNOWN, 包含此服务的 1 个处理程序 ...
命令执行成功
C:Documents and SettingsAdministrator>lsnrctl status
LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 14-10 月 -2007 16:21
:47
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc
tion
启动日期 14-10 月 -2007 16:21:40
正常运行时间 0 天 0 小时 0 分 9 秒
跟踪级别 off
安全性 OFF
SNMP OFF
监听器参数文件 C:oracleora92networkadminlistener.ora
监听器日志文件 C:oracleora92networkloglistener.log
监听端点概要 ...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=.pipeEXTPROC0ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host)(PORT=1521)))
服务摘要 ..
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序 ...
服务 "tg4msql" 包含 1 个例程。
例程 "tg4msql", 状态 UNKNOWN, 包含此服务的 1 个处理程序 ...
服务 "wbq" 包含 1 个例程。
例程 "wbq", 状态 UNKNOWN, 包含此服务的 1 个处理程序 ...
命令执行成功
C:Documents and SettingsAdministrator> 
 
10 、测试解析状态
C:Documents and SettingsAdministrator>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.
已使用的参数文件 :
C:oracleora92networkadminsqlnet.ora
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION= (ADDRESS_LIST = (ADDRESS = (PROTOCOL=TCP)(HO
ST= host)(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
 
透明网关配置的疑难问题
配置过程遇到的异常情况:
ORA-28500: 连接 ORACLE 到非 Oracle 系统时返回此信息 :
[Transparent gateway for MSSQL][H006] The init parameter <HS_FDS_CONNECT_INFO> is not set. Please set it in init<orasid>.ora file.
ORA-02063: 紧接着 2 lines (源于 MSTEST ) 
 
解决过程,请检查以下参数
Listener.ora
PROGRAM 必须为 tg4msql
SID_NAME 为 gateway_sid ,也就是说单个透明网关情况下一定是 tg4msql ,即 inittg4msql.ora 的名字部分去掉 init 即可,呵呵
Tnsnames.ora
SID 为 Listener.ora 中的 SID_NAME
TNS 的名称可以随便进行配置。
至于以下这两个区别,我到现在也没搞明白 L
HS_FDS_CONNECT_INFO="SERVER=local;DATABASE=northwind"
HS_FDS_CONNECT_INFO=host.northwind
多个透明网关的配置
1 、把 inittg4msql.ora 复制并修改名称为 inittg4msql2.ora
2 、修改 C:oracleora92tg4msqladmininittg4msql2.ora 只修改第一行,服务器和数据库名即可
HS_FDS_CONNECT_INFO=host.pubs --hostname.databasename 
 
3、 修改 C:oracleora92networkadminlistener.ora ,增加如下注意 SID_Name 的变化
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = tg4msql2)
(ORACLE_HOME = C:oracleora92)
(PROGRAM = tg4msql)
)

 
4、 修改 C:oracleora92networkadminTnsname.ora ,增加
TG4MSQL2=
(DESCRIPTION=
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL=TCP)(HOST= host)(PORT=1521))
)
(CONNECT_DATA=
(SID=tg4msql2)
)
(HS=OK)

 
然后和单个透明网关配置一样,重新启动监听,创建数据库链接,测试。 一切 OK!
 





本文转自baoqiangwang51CTO博客,原文链接:http://blog.51cto.com/baoqiangwang/312676 ,如需转载请自行联系原作者
相关文章
|
3月前
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
294 8
|
8月前
|
SQL Oracle 关系型数据库
解决大小写、保留字与特殊字符问题!Oracle双引号在SQL中的特殊应用
在Oracle数据库开发中,双引号的使用是一个重要但易被忽视的细节。本文全面解析了双引号在SQL中的特殊应用场景,包括解决标识符与保留字冲突、强制保留大小写、支持特殊字符和数字开头标识符等。同时提供了最佳实践建议,帮助开发者规避常见错误,提高代码可维护性和效率。
289 6
|
9月前
|
SQL Oracle 关系型数据库
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
|
9月前
|
SQL Oracle 关系型数据库
【YashanDB知识库】yashandb执行包含带oracle dblink表的sql时性能差
【YashanDB知识库】yashandb执行包含带oracle dblink表的sql时性能差
|
9月前
|
SQL Oracle 关系型数据库
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
本文来自YashanDB官网,介绍如何处理Oracle客户端sql*plus中使用@@调用同级目录SQL脚本的场景。崖山数据库23.2.x.100已支持@@用法,但旧版本可通过Python脚本批量重写SQL文件,将@@替换为绝对路径。文章通过Oracle示例展示了具体用法,并提供Python脚本实现自动化处理,最后调整批处理脚本以适配YashanDB运行环境。
|
11月前
|
SQL Oracle 关系型数据库
如何在 Oracle 中配置和使用 SQL Profiles 来优化查询性能?
在 Oracle 数据库中,SQL Profiles 是优化查询性能的工具,通过提供额外统计信息帮助生成更有效的执行计划。配置和使用步骤包括:1. 启用自动 SQL 调优;2. 手动创建 SQL Profile,涉及收集、执行调优任务、查看报告及应用建议;3. 验证效果;4. 使用 `DBA_SQL_PROFILES` 视图管理 Profile。
|
SQL 监控 Oracle
Oracle SQL性能优化全面指南
在数据库管理领域,Oracle SQL性能优化是确保数据库高效运行和数据查询速度的关键
1534 6
|
Oracle 关系型数据库 MySQL
oracle通过透明网关连接mysql的配置
前言:数据库多了,各种数据库的数据抽取肯定是会有的,遇到最到最多的应该是oracle从sqlserver抽取数据,oracle从mysql抽取数据的情况会比较少,但是还是遇到了。
1526 0
|
Oracle 关系型数据库 网络协议
ORACLE透明网关的配置
说明:ORACLE透明网关的作用实现ORACLE能够轻易获取其他非ORACLE数据库的数据源;   一、透明网关的安装步骤:     二、透明参数的配置: 2.1  进入 D:\app\Administrator\product\11.2.0\dbhome_1\dg4msql\admin,安装透明网关时会生成一个默认的参数文件initdg4msql.ora,文件的格式名为init.ora。
1350 0
|
3月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】Oracle数据库配置助手:DBCA
Oracle数据库配置助手(DBCA)是用于创建和配置Oracle数据库的工具,支持图形界面和静默执行模式。本文介绍了使用DBCA在Linux环境下创建数据库的完整步骤,包括选择数据库操作类型、配置存储与网络选项、设置管理密码等,并提供了界面截图与视频讲解,帮助用户快速掌握数据库创建流程。
360 93

推荐镜像

更多