OGG 手工切换trail文件两种方法

1. OGG 手工切换trail文件

测试ogg中断之后,重新同步操作
https://www.cndba.cn/leo1990/article/2839 
OGG 修改 trail 文件大小
https://www.cndba.cn/leo1990/article/2856

alter extract pump1 etrollover 
SEND extract ext1, ROLLOVER

在某些情况下,对于一个已经running的OGG进程,对已同步的数据(正确的同步或者错误的同步)做修改,修改完之后,需要保持一个一致点,从一致点继续同步。

这是需要人工干涉产生一个新的extract trail文件,data pump和replicat进程都从该新文件中读取数据。
etrollover可以再重新启动抽取进程时自动生成一个新的trail文件。
同时会提示并且必须指定datapump和replicat进程的seqno序号。

注意:源端的trail文件序列号可能和目标端的trail文件序列号不一致。所以在指定extseqno时,需要根据各自dirdat目录下当前的序号而定。

1.1. alter extract XX etrollover 生成新trail文件步骤

1.1.1. 停止extract进程

GGSCI (cndba) 87> stop ext1

Sending STOP request to EXTRACT EXT1 ...
Request processed.

1.1.2. 查看replicat 复制是否完成

在每个目标系统上,SEND REPLICAT使用该STATUS选项发出该命令,直到它显示状态“ At EOF”,表示它已完成处理踪迹中的所有数据。这必须在所有目标系统上完成,直到所有Replicat进程返回“ At EOF。”
GGSCI (cndba) 50> SEND REPLICAT rep1 status 

Sending STATUS request to REPLICAT REP1 ...
  Current status: At EOF
  Sequence #: 8
  RBA: 1215
  0 records in current transaction

1.1.3. 停止pump,replicat进程

--源端执行
GGSCI (cndba) 89> stop pump1

Sending STOP request to EXTRACT PUMP1 ...
Request processed.
--目标端执行
GGSCI (cndba) 51> stop rep1

Sending STOP request to REPLICAT REP1 ...
Request processed.

1.1.4. 执行命令ETROLLOVER生成新的trail文件

提示要必须指定datapump和replicat进程的seqno序号
GGSCI (cndba) 91> alter extract ext1 etrollover

2018-06-18 18:12:21  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.

GGSCI (cndba) 92> alter extract pump1 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.

1.1.5. 启动extract进程

GGSCI (cndba) 93> start ext1

Sending START request to MANAGER ...
EXTRACT EXT1 starting

1.1.6. 重新定位数据泵和复制进程以从新的路径序列号开始

--源端执行
GGSCI (cndba) 95> alter extract pump1,thread 1,extseqno 15,extrba 0
EXTRACT altered.
--目标端执行
GGSCI (cndba) 54> ALTER REPLICAT rep1, EXTSEQNO 13, EXTRBA 0
REPLICAT altered.

1.1.7. 启动pump,replicat进程

--源端执行
GGSCI (cndba) 96> start pump1

Sending START request to MANAGER ...
EXTRACT PUMP1 starting
--目标端执行
GGSCI (cndba) 55> start rep1

Sending START request to MANAGER ...
REPLICAT REP1 starting

1.1.8. 测试

查看pump,replicat 进程从新的trail文件同步数据
GGSCI (cndba) 98> info pump1

EXTRACT    PUMP1     Last Started 2018-06-18 18:15   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:09 ago)
Log Read Checkpoint  File ./dirdat/et000015
                     First Record  RBA 1016

GGSCI (cndba) 64> info rep1

REPLICAT   REP1      Last Started 2018-06-18 18:18   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:03 ago)
Log Read Checkpoint  File ./dirdat/et000013
                     First Record  RBA 0
--源端删除一条数据
SQL> delete from test where id=2005;

1 row deleted.

SQL> commit;

Commit complete.

SQL> select count(*) from test;

  COUNT(*)
----------
    999002
--目标端查看数据
SQL> select count(*) from test;

  COUNT(*)
----------
999002

1.2. SEND extract XX, ROLLOVER 生成新trail文件步骤

1.2.1. 查看当前pump,replicat进程当前trail 信息

GGSCI (cndba) 104> info pump1

EXTRACT    PUMP1     Last Started 2018-06-18 18:20   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:03 ago)
Log Read Checkpoint  File ./dirdat/et000015
                     2018-06-18 18:21:37.000000  RBA 1142

GGSCI (cndba) 65> info rep1

REPLICAT   REP1      Last Started 2018-06-18 18:18   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:05 ago)
Log Read Checkpoint  File ./dirdat/et000013
                     2018-06-18 18:21:34.043379  RBA 1181

1.2.2. 执行ROLLOVER命令生成新的trail 文件

GGSCI (cndba) 106> SEND extract ext1, ROLLOVER

Sending ROLLOVER request to EXTRACT EXT1 ...
Request processed.

GGSCI (cndba) 107> SEND extract pump1, ROLLOVER

Sending ROLLOVER request to EXTRACT PUMP1 ...
Request processed.

1.2.3. 再次查看pump,reolicat进程从新的trail文件同步数据

GGSCI (cndba) 108> info pump1

EXTRACT    PUMP1     Last Started 2018-06-18 18:20   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:03 ago)
Log Read Checkpoint  File ./dirdat/et000016
                     2018-06-18 18:21:37.000000  RBA 1016

GGSCI (cndba) 66> info rep1

REPLICAT   REP1      Last Started 2018-06-18 18:18   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:09 ago)
Log Read Checkpoint  File ./dirdat/et000014
                     2018-06-18 18:21:34.043379  RBA 1090

1.2.4. 测试

--源端操作
SQL> delete from test where id=2006;

1 row deleted.

SQL> commit;

Commit complete.

SQL> select count(*) from test;

  COUNT(*)
----------
    999001
--目标端查看数据同步
SQL> select count(*) from test;

  COUNT(*)
----------
    999001

1.3. 总结

1)使用alter extract ext1 etrollover命令生成新的trail文件,extract,pump进程必须先停止,并且要必须指定datapump和replicat进程的seqno序号,否则进程不会自动从新的trail文件同步数据。
2)SEND extract ext1, ROLLOVER 名称生成新的trail文件不需要停止进程,也不需要知道seqno序号,可以继续同步数据。
3)alter extract ext1 etrollover 应用场景一般在初始化数据或者指定时间点开始开始抽取数据时,重新生成trail文件,并指定从新的trail文件号开始抽取数据,防止以前trail文件的干扰,SEND extract ext1, ROLLOVER 应用一般在修改trail文件大小时在线修改不影响业务正常运行。

猜你喜欢

转载自blog.csdn.net/leo__1990/article/details/91777064
ogg
今日推荐