可以对replicate进程进行拆分 (进程拆分系列之三)


 在《goldengate 企业运维实践》中说单个extract进程可处理日志一般为30-50G/小时,单个replicat进程一般只能处理1G队列/小时,可采用一个extract对多个replicat的模式
由于extract在catch up(追赶)模式需要读取归档日志,速度慢且耗费资源高,建议extract一旦出现较大延迟则立即进行拆分

可以对replicate进程进行拆分
exta 进程同步 t1,t3 表,对replicate 进程中的表进行拆分成两个进程分表对t1表 和t3表 进行同步


拆分replicate 进程

1、ext 进程同步表t1,t3
create table t1 as select * From emp where 0=1;
alter table t1 add primary key(empno);
create table t3 as select *From dept  where 0=1;
alter table t3 add primary key(deptno);

GGSCI (a-hb-8-54) 390> info all
Program     Status      Group       Lag           Time Since Chkpt
MANAGER     RUNNING
EXTRACT     RUNNING     DPA         00:00:00      00:00:00 
EXTRACT     RUNNING     EXTA        00:00:00       00:00:08

GGSCI (dba) 85> info all
Program     Status      Group       Lag           Time Since Chkpt
MANAGER     RUNNING                                           
REPLICAT    RUNNING     REPA        00:00:00      00:00:03    

2、添加参数文件
GGSCI (dba) 72> view params repa1
replicat repa1
assumetargetdefs
userid goldengate,password goldengate
reperror default,discard 
discardfile /ggs/log/repa1.dsc, purge, megabytes 1
MAP scott.t1, TARGET scott.t1;

GGSCI (dba) 73> view params repa2
replicat repa2
assumetargetdefs
userid goldengate,password goldengate
reperror default,discard 
discardfile /ggs/log/repa2.dsc, purge, megabytes 1
MAP scott.t3, TARGET scott.t3;

3停止repliacte进程
stop repa

4、查看pump进程的 Write Checkpoint的 Sequence 和RBA
GGSCI (a-hb-8-54) 412> info dpa,showch
EXTRACT    DPA       Last Started 2015-04-03 11:25   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:09 ago)
Log Read Checkpoint  File F:\ggs_window\dirdat\aa000029
                     2015-04-03 11:26:33.000000  RBA 2026
Current Checkpoint Detail:
Read Checkpoint #1
  GGS Log Trail
  Startup Checkpoint (starting position in the data source):
    Sequence #: 28
    RBA: 5900
    Timestamp: 2015-04-03 11:17:25.000000
    Extract Trail: F:\ggs_window\dirdat\aa
  Current Checkpoint (position of last record read in the data source):
    Sequence #: 29
    RBA: 2026
    Timestamp: 2015-04-03 11:26:33.000000
    Extract Trail: F:\ggs_window\dirdat\aa
Write Checkpoint #1
  GGS Log Trail
  Current Checkpoint (current write position):
    Sequence #: 27
    RBA: 3143
    Timestamp: 2015-04-03 11:37:12.693000
    Extract Trail: /ggs/dirdat/aa

5、添加进程
add replicat repa1,exttrail /ggs/dirdat/aa  nodbcheckpoint
add replicat repa2,exttrail /ggs/dirdat/aa  nodbcheckpoint

GGSCI (dba) 79> info all
Program     Status      Group       Lag           Time Since Chkpt
MANAGER     RUNNING                                           
REPLICAT    STOPPED     REPA        00:00:00      00:01:21    
REPLICAT    STOPPED     REPA1       00:00:00      00:00:05    
REPLICAT    STOPPED     REPA2       00:00:00      00:00:03    


6、修改新加入进程的指针
修改replicate 进程的指针和pump一致

alter repa1 extseqno 27, extrba 3143
alter repa2 extseqno 27, extrba 3143

插入数据
insert into t1 select * from emp where deptno=10;
insert into t3 select * from dept where deptno=10;
commit;

7、启动新加的进程
start repa1
start repa2

8、查看数据
SQL> select * From t1;
     EMPNO ENAME                          JOB                                MGR HIREDATE              SAL       COMM     DEPTNO
---------- ------------------------------ --------------------------- ---------- -------------- ---------- ---------- ----------
      7782 CLARK                          MANAGER                           7839 09-6月 -81           2450                    10
      7839 KING                           PRESIDENT                              17-11月-81           5000                    10
      7934 MILLER                         CLERK                             7782 23-1月 -82           1300                    10
SQL> select * From t3;

    DEPTNO DNAME                                      LOC
---------- ------------------------------------------ ---------------------------------------
        10 ACCOUNTING                                 NEW YORK
9 删除原来的repa进程

delete repa





合并replicate进程:


1、停止exta进程
stop exta 
查看exta 的Write Checkpoint的 Sequence 和RBA 并记录
info dpa,showch 
查看dpa的Write Checkpoint的 Sequence 和RBA 并记录,如果dpa的Write Checkpoint的 Sequence和exta 的Write Checkpoint的 Sequence 和RBA  相等,则停止dpa进程,说明数据已经同步到目标端
stop dpa
查看repa1,repa2的Current Checkpoint的 Sequence 和RBA ,如果dpa的Write Checkpoint的 Sequence和 相同,说明数据已经同步完成 .则停止repa1 repa2进程,
stop repa1
stop repa2


2、查看dpa 进程Write Checkpoint的 Sequence 和RBA
GGSCI (a-hb-8-54) 414> info dpa,showch
EXTRACT    DPA       Last Started 2015-04-03 11:25   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:04 ago)
Log Read Checkpoint  File F:\ggs_window\dirdat\aa000029
                     2015-04-03 11:42:44.000000  RBA 2849
Current Checkpoint Detail:
Read Checkpoint #1
  GGS Log Trail
  Startup Checkpoint (starting position in the data source):
    Sequence #: 28
    RBA: 5900
    Timestamp: 2015-04-03 11:17:25.000000
    Extract Trail: F:\ggs_window\dirdat\aa
  Current Checkpoint (position of last record read in the data source):
    Sequence #: 29
    RBA: 2849
    Timestamp: 2015-04-03 11:42:44.000000
    Extract Trail: F:\ggs_window\dirdat\aa
Write Checkpoint #1
  GGS Log Trail
  Current Checkpoint (current write position):
    Sequence #: 27
    RBA: 3966
    Timestamp: 2015-04-03 14:01:57.832000
    Extract Trail: /ggs/dirdat/aa
    
    
 3、修改replicate 进程的参数文件
    并加入队列
 GGSCI (a-hb-8-54) 416> view params exta
extract exta
userid goldengate,password goldengate
exttrail F:\ggs_window\dirdat\aa
reportcount every 1 minutes,rate
discardfile  F:\ggs_window\dirrpt\exta.dsc,append,megabytes 10M
dynamicresolution
rmthost 10.10.8.222,mgrport 7809
table scott.t1;
table scott.t3;  

4 添加进程
add replicat repa,exttrail /ggs/dirdat/aa nodbcheckpoint
    
5 修改进程的指针    
alter repa extseqno 28, extrba 2133

6 重启进程
start repa

7 源端删除数据,验证
SQL> select *from t3;
    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
SQL> delete from t3 ;
已删除 1 行。
SQL> commit;
提交完成。

查看目标端
SQL> select * From t3;
no rows selected


8 删除进程
delete repa1
delete repa2


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值