检查点将进程的当前读写位置存储在磁盘中用于恢复目的。检查点不仅可以真实地标记 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 进程的恢复原理》,地址:http://blog.csdn.net/xiangsir/article/details/8785484。

Replicat进程创建检查点来存储其在 trail文件中的读取位置。Replicat进程将其检查点信息存储在 target 数据库中的检查点表中来保护其处理的事务的提交信息以及在 trail文件中的读取位置。当数据库进行恢复后,检查点表可以保证数据的一致性,确保即使是在 Replicat进程或者数据库进程发生故障后,一个事务也只会被应用一次。为了实现报告目的,Replicat进程还会在OGG根目录下的 dirchk子目录下写一个检查点文件。对于 initial load之类的非持续性同步配置,不需要检查点机制。

 Extract进程负责维护:

• 3 个输入检查点

• 1 个输出检查点

通过 info extractextract_name,showch命令可以查看上述检查点信息:

Extract进程检查点信息示例

GGSCI(prod.oracle.com) 11> info escott,showch

EXTRACT    ESCOTT   Last Started 2013-05-23 20:51  Status RUNNING

Checkpoint Lag       00:00:00 (updated 00:00:01 ago)

Log ReadCheckpoint  Oracle Redo Logs

2013-05-23 20:52:01  Seqno 201, RBA 352256

SCN 0.1649108 (1649108)

Current CheckpointDetail:

-----三个输入检查点

Read Checkpoint #1

Oracle Redo Log

Startup Checkpoint (starting position in thedata source):

Thread #: 1

Sequence #: 200

RBA: 4214800

Timestamp: 2013-05-23 17:33:36.000000

SCN: 0.1628299 (1628299)

Redo File:/u01/app/oracle/oradata/prod/redo02.log

RecoveryCheckpoint (position of oldest unprocessed transaction in the data source):

Thread #: 1

Sequence #: 201

RBA: 347152

Timestamp: 2013-05-23 20:51:58.000000

SCN: 0.1649106 (1649106)

Redo File:/u01/app/oracle/oradata/prod/redo03.log

CurrentCheckpoint (position of last record read in the data source):

Thread #: 1

Sequence #: 201

RBA: 352256

Timestamp: 2013-05-23 20:52:01.000000

SCN: 0.1649108 (1649108)

Redo File:/u01/app/oracle/oradata/prod/redo03.log

----一个输出检查点

Write Checkpoint #1

GGS Log Trail

CurrentCheckpoint (current write position):

Sequence #: 30

RBA: 1079

Timestamp: 2013-05-23 20:52:04.923545

Extract Trail: ./dirdat/aa

ExtractPump)进程检查点信息示例

GGSCI(prod.oracle.com) 15> info pscott,showch

EXTRACT    PSCOTT   Last Started 2013-05-23 21:25  Status RUNNING

Checkpoint Lag       00:00:00 (updated 00:00:06 ago)

Log ReadCheckpoint  File ./dirdat/aa000030

First Record  RBA 1079

Current CheckpointDetail:

Read Checkpoint #1

GGS Log Trail

Startup Checkpoint (starting position in thedata source):

Sequence #: 30

RBA: 1079

Timestamp: 2013-05-23 20:51:22.385499

Extract Trail: ./dirdat/aa

CurrentCheckpoint (position of last record read in the data source):

Sequence #: 30

RBA: 1079

Timestamp: Not Available

Extract Trail: ./dirdat/aa

Write Checkpoint #1

GGS Log Trail

CurrentCheckpoint (current write position):

Sequence #: 16

RBA: 1251

Timestamp: 2013-05-23 21:37:59.020538

Extract Trail: ./dirdat/pa

Oracle建议在 target数据库中创建检查点表,GoldenGate会同时在检查点文件和检查点表(如果存在)中维护检查点数据。

• Replicat进程负责维护2个输入检查点:

ReplicatDelivery进程检查点信息示例

GGSCI(dss.oracle.com) 2> info rscott,showch

REPLICAT   RSCOTT   Last Started 2013-05-23 21:33  Status RUNNING

Checkpoint Lag       00:00:00 (updated 00:00:00 ago)

Log ReadCheckpoint  File ./dirdat/pa000016

First Record  RBA 1251

Current CheckpointDetail:

