文档介绍:DBA never sleep-DBA,永不眠
Focus on Oracle Database, GodenGate and Unix
[置顶] Oracle GoldenGate 系列:深入理解 Oracle GoldenGate 检查点机制
分类: Oracle GoldenGate 2013-05-23 23:10 720人阅读评论(0) 收藏举报
Oracle GoldenGate 系列深入理解GoldenGateOGG 检查点机制Extract Replicat 检查点checkpoint .cpe
检查点将进程的当前读写位置存储在磁盘中用于恢复目的。检查点不仅可以真实地标记
Extract进程捕获的要进行同步的数据变化以及 Replicat进程应用到 target数据库的数据变化,
防止进程进行冗余的数据处理,还可以提供容错机制,防止在系统、网络或 Oracle
GoldenGate进程需要重启时发生数据丢失。对于复杂的同步配置,检查点可以确保多个
Extract或Replicat进程从同一组 trail文件中进行读取操作。检查点和进程间的回执机制共同防
止了网络间的信息丢失。 Oracle GoldenGate采用了一套专有的可靠信息传递技术。
 
Extract进程创建检查点来存储其在数据源中的读取位置以及trail文件中的写入位置信息。
由于 Extract进程只捕获已提交的事务,因此 Extract进程必须跟踪所有 open(未提交)事务的
操作,才能实时感知这些事务的提交状态。这就要求 Extract进程记录一个检查点来表示该进
程当前在事务日志中的读取位置以及最早开始的 open(未提交)事务的起始位置(可能在当
前读取的事务日志中,也可能在之前的事务日志中)。为了控制 Extract进程发生中断后必须
重新处理的事务日志量,Extract进程会以特定的时间间隔将正在处理的事务(包括长时间运
行的事务的状态和数据)的当前状态及数据写入磁盘。当 Extract进程在这些时间间隔中任意
某个间隔点停止时,Extract进程可以直接从上一个时间间隔内的某个时间点或者上一个检查
点位置开始进行恢复,而不用从事务日志中最早开始的长时间运行事务的起始位置开始进行
恢复。这一过程实质上就是 Extract进程的Bounded Recovery机制,详情请参考《Oracle
GoldenGate 系列:Extract 进程的恢复原理》,地址:
h
p://blog./xiangsir/ar
cle/details/8785484。
Replicat进程创建检查点来存储其在 trail文件中的读取位置。Replicat进程将其检查点信息
存储在 target 数据库中的检查点表中来保护其处理的事务的提交信息以及在 trail文件中的读
取位置。当数据库进行恢复后,检查点表可以保证数据的一致性,确保即使是在 Replicat进
程或者数据库进程发生故障后,一个事务也只会被应用一次。为了实现报告目的,Replicat进
程还会在OGG根目录下的 dirchk子目录下写一个检查点文件。对于 ini
al load之类的非持续性
同步配置,不需要检查点机制。
•