GoldenGate软件是一种基于日志的结构化数据复制软件。GoldenGate 能够实现大量交易数据的实时捕捉、变换和投递,实现源数据库与目标数据库的数据同步,保持亚秒级的数据延迟。
GoldenGate能够支持多种拓扑结构,包括一对一,一对多,多对一,层叠和双向复制等等
数据复制的拓扑结构有如下几种
Goldegate的应用场景
A static extraction of data records from one database and the loading of those records
to another database.
Continuous extraction and replication of transactional DML operations and DDL
changes (for supported databases) to keep source and target data consistent.
Extraction from a database and replication to a file outside the database.
架构概览
Oracle Goldengate由以下组件组成Extract
Data pump
Replicat
Trails or extract files
Checkpoints
Manager
Collector
Extract 进程用来捕获数据源,有三种类型配置为INITIAL LOAD模式时,数据源为表。
数据库的恢复日志(有的数据库也称为事务日志)。
第三方的捕获模型,通过调用Extact API将数据库变更的数据发送给Extract进程。
Data pump 是Extract的辅助可选组件,如果不配置Data pump,Extract将捕获的数据直接发给目标机器上的Collector进程。
使用Data pump能提供如下优点防止网络或者目标端的Collector发生故障,保护数据丢失。
data pump可以用来过虑,转换数据,或配置成Pass-through模式,即不做任何的动作,只是投递数据。
启动多个Data pump实现一对多的数据分发(或者是一张表的数据,根据数据类型发往不同的目的系统)
Replicat 运行在目的服务器上,从Trail文件中读取数据,重构DML、DDL语句,并应用到目的数据库上。你可以配置多个Replicat,并发的工作以提高系统的吞吐量。
Trail 为了支持持续的捕获、复制数据库的变更,Oracle将捕获来的数据库变更临时的记录到一系列的磁盘文件上。这些磁盘文件被称为Trail file。
一个Trail文件只能被一个Extract进行写。每个Extract进程必须链接到一个Trail文件上。
Checkpoints 当Goldengate的进程宕掉后,可以恢复Goldengate实例。
Manager 是Goldengate的管理进程。
Extract和Replicat启动之前,必须先在每个节点上启动Manager进程。
Manager有如下功能Start Oracle GoldenGate processes
Start dynamic processes
Maintain port numbers for processes
Perform trail management
Create event, error, and threshold reports
Collector ,接收远端系统传输的数据,并将其写到Trail文件中 。
group 概览
为了区分系统中多个Extract或者Replicat进程,需要定义处理组
一个组包括如下内容一个进程,Extract 或者Replicat
它的参数文件
它的checkpoint文件
任何与这个进程相关联的其他文件。