您的位置:首页 > 其它

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

2015-04-03 11:44 246 查看
在《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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