Oracle GoldenGate 介绍

简介

Oracle Golden Gate 软件是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步。Oracle Golden Gate可以在异构的 IT 基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,从而在可以在应急系统、在线报表、实时数据仓库供应、交易跟踪、数据同步、集中/分发、容灾、数据库升级和移植、双业务中心等多个场景下应用。同时,Oracle Golden Gate 可以实现一对一、广播(一对多)、聚合(多对一)、双向、点对点、级联等多种灵活的拓扑结构。和传统的逻辑复制一样,Oracle GoldenGate 实现原理是通过抽取源端的 redo log 或者 archive log,然后通过TCP/IP投递到目标端,最后解析还原应用到目标端,使目标端实现同源端数据同步

技术架构

以下是 OracleGoldenGate 的技术架构:
技术架构

  1. Manager 进程:
    Manager 进程是 GoldenGate 的控制进程,运行在源端和目标端上。它主要作用有以下几个方面:启动、监控、重启 Goldengate 的其他进程,报告错误及事件,分配数据存储空间,发布阀值报告等。
  2. Extract 进程:
    Extract 运行在数据库源端,负责从源端数据表或者日志中捕获数据。
  3. Pump进程:
    Pump 进程运行在数据库源端。其作用是如果源端使用了本地的 trail 文件,那么 pump 进程就会把 trail 以数据块的形式通过 TCP/IP 协议发送到目标端,这通常也是推荐的方式。pump 进程本质是 extract 进程的一种特殊形式,如果不使用 trails 文件,那么就是 extract 进程在抽取完数据以后,直接投递到目标端。
  4. Trail 文件:
    为了更有效、更安全的把数据库事务信息从源端投递到目标端。GoldenGate 引进 trail 文件的概念。前面提到 extract 抽取完数据以后 Goldengate 会将抽取的事务信息转化为一种 GoldenGate 专有格式的文件。然后 pump 负责把源端的 trail 文件投递到目标端,所以源、目标两端都会存在这种文件。trail 文件存在的目的旨在防止单点故障,将事务信息持久化,并且使用 checkpoint 机制来记录其读写位置,如果故障发生,则数据可以根据 checkpoint 记录的位置来重传。
  5. Replicat 进程:
    Replicat 进程,通常我们也把它叫做应用进程。运行在目标端,是数据传递的最后一站,负责读取目标端 trail 文件中的内容,并将其解析为 DML 或 DDL 语句,然后应用到目标数据库中。
  6. GGSCI:
    GGSCI 是 GoldenGate Software Command Interface 的缩写,它提供了十分丰富的命令来对 Goldengate 进行各种操作,如创建、修改、监控 GoldenGate 进程等等
查看评论