ogg trail文件序列号不一致

时间:2023-03-10 06:04:50
ogg 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