我在CDC复制源端,通过dmdecodebookmark解析出来的三个点:
restart,current,commit position分别代表什么意思呢?
这是获取CDC订阅集当前指向的日志位置,Restart position是指CDC重新开始复制的日志点;commit position是变更事务日志点,current position 当前复制的日志点。这些都是比较偏向底层,研发的人使用的多,我不知道你的目的是什么,CDC管理界面可以直接看到CDC上次中断复制的位置。
CDC 数据传输都是基于事务单元传输的,只有源数据已经提交的事务才会传输到目标端,然后通过书签方式记录事务日志系列号并传输到目标端,为了防止意外,数据和书签同时写入目标端,目标端如果写入成功,会返回书签至CDC datastage,然后CDC datastage 会清理过时的事务。这里的commit position代表cdc准备落地到数据库的SCN的位置,因为你的current position 位置和commit position相同
收起就是下面的如下内容:
bash-3.00$ ./dmdecodebookmark -I T_BJPROD
-b 000308059EA7A4ACAC059EA7A4ADAC02000100112A8A01D401059EA7A4ADAC02000100112A8A01D40100000000
输出内容如下: 000308059EA7A4ACAC059EA7A4ADAC02000100112A8A01D401059EA7A4ADAC02000100112A8A01D40100000000
Header: 000308
Restart position: 6178975558828
Commit position: 6178975559084.2.1.1125002.468.1
Current position: 6178975559084.2.1.1125002.468.1.0
restart,commit,current position三个SCN的位置对于CDC来说代表什么含义?
收起