ogg重新生成trail文件+指定时间拉取数据

ogg重新生成trail文件+指定时间拉取数据

第一种:重新生成trail文件,之前未同步数据丢失
人工干涉产生一个新的extract trail文件,data pump和replicat进程都从该新文件中读取数据。

1)执行命令ETROLLOVER生成新的trail文件
提示要必须指定datapump和replicat进程的seqno序号
Stop ext_tina
Stop dp_tina
alter extract ext_tina etrollover
alter extract dp_tina etrollover
2018-06-18 18:12:30 INFO OGG-01520 Rollover performed. For each affected output trail of Version 10 or higher format, after starting the source extract, issue ALTER EXTSEQNO for that trail’s reader (either pump EXTRACT or REPLICAT) to move the reader’s scan to the new trail file; it will not happen automatically.
EXTRACT altered.

只启动extract进程
GGSCI (cndba) 93> start ext_tina

此时/dirdat/目录下生成了新的trail文件 aa00010

2)重新定位数据泵和复制进程以从新的路径序列号开始
–源端执行
alter extract dp_tina,thread 1,extseqno 10,extrba 0
EXTRACT altered.

–目标端执行
ALTER REPLICAT re_tina, extseqno 10, EXTRBA 0 –注意这里要看目录下/ogg/dirdat下最新生成的文件名
REPLICAT altered.

3)启动pump,replicat进程
–源端执行
start dp_tina

–目标端执行
start re_tina
验证同步!(此方法,可能会丢失之前的数据)

第二种:重新生成trail文件,指定时间点重新抽取数据
上面是重新从当前时间开始抽取了,之前数据不能再同步了。
其实如果日志没有丢失,我们还可以指定时间开始重新抽取数据:
Stop e_xm
Stop d_xm
alter extract e_xm etrollover;
kill d_xm;
alter extract d_xm etrollover;

alter extract e_xm,tranlog,begin 2020-04-15 16:42 —故障的时间点
start e_xm
----启动后重新生成了一个trail文件,编号是129,从129开始传输:
alter extract d_xm,thread 1,extseqno 129,extrba 0
start d_xm

目标端:
要重启下mgr和所有进程,新文件才会过来
stop *
[root@oracle dirdat]# ll bx*
-rw-rw-rw- 1 oracle oinstall 23892491 4月 15 16:42 bx000072
-rw-rw-rw- 1 oracle oinstall 10330112 4月 20 11:40 bx000073 —新传过来的
GGSCI (oracle) 80> alter replicat re_xm,extseqno 73,extrba 0
start *

----终于开始复制了:
GGSCI (oracle) 40> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNING
REPLICAT RUNNING RE_XM 114:56:36 00:00:01

你可能感兴趣的:(ogg,ogg)