trail文件序列号不一致
Posted williamzheng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了trail文件序列号不一致相关的知识,希望对你有一定的参考价值。
一、Cause
在某些情况下,对于一个已经running的OGG进程,对已同步的数据(正确的同步或者错误的同步)做修改,修改完之后,需要保持一个一致点,从一致点继续同步。
这时需要人工干涉产生一个新的extract trail文件,EXTRACT和REPLICAT进程都从该新文件中读取数据。
etrollover可以再重新启动抽取进程时自动生成一个新的trail文件。
同时会提示并且必须指定datapump和replicat进程的seqno序号。
注意: 源端的trail文件序列号可能和目标端的trail文件序列号不一致。所以在指定extseqno时,需要根据各自dirdat目录下当前的序号而定。
源端:
alter extract extname,etrollover #抽取进程trail文件号自动加1
alter extract dumpname,etrollover #datapump进程trail文件号自动加1
alter extract dumpname, extseqno xx, extrba 0 #指定datapump进程的序列号和日志位置。可以通过send <进程名>,status查看
目标端:
alter replicat repname, extseqno XX, extrba 0 #同datapump,需要在目标端的dirdat下看新生成的trail文件序号。extrba也可以通过logdump工具来查看
二、Example
2.1目标端trail文件序列号和源端不一致
2.1.1源端查看trail文件的序列号是1181
GGSCI (oggmaster) 24> send PUMPWH1,status
Sending STATUS request to EXTRACT PUMPWH1 ...
EXTRACT PUMPWH1 (PID 10088)
Current status: Recovery complete: Processing data
Current read position:
Sequence #: 1129
RBA: 630751643
Timestamp: 2019-07-18 18:24:08.000000
Extract Trail: /u01/app/oracle/oggmaster/gglog/wh
Current write position:
Sequence #: 1181
RBA: 1247
Timestamp: 2019-07-18 18:29:04.005628
Extract Trail: /u01/gglog/wh
2.1.2目标端查看trail文件的序列号是1178
GGSCI (ogg1) 102> send REPWH1,status
Sending STATUS request to REPLICAT REPWH1 ...
Current status: Processing data
Sequence #: 1178
RBA: 1334243070
23409 records in current transaction
2.1.3在目标端修改trail文件的序列号为1181,保持跟源端一致
**注意:** 需要在进程状态为ABENDED或者STOPPED下
GGSCI (ogg1) 111> alter replicat REPWH1, extseqno 1181, extrba 132066972
REPLICAT altered.
2.1.4启动目标端REPLICAT进程并查看序列号
GGSCI (ogg1) 114> start REPWH1
Sending START request to MANAGER ...
REPLICAT REPWH1 starting
GGSCI (ogg1) 115> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING REPWH1 00:00:00 00:00:17
GGSCI (ogg1) 117> send REPWH1,status
Sending STATUS request to REPLICAT REPWH1 ...
Current status: Processing data
Sequence #: 1181
RBA: 132066972
0 records in current transaction
以上是关于trail文件序列号不一致的主要内容,如果未能解决你的问题,请参考以下文章
fix bug:Redis序列化算法不一致导致乱码问题的原因及自定义序列化解决方案