OGG REPLICAT进程的拆分

1. OGG REPLICAT进程的拆分

如果Replicat进程的拆分粒度又不够细,最好的调优方法择是对Replicat进程进行拆分。
如单个Replicat 无法满足一个队列投递数据要求,可以根据表进行拆分,每个进程负责不同表的集合,尽量保证同一业务涉及的表放在一个Replicat 中,可以保证一致性(需临时禁止表间的外键链接保证Replicat 可进行拆分)

1.1. 停止要拆分的进程

GGSCI (cndba) 11> stop rep1

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

1.2. 查看要拆分进程的SEQNO和RBA号

GGSCI (cndba) 12> info rep1

REPLICAT   REP1      Last Started 2018-06-11 21:18   Status STOPPED
Checkpoint Lag       00:00:00 (updated 00:00:58 ago)
Log Read Checkpoint  File ./dirdat/et000024
                     2018-06-11 21:58:22.004321  RBA 1324
说明当前的进程读到第24个队列,而且RBA号1314的位置。

1.3. 为要新建的进程编辑参数文件,这里叫rep2

edit params rep2
REPLICAT rep2
--setenv (ORACLE_SID=cndba)
--SETENV (ORACLE_HOME = "/u01/app/oracle/product/11.2.0/db_1")
USERID ogg,PASSWORD ogg
ASSUMETARGETDEFS
--HANDLECOLLISIONS
REPERROR (DEFAULT, DISCARD)
DDLERROR DEFAULT DISCARD
DDLOPTIONS REPORT
DISCARDFILE ./dirrpt/repr2.dsc,append,megabytes 100
--HANDLECOLLISIONS
MAP test.test2, TARGET test.test2;

1.4. 添加rep2 进程组,并为其添加tail 文件

GGSCI (cndba) 17> add replicat rep2, exttrail ./dirdat/et, checkpointtable ogg.checkpoint
REPLICAT added.

1.5. 修改rep2的指针和rep1相同

GGSCI (cndba) 18> alter rep2,extseqno 24 extrba 1324
REPLICAT altered.

1.6. 再次确认rep1 和rep2 的指针修改到长一致状态

GGSCI (cndba) 22> info rep1

REPLICAT   REP1      Last Started 2018-06-11 21:18   Status STOPPED
Checkpoint Lag       00:00:00 (updated 00:14:17 ago)
Log Read Checkpoint  File ./dirdat/et000024
                     2018-06-11 21:58:22.004321  RBA 1324

GGSCI (cndba) 30> info rep2

REPLICAT   REP2      Initialized   2018-06-12 00:22   Status STOPPED
Checkpoint Lag       00:00:00 (updated 00:00:04 ago)
Log Read Checkpoint  File ./dirdat/et000024
                     First Record  RBA 1324

1.7. 一定要记住要把rep1 中拆分到rep2 中的表排除掉,否则会有重复数据

edit params rep1
tableexclude test.test2

1.8. 启动rep1和rep2

GGSCI (cndba) 32> start rep1

Sending START request to MANAGER ...
REPLICAT REP1 starting

GGSCI (cndba) 33> start rep2

Sending START request to MANAGER ...
REPLICAT REP2 starting


GGSCI (cndba) 34> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
REPLICAT    RUNNING     REP1        00:00:00      00:00:08    
REPLICAT    RUNNING     REP2        00:00:00      00:00:04

1.9. 测试

--源端插入数据
SQL>  insert into test2 values(1,'zhangsan');

1 row created.

SQL> commit;

Commit complete.

SQL> insert into test values(50,'test');

1 row created.

SQL> commit;

Commit complete.

SQL> select count(*) from test;

  COUNT(*)
----------
 40
--目标端查看数据
SQL> select * from test2;

 ID NAME
---------- --------
  1 zhangsan

SQL> select count(*) from test;

  COUNT(*)
----------
 40
到这个ogg 就把比较慢的进程拆分到不同的两个进程里面,入库就会明显地加快。
对ogg 调优其实就是对一些参数做相应的调整。入库比较慢就要对Replicat进程进行拆分,而且很多时候对ogg 的瓶颈就是Replicat进程,大多数时候调优发送在容灾端。

猜你喜欢

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