第一步:需要去下载一个透明网管,相当于一个中间件(我们用的Oracle 11g,可能不同的数据库版本要安装不同的透明网管)

需要的朋友请到我的百度云盘上下载

链接:https://pan.baidu.com/s/1W6rEww1_NxxsMXYi0BOKPQ
提取码:sac2

  第二步:安装透明网关

1、解压安装包后,点击setup.exe安装

2、下一步(注:貌似一定要和Oracle数据库安装目录一致,第一次安装的时候,就和Oracle安装在不同地方了,最终百度很久发现,要和Oracle安装同一个位置)

3、选择组建,选择SQL Server

4、填写SQL SERVER的主机名和数据库名称

5、开始安装

6、安装完成后就退出,然后开始配置监听,下面是重点!!!!

  第三步:透明网关配置

 配置说明:

本地Oracle安装目录:D:\Oracle\product\11.2.0\dbhome_1

本地DBLink安装目录:D:\Oracle\product\11.2.0\dbhome_1

SQL Server:账号:sa;密码:password;IP地址:127.0.0.1

1、来到:D:\Oracle\product\11.2.0\dbhome_1\dg4msql\admin;打开initdg4msql.ora

 这个目录下可以看到以下initdg4msql.ora文件,上面在安装透明网关的时候有配置的要链接SQL SERVER数据的地址和数据库名称,在这里都可以体现:

配置文件:initdg4msql.ora

 # This is a customized agent init file that contains the HS parameters
# that are needed for the Database Gateway for Microsoft SQL Server #
# HS init parameters
#
HS_FDS_CONNECT_INFO=[127.0.0.1]://DEMO 注:连接其他的SQL Server可修改此处
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER

检查一下HS_FDS_CONNECT_INFO是否是我们想要链接的地址,格式为:目标数据库的IP地址:端口//数据库名。SQL SERVER的默认端口是1433。

配置文件:listener.ora.sample(localhost是监听的IP地址,这里我们连的是本地,127.0.0.1也是可以的)

 # This is a sample listener.ora that contains the NET8 parameters that are
# needed to connect to an HS Agent LISTENER =
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=))
) SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=dg4msql)
(ORACLE_HOME=D:\Oracle\product\11.2.\dbhome_1)
(PROGRAM=dg4msql)
)
) #CONNECT_TIMEOUT_LISTENER =

配置文件:tnsnames.ora.sample

 # This is a sample tnsnames.ora that contains the NET8 parameters that are
# needed to connect to an HS Agent dg4msql =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=))
(CONNECT_DATA=(SID=dg4msql))
(HS=OK)
)

2、配置透明网关的监听,来到:D:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN(开始配置这3个文件)

配置文件:listener.ora

 # This is a sample listener.ora that contains the NET8 parameters that are
# needed to connect to an HS Agent
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\Oracle\product\11.2.\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\Oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
(SID_DESC=
(SID_NAME=dg4msql)
(ORACLE_HOME=D:\Oracle\product\11.2.\dbhome_1)
(PROGRAM=dg4msql)
)
) LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = YRDLG5GS4G3ODYI)(PORT = ))
(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=))
)
) ADR_BASE_LISTENER = D:\Oracle #CONNECT_TIMEOUT_LISTENER =
 这里需要注意的主要是一下几点:
PROGRAM为dg4msql:因为实例的配置文件在dg4msql目录下,就是上面的initdg4msql.ora文件所在的目录
SID_NAME为dg4msql:这个sid就是上面的文件名中的sid,initdg4msql.ora的sid为dg4msql
ORACLE_HOME就是我们透明网关的安装目录
ORACLE的监听端口是1521,我的oracle和透明网关是安装在同一台机器上的,所以透明网关的监听端口设置为1522。
一个initSID.ora文件就对应一个SID_DESC,可以根据想要链接的数据库来配置。

配置文件:sqlnet.ora

 # sqlnet.ora Network Configuration File: D:\Oracle\product\11.2.\dbhome_1\network\admin\sqlnet.ora
# Generated by Oracle configuration tools. # This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT. SQLNET.AUTHENTICATION_SERVICES= (NONE) NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

配置文件:tnsnames.ora

 # This is a sample tnsnames.ora that contains the NET8 parameters that are
# needed to connect to an HS Agent
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = ))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
) dg4msql =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=))
(CONNECT_DATA=(SID=dg4msql))
(HS=OK)
)

配置完之后,一定不要忘记重启监听!!!!!!一定不要忘记重启监听!!!!!!一定不要忘记重启监听!!!!!!

 命令:lsnrctl reload

查看监听状态:

  第四步:Oracle配置DBLink

1、先查看哪些用户可以使用DBLink,没有则创建权限

 SELECT * FROM user_sys_privs where privilege like upper('%DATABASE LINK%')

赋权限配置命令

 如:grant create public database link to system ;
格式:grant create public database link to 用户名 ;

2、建立DBLink(用户要一定要权限才可以继续往下执行哦!没有的往上看,给用户配置权限)

 查询dblink:
select * from dba_db_links; 删除dblink:
DROP DATABASE LINK [name];
 create database link DBTEST1
connect to SA identified by "password"
using 'dg4msql'; 格式:
create database link DBLink名称
connect to SQL Server账户 identified by "SQL Server密码"
using 'SID';

搞定!!!!

下面这个报错信息,QQ群问一个遍,很少人知道DBLink这玩意,百度上资料也很少,捣鼓一下午,终于搞定了

出现这个问题是因为这6个文件导致的!!!!!!