Read Checkpoint #1

GGS Log Trail

StartupCheckpoint (starting position in the data source):

Sequence #: 16

RBA: 1251

Timestamp: 2013-05-23 21:26:10.516047

Extract Trail: ./dirdat/pa

CurrentCheckpoint (position of last record read in the data source):

Sequence #: 16

RBA: 1251

Timestamp: Not Available

Extract Trail: ./dirdat/pa

CSN stateinformation:

CRC: 6D-46-5-9A

Latest CSN: 1619129

Latest TXN: 2.32.1145

Latest CSN of finished TXNs: 1619129

Completed TXNs: 2.32.1145

除了上述 infoprocess_name,showch 命令可以查看进程的详细检查点信息外,对于 Replicat进程,我们一般还会配置 checkpoint表,我们还可以在 checkpoint表中获取这些信息。

OGG进程的检查点文件位于 dirchk子目录下,Extract进程的检查点文件扩展名为 cps,Replicat进程的检查点文件扩展名为 cpr:

The different OGG checkpoint files are located underthe dirchk/ location, e.g.

- extract related : *.cpe;

- extract pump (datapump) related : *.cpe;

- bounded recovery related : *.cpb; - refer to 'Bounded Recovery'

- replicat related : *.cpr

源文档 <http://www.manishsrivastava-dba.com/2012/11/comparison-of-golden-gate-vs-streams.html>

[oracle@proddirchk]$ ls -lt ESCOTT*

-rw-rw-r-- 1 oracleoinstall 67584 May 23 21:58 ESCOTT.cpe

[oracle@proddirchk]$ ls -lt PSCOTT*

-rw-rw-r-- 1 oracleoinstall 67584 May 23 21:58 PSCOTT.cpe

[oracle@dss dirchk]$ls -lt RSCOTT*

-rw-rw-r-- 1 oracleoinstall 22528 May 23 21:55 RSCOTT.cpr

对于 Replicat进程,我们一般还会配置 checkpoint表,可以直接通过查询检查点表获取进程的检查点信息:

select * fromggs.ggs_checkpoint

Oracle GoldenGate检查点机制工作原理详解:

ExtractCapture)进程如何记录检查点

如上图所示,源数据库中共运行了4个事务:TX1、TX2、TX3和 TX4,Capture(Extract)进程将从事务日志中捕获的最早开始运行的未提交的事务Begin,TX1 检查点信息、从事务日志中读取的最后一条操作记录Delete,TX4的检查点信息以及按照事务提交顺序写入trail文件的最后一条commit操作COMMIT,TX3 的检查点信息写入检查点文件(见图中的文本图标)。注意,上图虽未包含事务日志的读取起点信息,并不代表 Extract进程不会将该检查点信息写入磁盘文件。

ExtractPump)进程如何记录检查点

如上图所示,Pump进程将其在 Extract进程所写的 trail文件中的当前读取位置Commit,TX2以及在自己所写的 remote trail文件中的当前写入位置 Commit,TX2记录到磁盘上的检查点文件中。

ReplicatDelivery)进程如何记录检查点

如上图所示,Replicat进程将其在 Pump文件传送过来的 trail文件中的当前读取位置Commit,TX2写入检查点文件。

原文链接:http://blog.csdn.net/xiangsir/article/details/8967577

