1、概述

GoldenGate 现在是业内成熟的数据容灾与复制产品,被广泛地应用到金融行业及要求数据复制高效、健壮的各个行业。目前隶属于Oracle 公司融合中间件(Fusion Middleware)产品线。

2、产品组合

Oracle GoldenGate最为常见的家族成员包括GoldenGate GoldenGate Director(现名GoldenGate Management Pack)、 GoldenGate Veridata 。这三者并不是一个打包的产品。

  1. GoldenGate 产品是核心产品;
  2. GoldenGate Director为GoldenGate 提供友好的GUI 配置 管理界面;
  3. GoldenGate Veridata为GoldenGate 源端和目标端提供数据比对和校验的功能;

3、产品战略

可以与Oracle 原有的 Data Guard、 ODI 互为补充,共同为企业提供跨平台实时数据同步的解决方案;

可以与Oracle Real Application Cluster 、Data Guard 一起为用户提供丰富、灵活的容灾方案及高可用特性;

4、产品定位

  1. 零宕机时间数据库升级和迁移。
  2. 满足用户亚秒级实时数据的需求。
  3. 可持续的数据高可用性和实时商务智能。
  4. 异构平台及跨操作系统实时数据同步。
  5. 对源系统和目标系统是非侵入式的。

5、技术架构

和传统的逻辑复制一样,Oracle GoldenGate 实现原理是通过抽取源端的redo log 或者 archive log ,然后通过TCP/IP投递到目标端,最后解析还原应用到目标端,使目标端实现同源端数据同步。

下图:Oracle GoldenGate 的技术架构。

5.1 Manager进程

Manager进程是GoldenGate 的控制进程。如果把所有的 Oracle 进程比喻为军队,那么 Manager 就相当于司令。Manager 进程运行在源端和目标端上,它主要有以下几个方面的作用:启动、监控、重启GoldenGate 的其他进程,报告错误及事件,分配数据存储空间, 发布阈值报告等

每个源端或者目标端有且只能存在一个 Manager 进程。其运行状态有两种即 RUNNING(正在运行)和STOPPED(已经停止)。

在Windows 系统上,Manager进程是作为一个服务来启动的,而在类UNIX 系统中, Manager则是一个操作系统进程。

5.2 Extract 进程

Extract 运行在数据库源端,负责从源端数据表或者日志中捕获数据。在早期的 GoldenGate 版本中,它通常被称为Collect 进程。按照其所处的阶段不同,Extract 的作用可以按照时间来划分。

初始数据装载阶段:在初始数据装载阶段,Extract 进程直接从源端的数据表中抽取数据。

同步变化捕获阶段:初始数据同步完成以后,Extract 进程负责捕获源端数据的变化 (DML和DDL)。

Extract 进程利用其内在的checkpoint 机制,周期性地检查并记录其读写的位置,通常是写入到一个本地的trail 文件。这种机制是为了保证如果Extract 进程终止或者操作系统宕机,重新启动 Extract 进程后,GoldenGate 能够恢复到以前的状态,从上一个断点处继续 往下运行,而不会有任何数据损失

Extract 进程的状态包括STOPPED(正常停止)、STARTING (正在启动)、RUNNING (正在运行)、ABENDED (Abnomal End 的缩写,表示异常结束)。

5.3 Pump 进程

Pump 进程运行在数据库源端,其作用是:如果源端使用了本地的trail 文件, 那么Pump 进程就会把trail以数据块的形式通过TCP/IP协议发送到目标端,这通常也是推荐的方式。Pump 进程本质是Extract 进程的一种特殊形式,如果不使用trail 文件,那么就是Extract 进程在抽取完数据以后,直接投递到目标端

与Pump 进程相对应的叫做Server Collector 进程,这个进程不需要引起人们的关注, 因为在实际操作过程中无需对其进行任何配置,所以对人们来说它是透明的。它运行在目标端,其任务就是把 Extract/Pump 投递过来的数据块重新组装成trail 文件,人们称之为远 程trail文件。

5.4 Trail文件

为了更有效、更安全地把数据库事务信息从源端投递到目标端,GoldenGate 引进trail 文件的概念。前面提到Extract 抽取完数据以后GoldenGate 会将抽取的事务信息转化为一 种GoldenGate 专有格式的文件,然后Pump 负责把源端的trail 文件投递到目标端,所以源、 目标两端都会存在这种文件,源端存放的trail 文件叫本地trail 文件,目标端存放的trail 文件叫远程trail 文件trail 文件存在的目的旨在防止单点故障,将事务信息持久化,并且使用checkpoint 机制来记录其读写位置,如果故障发生,则数据可以根据checkpoint 记录的位置来重传

值得一提的是,trail 文件并不总是必须的。人们可以在配置Extract 进程的时候通过 TCP/IP协议直接把日志的信息投递到目标端。但通常并不推荐这么做,因为一旦发生系统宕机或者网络故障,则有可能造成数据的丢失。

5.5 Replicat 进程

Replicat 进程,通常也把它叫做应用进程。运行在目标端,是数据传递的最后一站, 负责读取目标端trail 文件中的内容,并将其解析为 DML或DDL语句,然后应用到目标数据库中

和Extract 进程一样,Replicat也有其内部的checkpoint 机制,保证进程重新启动后可以从上次记录的位置开始恢复,而无数据损失的风险。 它的运行状态和 Extract 进程一致,包括 STOPPED、STARTING 、RUNNING 、 ABENDED 。

5.6 GGSCI

GGSCI是GoldenGate Software Command Interface的缩写,它提供了十分丰富的命令来对GoldenGate 进行各种操作,如创建、修改、监控GoldenGate 进程等。

