Oracle GoldenGate 包括goldengate 、goldengate director(goldengate management pack) 、goldengate veridata
其中,goldengate director 为其提供GUI配置界面。goldengate veridata 为其提供源端-目标端数据比对和校验功能。
架构:
1 manager 进程: gg 的控制进程,运行在 source/target 两端,两端各 有且仅有一个rmanager进程。
manager 作用: 启动,监控,重启gg 的其他进程,报告错误及事件,分配数据存储空间,发布阀值报告。
manager 状态: running, stopped 两种状态。
2 extract 进程: extract 进程运行 在 source 端,负责从source数据库表or日志中捕获数据。
extract 按其所处阶段不同,extract 作用按时间划分:
A, 初始数据装载阶段: 此阶段,extract进程主要从source的数据表,抽取数据
A, 初始数据装载阶段: 此阶段,extract进程主要从source的数据表,抽取数据
B, 同步变化捕获阶段:初始数据同步完成后,extract 进程负责捕获source数据的变化(DML 和 DDL).
extract进程 利用其内在的checkpoint 机制: 周期性地检查并记录其读写的位置, ---通常是写入到一个本地 trail文件。
extract 写入本地trail 文件机制: 这是为了保证extract进程在终止,或者OS 系统宕机情况下,当重启extract 进程后,gg能够恢复到以前的状态,从上一个端点处继续操作,防止数据丢失。
extract 状态 : stopped(正常停止),starting(正在启动),running(运行)、abended(异常结束).
3 pump 进程: 运行在数据库source端,其作用: 如果source端使用了本地的trail文件,pump进程就会把trail 以数据块形式通过TCP/IP协议发送到目标端。
: 如果source端不使用本地trai文件,那么extract进程在抽取完数据后,直接投递target端。
3.1 与pump 进程相对应的,脚server collector 进程,可以不关注(在target端), 其作用是source端把extract/pump 投递过来的数据块,重装trail文件。 ---- target 端的trail 进程。
4 trail 文件: 运行在target,source端,trail 文件存在的目的是防止单点故障,并且使用checkpoint 机制记录读写位置,如果故障出现,数据可以根据checkpoint 记录重传。 trail 文件不是必须的。
5 replicat 进程: 运行在target端,是数据传递最后一站,负责读取trail文件的内容,并解析为DML,DDL 语句,然后应用到目标数据库中。 和extract 一样,replicat 也有checkpoint 内部机制。
source DB ----EXTRACT ---------NETWORK----------- REPLICAT -----TARGET DB
manager manager
option( pump,trail) trail 文件
6 C:\gg\ggsci
ggsci(source) 1> create subdirs -----goldengate 安装完成。
重要的目录:
dirchk: ---用来存放检查点(checkpoint) 文件
dirdat: ---用来存放trail 文件
dirdef: ---用来存放通过 defgen工具生成的source或者target 端数据文件
dirpcs: ---用来存放进程状态文件
dirprm: ---用来存放配置参数文件
dirrpt: ----用来存放进程报告文件
dirsql: ---用来存放SQL 脚本文件
dirtmp: ---当事物所需要内存超过 分配的内存时,默认存储这个目录。
-----------------------------------------------------------------------------------------------------