goldengate 检查点的理解相关推荐

  1. Oracle GoldenGate 系列:深入理解 Oracle GoldenGate 检查点机制

    检查点将进程的当前读写位置存储在磁盘中用于恢复目的.检查点不仅可以真实地标记 Extract进程捕获的要进行同步的数据变化以及 Replicat进程应用到 target数据库的数据变化,防止进程进行冗 ...

  2. flink检查点简单理解

    flink检查点其实有两种实现方式: 1.朴素算法–数据源暂停接受数据,待数据流中的数据全部处理完毕,再把数据源偏移,键值状态,算子状态等写入检查点路径中,优点是实现简单,缺点是处理太慢 2.基于Ch ...

  3. oracle ogg巡检,述说OGG检查点

    检查点早在Oracle 8之前的时候就有了,到现在12c Oracle已经有了各种各样的检查点,并且可以自我调整优化检查点. 检查点可以理解只是一个events,它存在的根本意义在于缩短恢复时间. ...

  4. OGG故障错误处理总结

    第一章 GoldenGate错误分析与处理 在维护GoldenGate过程中,由于各种意外情况,难免还是会遇到各种各样的问题.掌握一些常见的GoldenGate故障诊断和错误分析的方法是非常有必要的, ...

  5. OGG12.1(LINUX) for 11G R2 RAC classical install 经典抽取模式单项同步配置OGG12.1

    博文结构图如下: 一.环境描述以及注意事项 1.1 环境简介 IP 系统 Oracle版本 OGG版本 源端 172.16.10.16/36 RHEL6.5 oracle11204 12.1 目标端 ...

  6. goldengate java_OGG_GoldenGate检查点应用Checkpoint(案例)

    2021年02月23日 Created By BaoXinjian 一.摘要 检查点将进程的当前读写位置存储在磁盘中用于恢复目的. 检查点不仅可以真实地标记 Extract进程捕获的要进行同步的数据变 ...

  7. Oracle GoldenGate的思想天空--感悟OGG的本质

    本文是原创文章,转载请注明出处 http://blog.csdn.net/msdnchina/article/details/38347285 Oracle GoldenGate的思想天空--感悟OG ...

  8. 【ogg】GoldenGate介绍

    一.GoldenGate介绍 GoldenGate软件是一种基于日志的结构化数据复制软件.GoldenGate 能够实现大量交易数据的实时捕捉.变换和投递,实现源数据库与目标数据库的数据同步,保持亚秒 ...

  9. Oracle GoldenGate(OGG)基础知识整理

    一.GoldenGate简介 GoldenGate软件是一种基于日志的结构化数据复制软件.它通过解析源数据库在线日志或归档日志获得数据的增删改变化(数据量只有日志的四分之一左右),能够实现大量交易数据 ...

  10. oracle goldengate学习笔记,Oracle GoldenGate 学习教程

    二.配置和使用 阅读导航 配置和使用GoldenGate的步骤 1 配置数据库支持GoldenGate 1.1 OGG用户和权限分配 1.2 数据库附加日志 1.2.1 数据库级别的附加日志 1.2. ...

最新文章

  1. @这位没带口罩的朋友,你让我感染新冠的风险升高百倍!马普所建模计算结果,认真的...
  2. Java字符串的子串
  3. WCF扩展:行为扩展Behavior Extension一
  4. mysql c contor_Python之那些好玩的图画
  5. C++的深拷贝与浅拷贝
  6. asp.net单一登录
  7. 《Python编程从入门到实践》记录之函数编写指南
  8. 程序员,其实你可以做的更好
  9. 仅从设计和原理等技术角度看,Windows和Linux哪个系统更先进?
  10. 在C ++中将String转换为Integer并将Integer转换为String
  11. 橘子游戏平台_腾讯游戏主播认证名单公布,唯独张大仙缺席
  12. 考研英语 - word-list-44
  13. 【智能优化算法-MOEA_D】基于MOEA_D求解联合经济排放调度(CEED)问题附matlab代码
  14. php c端,tob端和toc端是什么意思
  15. Python-支持向量机 决策边界 最大化margin、使用多项式特征和核函数、高斯核函数、超参数 γ、SVM解决回归问题
  16. HTML之meta属性大全
  17. linux kettle命令,Linux下用命令来执行kettle文件资源库的文件ktr与kjb的方法
  18. properties文件读取
  19. Ubuntu20详细安装步骤
  20. 大数据 客户标签体系_大数据场景营销之标签体系、用户分群、用户画像

热门文章

  1. oracle mysql 同义词_Oracle数据库同义词
  2. 清明出行之高德路况思考
  3. 2019年那些成年人的崩溃瞬间,看着看着就哭了
  4. 判断App位于前台或者后台的6种方法
  5. Android蓝牙传给iPad,无需越狱通过蓝牙让 iPod touch/iPad 连接 Android 手机共享上网...
  6. vue-版的老虎机抽奖活动效果折腾小记
  7. 体系结构学习11-VLIW处理器
  8. 在线 服务器 web,web服务器是什么?
  9. 云终端服务器属于计算机设备吗,云终端不等于云电脑
  10. 腾龙视觉设计学院孙姣老师讲pscs6艺术照片课录屏