绝大部分的操作都是通过它来完成的。当然如果您需要GUI 方式的图形界面来管理, 则需要购买GoldenGate Director。

6、复制模式

GoldenGate 的模式包括多种,如下图:

其中“一对一”是 GoldenGate 最简单的 一种模式,也是最常用的模式。这种模式的一种典型应用就是用于数据容灾,通常源端数据库为生产端,目标端数据 库为容灾端。另外一种应用场景是把源端的OLTP系统产生的交易日志传送到目标端,使用BI数据仓库或者是OLAP。

7、应用情况

1.高可用性与容灾

  • 容灾与应急备份。
  • 消除计划内停机。
  • 双业务中心。
  • OLTP 和OLAP 分开。

2.主数据数据库移植、升级

3.实时数据集成

  • 数据仓库实时供给。
  • 实时报表。
  • 政府、企业垂直部门级数据同步。
  • 主数据。

注:本文是阅读《Oracle GoldenGate概述》后结合个人理解并整理所得,原文请查阅[https://blog.csdn.net/sunansheng/article/details/51854786]

Oracle GoldenGate技术相关推荐

  1. oracle goldengate技术架构-简单试验(全)

    一  GoldenGate简介 Oracle Golden Gate软件是一种基于日志的结构化数据复制备份软件,它通过解析源 数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库, ...

  2. 使用 Oracle GoldenGate 进行实时数据集成

    [转自]http://blog.chinaunix.net/u1/53677/showart_2314585.html 使用 Oracle GoldenGate 进行实时数据集成 了解如何安装.设置和 ...

  3. Oracle GoldenGate简介

    一.什么是Oracle GoldenGate? Oracle GoldenGate是用于实时数据集成和复制的综合软件包.它支持高可用性解决方案,实时数据集成,事务性更改数据捕获,数据复制,转换以及运营 ...

  4. Oracle GoldenGate理论

    1Oracle GoldenGate处理方法和支持的数据库Oracle GoldenGate在多样和异构的基础IT平台中,可以在事务级别上进行数据交换和数据操作.在保证交易完整性和最小的开销的条件下, ...

  5. 【Oracle】Oracle GoldenGate简介及搭建过程

    GoldenGate公司简介 GoldenGate公司专注于数据同步领域,是实现数据同步技术的领导者.至2007年,在全球35个国家售出超过2000个许可证,客户分布在政府.银行.电信.证券.传媒.医 ...

  6. Oracle GoldenGate 文章集合

    传统架构 微服务架构 参考文章 官方文档 Oracle GoldenGate - Oracle GoldenGatehttps://docs.oracle.com/en/middleware/gold ...

  7. 如何解决Oracle GoldenGate 没有主键的问题?

    如何解决Oracle GoldenGate 没有主键的问题? 本站文章除注明转载外,均为本站原创: 转载自love wife & love life -Roger 的Oracle技术博客 本文 ...

  8. Oracle GoldenGate 典型应用场景

    总的优势 Oracle GoldenGate的优势主要在于: 可增量复制,同时对源库无影响(无需建立触发器,不依赖于时间或序列号字段,性能影响微乎其微) 实时性,虽然技术上是异步的,但延迟为微秒级 异 ...

  9. Oracle GoldenGate(OGG)- 超级详细

    1. OGG简介 OGG 是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增删改变化(数据量只有日志的四分之一左右) OGG 能够实现大量交易数据的实时捕捉,变换和投 ...

最新文章

  1. python写出的程序如何给别人使用-涨姿势!这些小技巧让小白也可以写出更优雅的Python代码!...
  2. linux系统重启网络delaying initialization错误的解决方法
  3. Unity 游戏框架搭建 (七) 减少加班利器-QApp类
  4. wechat code miniprogram 没有找到可以构建的 NPM 包
  5. 【Tensorflow】ValueError: Only call `sigmoid_cross_entropy_with_logits` with named arguments
  6. set column oracle,Oracle 用一个表字段更新另一个表字段三种方法
  7. 【AI面试题】什么是数据不平衡,如何解决
  8. php地图找房代码,vue-baidu-map简单实现地图找房
  9. 华为eSight 监控AR系列路由器端口流量
  10. 如何让自己像打王者荣耀一样疯狂且不知疲倦地学习?
  11. html加拼音注释,古诗加拼音注释版.doc
  12. PSP自制程序打包ISO方法及注意事项
  13. 即时通讯im源码软件uniapp(基于开源在线交友聊天系统源码框架)
  14. 微信小程序开发账号找回
  15. Mac之button的使用Show+NSMenu+next+to+NSButton+in+Swift+OSX
  16. ListView实现倒计时功能
  17. 【C语言基础练习】100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。试编写程序计算大、中、小马的数目。
  18. 恒定源扩散matlab,matlab限定源扩散问题
  19. 鲁大师发布2021年Q1季度报告,哪些手机最强?
  20. Spark项目之电商用户行为分析大数据平台之(三)大数据集群的搭建

热门文章

  1. 欢聚时代YY招聘 | 遇见offer之就要圆你的大厂梦
  2. CC2540的HAL层UART学习笔记
  3. VLANTrunk技术
  4. 【幻化万千戏红尘】qianfeng-Android-Day16动画
  5. java编程用什么软件最好_java语言用什么编程软件
  6. SteamOS 时代来临,Linux 游戏的现状如何?
  7. 【.NET】 DictionaryCloneable 字典类Dictionary复制
  8. android edittext高度设定,android-EditText高度问题
  9. 【EulerOS】华为欧拉服务器操作系统安装与使用教程
  10. gdb 调试基础操作和在qtcreator中使用gdb调试