配置Oracle透明网关用以连接 SQLServer经验总结
一、情景介绍
业务中设计两个不同的系统,系统1和系统2,两个系统分别使用的是Oracle和SQLServer数据库。现需要在系统1的数据库中直接查询系统2数据库的数据。即在Oracle中执行SQL脚本可以直接查询SQLServer数据库中的数据。Oracle透明网关即Oracle Database Gateway,是Oracle数据库官方提供的一款工具,用于增强访问特定异构数据库的能力。

Oracle、网关和SQL Server可以分别安装在任意主机上,只要满足可以网络互通就可以。想要在Oracle中直接查询SQL Server中的数据,需要完成以下步骤(假设Oracle和SQL Server已经安装部署完毕):
第一步:下载并安装网关;
第二步:配置网关;
第三步:配置Oracle数据库的TNS配置;
第四部:配置SQL Server,使其能够远程连接;(若已经可以远程连接,则跳过)
第五步:登录Oracle并创建DBlink,测试连接。
二、下载网关并安装
点击下载:Oracle Database Gateway
安装过程:
1、运行setup.exe
2、欢迎页面点下一步
3、配置主目录页面,名称随意起,路径为网关安装路径,自由选择。下一步;
4、可用产品组件,选择”for SQL Server”项。下一步;
5、配置SQL Server数据库信息,分别是SQL Server数据库的主机地址(或主机名),实例名,数据库名;下一步;
6、摘要页面,显示的安装信息,没问题的话,直接点击安装。等待安装完成。
三、 配置网关信息
一共需要手工配置两个文件,分别是网关的安装目录中:dg4msql\admin\initdg4msql.ora 和 network\admin\listener.ora。
注意,这两个文件可能无法在原位置手工修改的,需要拷贝到其他位置如桌面,进行修改后,覆盖原文件即可
initdg4msql.ora
网关工具可以同时配置多个SQL Server数据库实例,每一个实例对应一个这样的文件,此文件的文件名的命名规则为 init + “SID”.ora 其中SID为网关的区别标识,可以自定义,只要能全局唯一就可以,SID默认为dg4msql。此文件中保存着想要跨库连接的SQL Server数据库连接信息。
具体配置参考下图:

listener.ora
此文件配置这网关的监听服务信息,因为网关需要接收来自Oracle的访问,所以需要配置此文件以保存监听服务信息,等待被访问。配置前,找到安装目录的dg4msql\admin\listener.ora.sample ,这个文件是配置模板,可以参考,或直接拿来稍微修改后使用。
具体配置参考下图:

将以上信息,按照自己的情况修改后,复制文本到network\admin\listener.ora文件中。到此,网关配置完毕,需要到计算机管理中开启网关监听服务。

在启动监听服务时可能会遇到弹窗提示:本地计算机上的***服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止。解决办法,断开网络重新连接后重试。
四、配置Oracle数据库的TNS配置
手工修改文件:oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora,其格式参考网关安装目录中的模板文件 dg4msql\admin\tnsnames.ora.sample,具体是将配置内容添加到 tnsnames.ora 文件末尾。

