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

Oracle GoldenGate (OGG) 是一种高效的数据复制解决方案,它在异构环境中实现交易数据的实时捕捉、变换和投递。OGG以交易为单位复制数据,确保交易一致性,同时具备低资源占用和高性能。其特性包括灵活的拓扑结构、数据过滤与转换、压缩和加密。主要进程包括Manager、Extract、DataPump、Collector和Replicat,各自承担不同的角色。Trail文件用于事务的持久化和故障恢复,通过checkpoint机制防止数据丢失。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、简述

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 记录的位置来重传。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JFS_Study

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值