Oracle Golden Gate – 概念和机制(OGG)

时间:2021-6-17 作者:qvyue

一、简述

OGG 提供异构环境下交易数据的实时捕捉、变换、投递。

二、OGG 的特性

  1. 对系统影响小:实时读取交易日志,以低资源占用实现大交易量数据实时复制。

  2. 以交易为单位复制,保证交易一致性:只同步已提交的数据。

  3. 高性能:

    • 智能的交易重组和操作合并
    • 使用数据库本地接口访问
    • 并行处理体系
  4. 灵活的拓扑结构:支持一对一、一对多、多对一、多对多和双向复制等

  5. 支持数据过滤和转换

    • 可以自定义基于表和行的过滤规则.
    • 可以对实时数据执行灵活影射和变换.
  6. 提供数据压缩和加密:降低传输所需带宽,提高传输安全性.

三、OGG 的进程

  1. Manager 进程是 GoldenGate 的控制进程,运行在源端和目标端上。它主要作用有以下几个方面:启动、监控、重启 Goldengate 的其他进程,报告错误及事件,分配数据存储空间,发布阀值报告等。在目标端和源端有且只有一个 manager 进程

  2. Extract 运行在数据库源端,负责从源端数据表或者日志中捕获数据。Extract 的作用可以按照阶段来划分为:

    • 初始时间装载阶段:在初始数据装载阶段,Extract 进程直接从源端的数据表中抽取数据
    • 同步变化捕获阶段:初始数据同步完成以后,Extract 进程负责捕获源端数据的变化(DML和DDL)
  3. Data Pump 进程运行在数据库源端,其作用是将源端产生的本地 trail 文件,把 trail 以数据块的形式通过 TCP/IP 发送到目标端,这通常也是推荐的方式。pump 进程本质是 extract 进程的一种特殊形式,如果不使用 trail 文件,那么 extract 进程在抽 取完数据以后,直接投递到目标端,生成远程 trail 文件。

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

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

四、关于 OGG 的 Trail 文件

  1. 为了更有效、更安全的把数据库事务信息从源端投递到目标端。GoldenGate 引进 trail 文件的概念。前面提到 extract 抽取完数据以后 Goldengate 会将抽取的事务信息转化为一种 GoldenGate 专有格式的文件。然后 pump 负责把源端的 trail 文件投递到目标端,所以源、 目标两端都会存在这种文件。

  2. trail 文件存在的目的旨在防止单点故障,将事务信息持久化,并且使用 checkpoint 机制来记录其读写位置,如果故障发生,则数据可以根据 checkpoint 记录的位置来重传 。

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。