2016-04-26 23:02:31
来 源
中存储网
Oracle GoldenGate
Oracle GoldenGate快速入门内部,包括GoldenGate概念以及原理,兼容性列表,OGG最新版本下载,Oracle GoldenGate双活复制案例。

本文导航:Oracle GoldenGate 简介 - 系统架构 - 进程说明 - 复制机制 - 传输原理 - 异构支持

Oracle GoldenGate简介

简言之:Oracle GoldenGate软件是做Oracle数据库双活复制的

Oracle GoldenGate,简称OGG,是一个实现异构 IT 环境间数据实时数据集成和复制的综合软件包。该产品集支持高可用性解决方案、实时数据集成、事务更改数据捕获、运营和分析企业系统之间的数据复制、转换和验证。Oracle GoldenGate 12c 通过简化配置和管理、加强与 Oracle Database 的集成、支持云环境、扩展异构性以及增强安全性,实现了极致性能。

除了用于实时数据移动的 Oracle GoldenGate 核心平台,Oracle 还提供了 Management Pack for Oracle GoldenGate(用于 Oracle GoldenGate 部署的可视化的管理和监视解决方案)和 Oracle GoldenGate Veridata(允许在两个正在使用的数据库之间进行高速、海量的比较)。

关于GoldenGate

原来是一个独立公司,成立于1995年,专注于数据复制领域的专业公司,2009年Oracle公司收购了GoldenGate公司,变成了现在的Oracle GoldenGate,作为Oracle stream的替代产品。

Oracle GoldenGate体系架构

Oracle GoldenGate 提供异构环境间事务数据的实时、低影响的捕获、路由、转换和交付。

Oracle GoldenGate介绍

goldengate体系架构
GoldenGate结构图

上图是最简单GoldenGate结构图,GoldenGate有源端和目标端,源端捕获日志发送到目标端应用,这个过程分为六步骤。

1.捕获:实时捕获交易日志(已提交数据),包含DML和DDL,并可根据规则进行过滤

2.队列:把捕获的日志数据加载入队列(写入trail文件),这是可选项,为了提高安全性,怕网络传丢了。 也可以不入队列,直接从redo buffer传递给目标端

3.数据泵:将trail文件广播到不同的目标端(Oracle 10g 数据泵操作步骤详解)

4.网络:从源网络压缩加密后传送到目的网络

5.接收队列:接收从源端传过来的trail文件

6.交付:把trail文件内容转换成SQL语句在目标库执行。

GoldenGate的双向复制:在把另一端重新配置成源端,即可实现双向复制,这就是Active-Active双活业务中心。

GoldenGate进程  

我们还是根据GG工作流程来讲解GG进程

1.Manager进程:这是GG全局主进程,它是GG守护进程统筹全局,它可以启动、监控、终止GoldenGate的其它进程,收集错误报告及事件,分配数据存储空间,发布阀值告警等,在源端和目标端有且只有一个Manager进程。

2.Extract进程:运行在源端的进程,实时捕获交易数据,可以直接在redo buffer捕获传递到目标端,也可以在redo buffer捕获先写入trail队列在传递到目标端。非Oracle库支持从数据表捕获数据。

3.Pump进程:运行在源端的进程,将源端产生的本地trail文件广播到不同的目标端,pump进程本质是extract进程的一种特殊形式,如果不使用trail文件,那么extract进程在捕获完交易日志后直接传递到目标端,生成远程trail文件。

4.Collector进程:运行在目标端的进程,专门接收从源端传过来的trail文件日志生成队列。

5.Delivery进程:运行在目标端的进程,通常我们也把它叫做replicat进程,是数据传递的最后一站,负责读取远程trail文件内容,解析为SQL语句在目标库上执行。

Oracle GoldenGate数据复制机制  

首先,我们要理解GG基于日志的实时数据复制技术,Oracle中还有哪些是基于日志的技术呢?

1.Data Guard 基于日志 (Oracle DataGuard的原理与基本配置)

2.Oracle Streams 基于日志

3.Advance Replication 基于触发器,触发器占用资源多,导致系统性能下降

GG的基于日志和DG的基于日志有什么区别呢,哪个性能更好呢?  

答:

GG是不依赖于数据库而独立的软件,拥有自己专属进程,不依赖数据库的触发器和规则,对数据库影响小。

DG是数据库的一个HA功能,它需要数据库的进程支持,与数据库进程息息相关,属于数据库的一部分,对数据库影响大。

下面我们根据图示来解析GG复制原理

goldengate机制原理

先来看2个概念

(1)Trail文件

就是上图中红箭头所指文件,为了更有效,更安全的把数据库事务信息从源端传递到目标端,GG引进了trail文件概念。图中所示Extract进程在redo buffer中提取完日志数据后会写入一种GG专有格式的文件,这个文件就是trail文件,然后data pump进程负责把源端的trail文件传递到目标端,因此源端和目标端都会存在这种文件。

Trail文件存在目的旨在防止单点故障,例如数据库abort,系统宕机,突发断电,网络不通等情况,结合checkpoint机制把没有顺利传递到目标端的文件进行断点续传,保证GG高可用。

(2)Checkpoint检查点

GG中的检查点机制与Oracle数据库检查点机制有异曲同工之处,都是用于记录日志数据传输应用的进度点,进程会在trail文件中标记checkpoint位置,如果发生故障,则数据可以根据checkpoint记录的位置来重传恢复。

Oracle GoldenGate数据传输的原理

理解了上面的概念,我们就可以了解GG数据传输的原理,大体上可以分成两种模式:

1)直接传输:Extract直接从redo buffer中捕获日志传递到目标端,在源端不写入trail文件。

2)文件传输:Extract先把捕获的日志写入trail文件,再用Pump进程泵出到目标端,这样的好处第一安全,第二备份恢复。

Oracle GoldenGate支持的异构环境列表

GoldenGate 异构支持列表

至此本文简单介绍了Oracle GoldenGate,了解了OGG的工作原理,接下来中存储www.chinastor.com还将继续推出Oracle GoldenGate实战之安装配置篇

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。