五、配置SQL Server,使其能够远程连接
打开SQL Server主机中防火墙的1433端口,并配置SQL Server允许其远程连接。具体不做过多介绍。
六、登录Oracle并创建DBlink,测试连接
执行SQL脚本创建DBlink:
CREATE PUBLIC DATABASE LINK dblink CONNECT TO “ 用户” IDENTIFIED BY “密码” USING 'tns_name_entry ';
测试是否可以在Oracle中查询SQL Server中的数据:
SELECT * FROM DUAL@dblink;
自己总结是为了加深印象,也许其中难免有错误,附上官方教程,逐步按照官方教程一定可以帮助你实现跨库需求。
配置Oracle透明网关用以连接 SQLServer经验总结的更多相关文章
- 配置oracle的ssl连接
配置oracle的ssl连接 网上也没有中文资料,我硬着头皮看官方文档肯完,终于配置成功,下面是我配置步骤 配置安全套接层连接oracle 目录 1. 配置简介 1 2 ...
- Oracle使用dblink连接SqlServer
使用场景:当你需要从ORACLE数据库上访问另一台SqlServer数据库的数据时,Oracle提供了一个工具:gateways.通过这个工具,你可以创建dblink来连接sqlserver或其他不同 ...
- oracle 通过透明网关gateway 连接sqlserver
真实配置如下: 1.安装gateway 在一台单独的机器上,ip:172.30.40.29 2.配置listener.ora如下: 路径: D:\product\11.2.0\tg_1\NETWOR ...
- ORA-12541:TNS:无监听程序 配置Oracle Myeclipse无法连接上 花费一天时间解决掉的
背景:自己机子做oracle服务器,其他机子可以ping得通我的机子,但是jdbc就是连不上,后来用plsql连出现无监听程序.... 我昨天重新安装Oracle后,用PL/SQL Developer ...
- Oracle Sql Developer 连接 SqlServer
1.下载 jTDS - SQL Server and Sybase JDBC driver 地址:http://sourceforge.net/projects/jtds/files/ 2.运行SQL ...
- Oracle透明网关访问SQLServer数据库
针对oracle数据库不同实例之间的数据访问,我们可以直接通过dblink访问,如果oracle数据库想访问mysql/sqlserver等数据库的数据,我们可以通过配置oracle透明网关实现异构数 ...
- Oracle透明网关访问MySQL数据库
针对oracle数据库不同实例之间的数据访问,我们可以直接通过dblink访问,如果oracle数据库想访问mysql/sqlserver等数据库的数据,我们可以通过配置oracle透明网关实现异构数 ...
- Oracle Sql Developer 连接oracle
PL/Sql 初次使用需要配置文件内容,对于我这种Oracle新手来说各种配置有点凌乱,所以果断选择Sql Developer. 选择它是因为初次使用的时候它不用想PL/Sql那样配置文件,而只需要添 ...
- 通过Oracle sql developer从sqlserver迁移数据到oracle
通过Oracle sql developer工具从sqlserver迁移数据到oracle 序言 一般情况下,sqlserver数据迁移到oracle,我们可以使用ODI来进行.但ODI的安装.配置. ...
随机推荐
- Bzoj 2525 [Poi2011]Dynamite
2525: [Poi2011]Dynamite Time Limit: 30 Sec Memory Limit: 128 MBSubmit: 240 Solved: 120[Submit][Sta ...
- EnjoyingSoft之Mule ESB开发教程第三篇:Mule message structure - Mule message结构
目录 1. 探索Mule Message结构 2. Mule Message的Payload 3. Mule Message的Property 4. Mule Message的Attachment 5 ...
- 用Python玩数据-笔记整理-第一章
第一个程序:print >>>print("Hallo World!") >>>Hallo World! mystring = "Ha ...
- C# 与 JS 之间传值在 cshtml页面中
@{ string It = "sss"; ; } @functions{ string Mod = "ajssaioi"; public string Itm ...
- Golang 高效实践之并发实践context篇
前言 在上篇Golang高效实践之并发实践channel篇中我给大家介绍了Golang并发模型,详细的介绍了channel的用法,和用select管理channel.比如说我们可以用channel来控 ...
- python3.5学习笔记(第六章)
本章内容: 正则表达式详解(re模块) 1.不使用正则表达式来查找文本的内容 要求从一个字符串中查找电话号码,并判断是否匹配制定的模式,如:555-555-5555.传统的查找方法如下: def is ...
- C#3.0新增功能09 LINQ 基础05 使用 LINQ 进行数据转换
连载目录 [已更新最新开发文章,点击查看详细] 语言集成查询 (LINQ) 不只是检索数据. 它也是用于转换数据的强大工具. 通过使用 LINQ查询,可以使用源序列作为输入,并通过多种方式对其进 ...
- 通过VS2017发布.net core程序并使用Web 部署到远程服务器最新教程
最近一个项目中,为App开发后台接口,技术选型为最新 .net core版本,使用.net core开发web api接口过程中,为了方便app团队成员直接在线调用接口,找了公网上的一台服务器做为ap ...
- C语言编程入门之--第二章编译环境搭建
第二章 编译环境搭建 导读:C语言程序如何工作,首先需要编译链接成可执行文件,然后就可以运行在不同的环境中,这个“环境”的意思就是比如说,电脑,手机,路由器,蓝牙音箱等等智能设备中,其中编译器启到了关 ...
- difflib python
difflib -帮助进行差异化比较 这个模块提供的类和方法用来进行差异化比较,它能够生成文本或者html格式的差异化比较结果,如果需要比较目录的不同,可以使用filecmp模块. 例子: # -*- ...