复制进程abended
GGSCI (jcyqdb02) 2> info RPEYAD
REPLICAT RPEYAD Last Started 2019-09-07 01:15 Status ABENDED
Checkpoint Lag 00:54:28 (updated 05:47:00 ago)
Log Read Checkpoint File /oggfs/dirdat/ad000085
2019-09-09 02:37:34.775694 RBA 764931627
report报错如下
2019-09-09 02:37:34 ERROR OGG-01028 Incompatible record (102) in /oggfs/dirdat/ad000085, rba 764931627 (getting header).
这个报错表示可能队列文件损坏
使用logdump检查
logdump 1 >open /oggfs/dirdat/ad000085
logdump 2 >pos 764931627
logdump 3 >n
Bad record found at (RBA 764993409, format 5.50 Unknown TokenID ffff)
4701 0216 4800 0035 4504 0041 01b5 05ff 02f2 b842 | G...H..5E..A.......B
6bbd a5d2 0000 0000 5f2a 0de8 0000 4318 0152 0000 | k......._*....C..R..
0001 4550 4d5f 5343 2e41 5243 5f45 5f4d 505f 5051 | ..EPM_SC.ARC_E_MP_PQ
0044 0001 b500 0000 0a00 0000 0000 75cd 7606 9e00 | .D............u.v...
0100 0a00 0000 0000 7556 6ec7 dd00 0200 0a00 0000 | ........uVn.........
0632 3031 3930 3900 0300 0d00 0000 0935 3134 3031 | .201909........51401
3330 3135 0004 0006 a200 000b b03c 07f0 57a0 360c | 3015.........<..W.6.
4401 04c3 5f00 0001 0000 0000 1a59 66f0 4cbf f60c | D..._........Yf.L...
4401 b000 0332 000b b024 1603 0200 1200 069c 2f00 | D....2...$......../.
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 | ....................
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 | ....................
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 | ....................
0000 0000 0000 0000 0000 0000 0100 0fff ff00 3003 | ..................0.
c603 9603 9600 0000 0f1d a11b 8c19 9517 9e15 d414 | ....................
1c12 2e10 3e0e 710c 970a be09 2407 4e05 9203 c600 | ....>.q.....$.N.....
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 | ....................
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 | ....................
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 | ....................
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 | ....................
0000 00ff ffff ffff ffff ffff ffff ffff ffff ffff | ....................
ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff | ....................
ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff | ....................
ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff | ....................
ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff | ....................
ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff | ....................
ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff | ....................
ffff ffff ffff ffff ffff ffff ffff | ..............
红标表示队列文件损坏
情况一:这个时候再输入一次n,没有出现损坏信息,说明下一个记录是好的
直接使用alter跳到下个记录
GGSCI (jcyqdb02) 3> alter replicat RPEYAD,extrba 764993409
REPLICAT altered.
GGSCI (jcyqdb02) 4> start RPEYAD
Sending START request to MANAGER ...
REPLICAT RPEYAD starting
GGSCI (jcyqdb02) 5> info all
REPLICAT RUNNING RPEYAD 00:00:00 00:00:08
情况二:再输入n,仍然是这条损坏的记录,说明下一个记录也是坏的。说明整个队列文件已经损坏了
--n多次,rba没变
--trail文件损坏
Logdump 224 >n
Bad record found at (RBA 764993409, format 5.50 Unknown TokenID ffff)
跳过整个trail文件(队列文件号+1,ad000085=>85+1=86)
alter RPEYAD extrba 86
上述操作可能会导致数据不一致。
如果要保障数据一致性,需要找到源端的抽取队列文件,如果抽取出来的队列文件没坏,重新投递。
如果源端队列文件损坏需要重新抽取,重新抽取需要确认事务的时间和归档是否还在。