捣鼓一下午,问题找到是因为这6个文件配置出问题了,这次就不再叙述了,修改那个配置文件了,配置文件因人而异,剩下的自己百度去查吧~~~~好了,捣鼓一天了,洗洗睡了,拜~~

整理的配置文档:

链接:https://pan.baidu.com/s/1Wdlo7j1NVmbmrvEwYNk1qw
提取码:6esm

Oracle DBLink跨数据库访问SQL server数据同步 踩坑实录的更多相关文章

  1. SQL Server 复制 - 发布订阅(SQL Server 数据同步)

    原文:SQL Server 复制 - 发布订阅(SQL Server 数据同步) SQL Server的同步是通过SQL Server自带的复制工具来实现的,分发布和订阅2大步. A,复制-发布 发布 ...

  2. Windows Server 2012搭建SQL Server Always On踩坑全记录

    Windows Server 2012搭建SQL Server Always On踩坑全记录 环境信息: Windows Server 2012 R2 Sql Server 2012 整个搭建集群的过 ...

  3. Oracle GoldenGate 12c实时捕获SQL Server数据

    在Oracle GoldenGate 12c中,对一些最新的数据库提供了支持,比如SQL Server 2012/2014,当然12c也支持sql server 2008.主要新增特性有: 捕获进程可 ...

  4. SQL Server数据同步到Oracle

    一.分别配置SQL Server和oracle数据库的连接信息并测试连接. 二.新增数据同步任务,配置规则,运行任务,查看日志. 支持数据自动定时抽取,转换,汇聚同步.支持一对多,多对一,多对多等数据 ...

  5. 两台SQL Server数据同步解决方案

    复制的概念 复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式.使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可 ...

  6. SQL Server数据同步交换

    一.为了解决数据同步汇聚,数据分发,数据转换,数据维护等需求,TreeSoft将复杂的网状的同步链路变成了星型数据链路.     TreeSoft作为中间传输载体负责连接各种数据源,为各种异构数据库之 ...

  7. SQL Server数据同步的研究(单向/双向)

    思路: 1.做中间件(简单:定时采集:复杂:分布式,订阅中心的形式,如微信的中间件:https://github.com/tencent-wechat/phxsql) 2.采用触发器的形式,有数据触发 ...

  8. elasticsearch与ms sql server数据同步

    MS SQL Server Download Elasticsearch Install Elasticsearch Follow instructions on https://www.elasti ...

  9. Microsoft SQL Server on Linux 踩坑指南

    微软用 SQL Server 在 2016 年的时候搞了一个大新闻,宣传 Microsoft ❤️ Linux 打得一众软粉措手不及.但是这还是好事情,Linux 上也有好用的 SQL Server ...

随机推荐

  1. 预习初三物理电学部分的心得体会&知识梳理(持续更新)

    DAY 1 一.摩擦起电 用摩擦的方式使两个不同的物体带电的现象. 二.带电体 如果一个物体能够吸引轻小物体,我们就说这个物体带电或者说带了电荷. (注:吸引轻小物体是作用效果,带电体对任何物体都有吸 ...

  2. PATB 1015. 德才论 (25)

    1015. 德才论 (25) 比较函数折腾好久,最后还因为cout,printf的区别而超时,超时是因为cout输出效率低. 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 ...

  3. (一)C#编程基础复习——开启编程之旅

    回想当年学习编程,刚开始学习是非常艰苦的,可能是因为文科生原因,刚开始接触工科类的知识不是很擅长,上去大学第一年基本没有好好学习编程,入门C#编程基础一窍不通,也许那时年少无知,第二学期开始奋发图强, ...

  4. UESTC 1324:卿学姐与公主(分块)

    http://acm.uestc.edu.cn/#/problem/show/1324 题意:…… 思路:卿学姐的学习分块例题. 分块是在线处理区间问题的类暴力算法,复杂度O(n*sqrt(n)),把 ...

  5. S7-1200 的运动控制

    S7-1200 CPU本体集成点硬件输出点最高频率为100kHz,信号板上硬件集成点输出的最高频率为20kHz,CPU在使用PTO功能时将把集成点Qa.o,Qa.2或信号板的Q4.0作为脉冲输出点,Q ...

  6. c++书籍推荐《C++编码规范》下载

    百度云及其他网盘下载地址:点我 编辑推荐 <C++编程规范:101条规则.准则与 实践>:良好的编程规范可以改善软件质量,缩短上市时间,提升团队效率,简化维护工作.在<C++编程规范 ...

  7. C++学习书籍推荐《Effective STL(英文)》下载

    百度云及其他网盘下载地址:点我 作者简介 Scott Meyers is one of the world's foremost authorities on C++, providing train ...

  8. 关系型数据库MySql简介

    什么是关系型数据库? 数据库就是用来存储数据的仓库,是一种特殊的文件. 根据存储的数据不同,划分为关系型数据库和非关系型数据库. 关系型数据库就是指 建立在关系模型基础上的数据库,通俗来讲这种数据库就 ...

  9. Windows下通过CMD命令行程序操作MySQL数据库

    注意:如果您的MySQL没有安装在C盘下,先使用命令进入MySQL的安装目录下的bin目录中才可以进行后续操作. 方法如下:例如您安装在D盘.先输入 D:  回车即可进入D盘,再输入cd D:\您my ...

  10. JAVA基础-基础类型

    学习JAVA的同学都知道,数据类型是基础中的基础,而JAVA本身是强类型语言,他对变量的类型有这魔一般的执著,所以学好JAVA的重心就是要学好数据类型.既然有强类型语言,就会有弱类型语言如PHP.Ja ...