GG 一对多 real-time data distribution 说明 与 示例

原文连接http://blog.csdn.net/tianlesoftware/article/details/6992064

二.示例

我这里用3个节点做测试,节点1做Source DB,节点2和3做Target DB。 从GG1 发送data 到GG2和GG3。

 

DB:Oracle 11.2.0.3

OS: redhat 5.4

 

2.1 设置Manager

GGSCI (gg1) 3> edit params mgr

PORT 7809

 

2.2 设置Extract进程

GGSCI (gg1) 11> add extractext1,tranlog, begin now

GGSCI (gg1) 12> add exttrail/u01/ggate/dirdat/lt, extract ext1

GGSCI (gg1) 13> edit params ext1

 

GGSCI (gg1) 4> view params ext1

 

extract ext1

ENCRYPTTRAIL

userid ggate@gg1,passwordAACAAAAAAAAAAAFAPHODADQGAJVDSHPG,encryptkey default

--rmthost gg2,mgrport 7809

--rmttrail /u01/ggate/dirdat/lt

exttrail /u01/ggate/dirdat/lt

ddl include all objname dave.pdba;

table dave.pdba;

 

这里对密码进行了加密,有关加密这块,参考:

Oracle Golden Gate 系列十六 --配置 GG 安全 说明 与 示例

http://blog.csdn.net/tianlesoftware/article/details/6991263

 

2.3 在Source 端配置 DataPump

因为我们要发送到2个Target,所以要配置2个Data Pump 进程。

--data pump1:

GGSCI (gg1) 49> add extractdpump,exttrailsource /u01/ggate/dirdat/lt

GGSCI (gg1) 51> add rmttrail/u01/ggate/dirdat/lt, extract dpump

GGSCI (gg1) 5> view params dpump

extract dpump

userid ggate@gg1, password ggate

rmthost gg2, mgrport7809,compress,compressthreshold 0

rmttrail /u01/ggate/dirdat/lt

passthru

table dave.pdba;

 

--data pump2:

GGSCI (gg1) 49> add extract dpump2,exttrailsource/u01/ggate/dirdat/lt

GGSCI (gg1) 51> add rmttrail/u01/ggate/dirdat/lt, extract dpump2

GGSCI (gg1) 5> view params dpump2

extract dpump2

userid ggate@gg1, password ggate

rmthost gg3, mgrport7809,compress,compressthreshold 0

rmttrail /u01/ggate/dirdat/lt

passthru

table dave.pdba;

 

这里注意Data Pump 默认是从lt000000 开始读取trail 文件,如果是新搭建的GG 同步,那么都是从lt000000开始处理,所以没有问题,如果是后来修改称data pump,就需要根据extract 进程的错误提示信息,使用如下命令:

       GGSCI(gg1) 82> alter extract dpump,extseqno 2,extrba1965317

 

具体参考:

Oracle GoldenGate 系列十 -- 配置 DataPump process 说明 与 示例

http://blog.csdn.net/tianlesoftware/article/details/6978501

 

2.4 分别在2个Target 配置Replicat

--配置checkpoint

GGSCI (gg2) 6> EDIT PARAMS ./GLOBALS

GGSCHEMA ggate

CHECKPOINTTABLE ggate.checkpoint

GGSCI (gg2) 12> dblogin useridggate@gg2,password ggate

GGSCI (gg2) 13> add checkpointtableggate.checkpoint

 

这部分,参考:

Oracle Golden Gate 系列十三 --配置GG进程检查点(checkpoint) 说明

http://blog.csdn.net/tianlesoftware/article/details/6983928

 

--配置 Replicat:

GGSCI (gg2) 14> add replicatrep1,exttrail /u01/ggate/dirdat/lt, checkpointtable ggate.checkpoint

GGSCI (gg2) 2> view params rep1

replicat rep1

DECRYPTTRAIL

ASSUMETARGETDEFS

userid ggate@gg2,password ggate

