典型的 Golden Gate 配置逻辑结构图:

① Manager
顾名思义、Manager进程是Golden Gate中进程的控制进程,用于管理 Extract,Data Pump,Replicat等进程
在 Extract、Data Pump、Replicat 进程启动之前,Manager 进程必须先要在源端和目标端启动,在整个 Golden Gate 运行期间,它必须保持运行状态
⒈ 监控与启动 GoldenGate 的其它进程
⒉ 管理 trail 文件及 Reporting
在 Windows 系统上,Manager 进程是作为一个服务来启动的,在 Unix 系统下是一个进程
② Extract
Extract 进程运行在数据库源端上,它是Golden Gate的捕获机制,可以配置Extract 进程来做如下工作:
⒈ 初始数据装载:对于初始数据装载,Extract 进程直接从源对象中提取数据
⒉ 同步变化捕获:保持源数据与其它数据集的同步。
Extract 进程捕获源数据的变化;如DML变化、 DDL变化等
③ Replicat
Replicat 进程是运行在目标端系统的一个进程,负责读取 Extract 进程提取到的数据(变更的事务或 DDL 变化)并应用到目标数据库,就像 Extract 进程一样,也可以配置 Replicat 进程来完成如下工作:
⒈ 初始化数据装载:对于初始化数据装载,Replicat 进程应用数据到目标对象或者路由它们到一个高速的 Bulk-load 工具上
⒉ 数据同步,将 Extract 进程捕获到的提交了的事务应用到目标数据库中
④ Collector
Collector 是运行在目标端的一个后台进程,接收从 TCP/IP 网络传输过来的数据库变化,并写到 Trail 文件里。
动态 collector:由管理进程自动启动的 collector 叫做动态 collector,用户不能与动态 collector 交互
静态 collector:可以配置成手工运行 collector,这个 collector 就称之为静态 collector
⑤ Trails
为了持续地提取与复制数据库变化,GoldenGate 将捕获到的数据变化临时存放在磁盘上的一系列文件中,这些文件就叫做 Trail 文件
这些文件可以在 source DB 上也可以在目标 DB 上,也可以在中间系统上,这依赖于选择哪种配置情况,在数据库源端上的叫做 Local Trail 或者 Extract Trail;在目标端的叫做 Remote Trail
⑥ Data Pumps
Data Pump 是一个配置在源端的辅助的 Extract 机制,Data Pump 是一个可选组件,如果不配置 Data Pump,那么由 Extract 主进程将数据发送到目标端的 Remote Trail 文件中,如果配置了 Data Pump,会由 Data Pump将Extract 主进程写好的本地 Trail 文件通过网络发送到目标端的 Remote Trail 文件中
使用 Data Pump 的好处是:
⒈ 如果目标端或者网络失败,源端的 Extract 进程不会意外终止
⒉ 需要在不同的阶段实现数据的过滤或者转换
⒊ 多个源数据库复制到数据中心
⒋ 数据需要复制到多个目标数据库
⑦ Data source
当处理事务的变更数据时,Extract 进程可以从数据库(Oracle, DB2, SQL Server, MySQL等)的事务日志中直接获取,或从 GoldenGate VAM中获取。通过 VAM,数据库厂商将提供所需的组件,用于 Extract 进程抽取数据的变更
⑧ Groups
为了区分一个系统上的多个 Extract 和 Replicat 进程,我们可以定义进程组
例如:要并行复制不同的数据集,我们可以创建两个 Replicat 组,一个进程组由一个进程组成(Extract 进程或者 Replicat 进程),一个相应的参数文件,一个 Checkpoint 文件,以及其它与之相关的文件
如果处理组中的进程是 Replicat 进程,那么处理组还要包含一个 Checkpoint 表




