Oracle 11g 测试ogg中断之后,重新同步操作

柔光的暖阳◎ 2021-12-15 12:11 388阅读 0赞

测试ogg中断之后,重新同步操作

2018-06-07 17:11 779 1 原创 GoldenGate

本文链接: https://www.cndba.cn/leo1990/article/2839

1.测试ogg中断之后,重新同步操作

1.1.关闭源端抽取进程

  1. GGSCI (cndba) 65> info all
  2. Program Status Group Lag at Chkpt Time Since Chkpt
  3. MANAGER RUNNING
  4. EXTRACT RUNNING EXT1 00:00:00 00:00:09
  5. EXTRACT RUNNING PUMP1 00:00:00 00:00:08
  6. GGSCI (cndba) 66> stop ext1
  7. Sending STOP request to EXTRACT EXT1 ...
  8. Request processed.
  9. GGSCI (cndba) 67> stop pump1
  10. Sending STOP request to EXTRACT PUMP1 ...
  11. Request processed.
  12. GGSCI (cndba) 68> info all
  13. Program Status Group Lag at Chkpt Time Since Chkpt
  14. MANAGER RUNNING
  15. EXTRACT STOPPED EXT1 00:00:00 00:00:04
  16. EXTRACT STOPPED PUMP1 00:00:00 00:00:01

1.2.关闭目标端进程

  1. GGSCI (cndba) 55> info all
  2. Program Status Group Lag at Chkpt Time Since Chkpt
  3. MANAGER RUNNING
  4. REPLICAT RUNNING REP1 00:00:00 00:00:08
  5. GGSCI (cndba) 56> stop rep1
  6. Sending STOP request to REPLICAT REP1 ...
  7. Request processed.
  8. GGSCI (cndba) 57> info all
  9. Program Status Group Lag at Chkpt Time Since Chkpt
  10. MANAGER RUNNING
  11. REPLICAT STOPPED REP1 00:00:00 00:00:01

1.3.检查源端,目标端表数据

  1. --源端
  2. SQL> select * from test1;
  3. no rows selected
  4. --目标端
  5. SQL> select * from test1;
  6. no rows selected

1.4.源端表插入100000条数据

  1. 记住插入之前的时间2018-06-07 16:15:24,这个时间点很重要,extract 进程要从这个时间开始抽取
  2. SQL> insert into test1 select level,level||'t' from dual connect by level <= 100000;
  3. 100000 rows created.
  4. SQL> commit;
  5. Commit complete.
  6. SQL> select count(*) from test1;
  7. COUNT(*)
  8. ----------
  9. 100000
  10. 如果此时开启源端extract进程,目标端replicat,数据同步不会出现问题,现在的操作就是:
  11. 1)结束当前的本地日志,重新开始一个日志
  12. 2)从当前新生成的序列重新抓取

1.5.源端操作

1.5.1.查看当前tail文件信息

  1. [root@www.cndba.cn dirdat]# ll
  2. total 12
  3. drwxr-xr-x 2 root root 4096 Jun 7 15:47 backup
  4. -rw-rw-rw- 1 oracle oinstall 1405 Jun 7 16:11 et000000
  5. -rw-rw-rw- 1 oracle oinstall 1016 Jun 7 16:19 et000001
  6. 可以看到当前tail文件是1号文件,重启的时候会自动变成2号文件。

1.5.2.重新生成新的tail文件,抽取进程,投递进程从新的tail文件开始抓取数据

  1. GGSCI (cndba) 70> alter extract ext1 etrollover
  2. 2018-06-07 16:33:40 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.
  3. EXTRACT altered.
  4. GGSCI (cndba) 71> alter extract ext1,thread 1,extseqno 2,extrba 0
  5. EXTRACT altered.
  6. GGSCI (cndba) 72> alter extract pump1 etrollover
  7. 2018-06-07 16:34:26 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.
  8. EXTRACT altered.
  9. GGSCI (cndba) 73> alter extract pump1,thread 1,extseqno 2,extrba 0
  10. EXTRACT altered.

1.5.3.源端从插入数据之前的时间开始抓取数据

  1. GGSCI (cndba) 74> ALTER EXTRACT ext1, TRANLOG, BEGIN 2018-06-07 16:15:24
  2. EXTRACT altered.

1.5.4.重启源端进程

  1. GGSCI (cndba) 58> start ext1
  2. Sending START request to MANAGER ...
  3. EXTRACT EXT1 starting
  4. GGSCI (cndba) 59> start pump1
  5. Sending START request to MANAGER ...
  6. EXTRACT PUMP1 starting
  7. GGSCI (cndba) 64> info all
  8. Program Status Group Lag at Chkpt Time Since Chkpt
  9. MANAGER RUNNING
  10. EXTRACT RUNNING EXT1 00:00:00 00:00:06
  11. EXTRACT RUNNING PUMP1 00:00:00 00:00:01

1.6.目标端操作

1.6.1.查看tail文件

  1. 可以看到目标端也生成了新的tail文件号,目标端从这个文件应用数据
  2. [root@www.cndba.cn dirdat]# ll
  3. total 21484
  4. drwxr-xr-x 2 root root 4096 Jun 7 15:48 backup
  5. -rw-rw-rw- 1 oracle oinstall 1444 Jun 7 16:11 et000000
  6. -rw-rw-rw- 1 oracle oinstall 0 Jun 7 16:19 et000001
  7. -rw-rw-rw- 1 oracle oinstall 21989995 Jun 7 16:35 et000002

1.6.2.设置目标段读取进程,从2号文件开始读取

  1. GGSCI (cndba) 74> alter REPLICAT rep1 extseqno 2, extrba 0
  2. REPLICAT altered.
  3. GGSCI (cndba) 75> start rep1
  4. Sending START request to MANAGER ...
  5. REPLICAT REP1 starting
  6. GGSCI (cndba) 76> info all
  7. Program Status Group Lag at Chkpt Time Since Chkpt
  8. MANAGER RUNNING
  9. REPLICAT RUNNING REP1 00:00:00 00:00:04

1.6.3.检查目标端数据

  1. SQL> select count(1) from test1;
  2. COUNT(1)
  3. ----------
  4. 100000

1.7.命令

  1. --前滚重新生成一个新的队列文件
  2. alter extract xxx etrollover
  3. --从指定时间重新抓取(重新抓取数据前提:归档文件没有删除)
  4. ALTER EXTRACT xxx, TRANLOG, BEGIN 2010-12-31 08:00
  5. --重置抽取进程,本地文件序列号从0开始生成。
  6. alter extract ext1,extseqno 0,extrba 0
  7. --重置读取进程,重新从0trial文件开始读取。
  8. alter replicat rep1,extseqno 0,extrba 0

转载于:https://www.cnblogs.com/xibuhaohao/p/10767449.html

发表评论

表情:
评论列表 (有 0 条评论,388人围观)

还没有评论,来说两句吧...

相关阅读