discardfile/u01/ggate/dirdat/rep1_discard.txt, append, megabytes 10

--HANDLECOLLISIONS

ddl include all

ddlerror default ignore retryop

map dave.pdba, target dave.pdba;

 

这里面有一个数据初始化的问题,具体参考:

Oracle Golden Gate 系列九 --GG 数据初始化装载 说明 与 示例

http://blog.csdn.net/tianlesoftware/article/details/6976551

 

Oracle GoldenGate 系列十二 --GG 数据初始化装载二 基于SCN 的初始化 说明 与 示例

http://blog.csdn.net/tianlesoftware/article/details/6982908

 

2.5 启动相关的进程进行

 

--Source DB

GGSCI (gg1) 17> start mgr

GGSCI (gg1) 19> start ext1

 

GGSCI (gg1) 26> info dpump2

 

EXTRACT   DPUMP2    Initialized   2011-11-19 22:26   Status STOPPED

Checkpoint Lag       00:00:00 (updated 00:12:34 ago)

Log Read Checkpoint  File /u01/ggate/dirdat/lt000000

                     First Record  RBA 0

 

GGSCI (gg1) 28> info dpump

 

EXTRACT   DPUMP     Last Started 2011-11-1915:22   Status ABENDED

Checkpoint Lag       00:00:00 (updated 06:02:32 ago)

Log Read Checkpoint  File /u01/ggate/dirdat/lt000014

                     2011-11-1915:44:00.966309  RBA 1009

 

GGSCI (gg1) 29> alterextract dpump2,extseqno 14,extrba 0

EXTRACT altered.

 

GGSCI (gg1) 30> info dpump2

EXTRACT   DPUMP2    Initialized   2011-11-19 22:40   Status STOPPED

Checkpoint Lag       00:00:00 (updated 00:00:03 ago)

Log Read Checkpoint  File /u01/ggate/dirdat/lt000014

                     First Record  RBA 0

 

GGSCI (gg1) 31> start dpump

GGSCI (gg1) 32> start dpump2

 

GGSCI (gg1) 39> info all

Program    Status      Group       Lag           Time Since Chkpt

 

MANAGER    RUNNING                                           

EXTRACT    RUNNING     DPUMP       00:00:00      00:00:01   

EXTRACT    RUNNING     DPUMP2      00:00:00      00:01:37   

EXTRACT    RUNNING     EXT1        00:00:00      00:00:09  

 

 

--2个TargetDB

GGSCI (gg3) 8> start rep1

GGSCI (gg3) 10> info all

Program    Status      Group       Lag           Time Since Chkpt

MANAGER    RUNNING                                          

REPLICAT   RUNNING     REP1        00:00:00      00:00:04   

 

GGSCI (gg2) 15> start rep1

GGSCI (gg2) 17> info all

Program    Status      Group       Lag           Time Since Chkpt

MANAGER    RUNNING                                          

REPLICAT   RUNNING     REP1        00:00:00      00:00:04   

 

2.6 在Source 进行DML操作,验证同步

--Source DB

SQL> conn dave/dave;

Connected.

SQL> select count(*) from pdba;

 

 COUNT(*)

----------

  2678533

 

--Targt 1:

SQL> conn dave/dave;

Connected.

SQL> select count(*) from pdba;

 

 COUNT(*)

----------

   2678533

 

--Target 2:

SQL> conn dave/dave;

Connected.

SQL> select count(*) from pdba;

 COUNT(*)

----------

  2678533

 

--在Source 进行DML操作:

SQL> delete from pdba whererownum<1000;

999 rows deleted.

 

SQL> commit;

Commit complete.

 

SQL> select count(*) from pdba;

 COUNT(*)

----------

  2677534

 

--Target 1:

SQL> select count(*) from pdba;

 

 COUNT(*)

----------

  2677534

 

--Target 2:

SQL> select count(*) from pdba;

 

 COUNT(*)

----------

  2677534

 

同步成功。 至此GG 一对多的测试结束。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值