Oraclegoldengate安装以及单向复制配置
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
安装以及单向复制配置
不支持操作
一、简介
软件是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步。
可以在异构的基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,从而在可以在应急系统、在线报表、实时数据仓库供应、交易跟踪、数据同步、集中分发、容灾、数据库升级和移植、双业务中心等多个场景下应用。
同时,可以实现一对一、广播(一对多)、聚合(多对一)、双向、点对点、级联等多种灵活的拓扑结构。
二、技术结构
和传统的逻辑复制一样,实现原理是通过抽取源端的或者,然后通过投递到目标端,最后解析还原应用到目标端,使目标端实现同源端数据同步。
以下是的技术架构
进程
进程是的控制进程,运行在源端和目标端上。
它主要作用有以下几个方面:启动、监控、重启的其他进程,报告错误及事件,分配数据存储空间,发布阀值报告等。
进程
运行在数据库源端,负责从源端数据表或者日志中捕获数据。
进程
进程运行在数据库源端。
其作用是如果源端使用了本地的文件,那么进程就会把以数据块的形式通过协议发送到目标端,这通常也是推荐的方式。
进程本质是进程的一种特殊形式,如果不使用文件,那么就是进程在抽取完数据以后,直接投递到目标端。
文件
为了更有效、更安全的把数据库事务信息从源端投递到目标端。
引进文件的概念。
前面提到抽取完数据以后会将抽取的事务信息转化为一种专有格式的文件。
然后负责把源端的文件投递到目标端,所以源、目标两端都会存在这种文件。
文件存在的目的旨在防止单点故障,将事务信息持久化,并且使用机制来记录其读写位置,如果故障发生,则数据可以根据记录的位置来重传。
进程
进程,通常我们也把它叫做应用进程。
运行在目标端,是数据传递的最后一站,负责读取目标端文件中的内容,并将其解析为或语句,然后应用到目标数据库中。
是的缩写,它提供了十分丰富的命令来对进行各种操作,如创建、修改、监控进程等等
三、应用的拓展结构、支持平台和数据库
四、在上安装以及初始化数据(用来做数据迁移)
操作系统:
源端:
目标端:
、软件安装(源端和目标端相同的操作)
到官网注册账号下载最新的软件。
安装平台:
:
版本:
(建议使用用户安装)
解压软件
$
$
$
$
设置环境变量(在原有的数据库环境变量添加)
$
$
$
、初始化源端数据库
) 开启归档模式
是基于日志变化的捕获,所以为了完整的捕获到数据库的变化,有必要将归档模式开启。
> '' ;
>
>
>
>
>
) 开启附加日志
我们知道,在中我们可以通过来定位某条记录,但是目标端的数据库和源端数据库的数据库可能完全不一样,所以无法通过来确定源端数据库的逻辑变化,这时附件日志便登上了表演的舞台。
数据库在开启附加日志功能后,对于源端的修改操作,会同时追加能够唯一标示记录的列到。
这样目标端数据库就可以知道源端发生了哪些具体的变化。
> ;
> ;
> $;
) 开启强制日志模式
> ;
) 为创建用户并授权
> '' ;
> ;
> ;
> ;
> ;
> ;
> ;
> ;
.初始化目标端数据库
为创建用户并授权
> ' ' ;
> ;
> ;
> ;
> ;
> ;
> ;
> ;
> ;
> ;
> ;
、初始化数据
)在源端添加要初始化数据的用户和表(在用户下执行)
> 源端和目标端都执行,创建一些目录
>
> .*
> .*
) 在源端和目标端配置
>
>
>
) 在源端配置进程
> 直接从表读取信息
>
()
,
,
.*;
) 在目标端配置进程
> 只执行一次
>
()
,
.* .*;
) 启动源端的进程
在启动源端的进程之前,先把目标端的数据表信息清除掉
>
) 测试数据是否同步过来
在源端和目标端看下相关表的记录是否一致
可以发现数据已经复制到目标端了五、同步数据库数据
、在源端配置进程
>
()
.*;
>
>
>
>
、在源端配置进程
>
()
.*;
>
> ,
>
>
、在目标端配置进程
>
>
>
>
>
>
()
.* .*;
>
、测试数据是否可以正常同步
在源端、、数据,看目标端是否和源端一致,一致表示复制
正常.
在源端插入一条数据并且提交
在目标端看下插入的数据是否同步过来了
从上面的情况可以看出来同步正常的
由于此文档配置不支持操作,在此我也做了下的同步的测试,方法就是在源端和目标端都创建一个同名的表,然后在源端插入数据看目标端是否同步
从以上的图片可以看到数据可以正常的同步的
至于支持操作的配置,网上有很多文章,大家可以参考下,就是多执行几个自带的脚本和配置文件需要添加一些参数.。