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

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

二.示例

这里还是3个节点的GG,我们这里从节点2和节点3发送到节点1.

DB: oracle 11.2.0.3

OS:  redhat 5.4

 

2.1 在所有节点上设置Manager

GGSCI (gg1) 2> edit params mgr

PORT 7809

 

2.2 分别在GG2和GG3上添加Extract进程

--GG2

GGSCI (gg2) 4> add extract ext1,tranlog,begin now

GGSCI (gg2) 5> add exttrail/u01/ggate/dirdat/lt, extract ext1

 

GGSCI (gg2) 7> view params ext1

extract ext1

userid ggate@gg2,password ggate

exttrail /u01/ggate/dirdat/lt

ddl include all objname dave.pdba;

table dave.pdba;

 

--GG3

GGSCI (gg3) 2> add extract ext1,tranlog,begin now

GGSCI (gg3) 4> add exttrail/u01/ggate/dirdat/lt, extract ext1

 

GGSCI (gg3) 6> view params ext1

extract ext1

userid ggate@gg3,password ggate

exttrail /u01/ggate/dirdat/lt

ddl include all objname dave.pdba;

table dave.pdba;

 

2.3 分别在GG2和GG3上添加DataPump 进程

--GG2

GGSCI (gg2) 8> add extractdpump,exttrailsource /u01/ggate/dirdat/lt

GGSCI (gg2) 9> add rmttrail/u01/ggate/dirdat/d1, extract dpump

--注意这里指定的Target端的位置,我们以d1 开头。

 

GGSCI (gg2) 11> view params dpump

 

extract dpump

userid ggate@gg2, password ggate

rmthost gg1, mgrport 7809,compress,compressthreshold0

rmttrail /u01/ggate/dirdat/d1

passthru

table dave.pdba;

 

--GG3

GGSCI (gg3) 7> add extractdpump,exttrailsource /u01/ggate/dirdat/lt

GGSCI (gg3) 8> add rmttrail/u01/ggate/dirdat/d2, extract dpump

 

GGSCI (gg3) 10> view params dpump

extract dpump

userid ggate@gg3, password ggate

rmthost gg1, mgrport 7809,compress,compressthreshold0

rmttrail /u01/ggate/dirdat/d2

passthru

table dave.pdba;

 

2.4 在GG1上配置2个Replicat进程,分别对应Data Pump进程

 

--配置checkpoint

GGSCI (gg1) 3> view params ./GLOBALS

GGSCHEMA ggate

CHECKPOINTTABLE ggate.checkpoint

 

GGSCI (gg1) 5> dblogin useridggate@gg1,password ggate

Successfully logged into database.

 

GGSCI (gg1) 7> add checkpointtableggate.checkpoint

Successfully created checkpoint tableGGATE.CHECKPOINT.

 

这部分,参考:

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

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

 

--配置2个Replicat:

--rep1:

GGSCI (gg1) 8> add replicatrep1,exttrail /u01/ggate/dirdat/d1, checkpointtable ggate.checkpoint

REPLICAT added.

 

GGSCI (gg1) 11> view params rep1

 

replicat rep1

ASSUMETARGETDEFS

userid ggate@gg1,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;

 

--rep2:

GGSCI (gg1) 9> add replicatrep2,exttrail /u01/ggate/dirdat/d2, checkpointtable ggate.checkpoint

REPLICAT added.

 

GGSCI (gg1) 13> view params rep2

 

replicat rep2

ASSUMETARGETDEFS

userid ggate@gg1,password ggate

discardfile/u01/ggate/dirdat/rep2_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

 

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

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

 

2.5 启动相关进程进行测试

--GG2:

GGSCI (gg2) 20> start ext1

 

确定ext1的trails 文件:

GGSCI (gg2) 25> view report ext1

2011-11-20 11:31:43  INFO   OGG-01056  Recovery initializationcompleted for target file /u01/ggate

/dirdat/lt000018, at RBA 132350, CSN1525929.

 

2011-11-20 11:31:43  INFO   OGG-01478  Output file/u01/ggate/dirdat/lt is using format RELEASE 10.

4/11.1.

 

2011-11-20 11:31:43  WARNING OGG-01438  Checkpoint marked as from graceful shutdown,but records fou

nd after checkpoint in trail/u01/ggate/dirdat/lt.  Expected EOF Seqno0, RBA 0.  Found Seqno 18, RB

A 132350.

 

2011-11-20 11:31:43  INFO   OGG-01026  Rolling over remotefile /u01/ggate/dirdat/lt000018.

GGSCI (gg2) 24> info dpump

EXTRACT   DPUMP     Initialized   2011-11-20 11:11   Status STOPPED

Checkpoint Lag       00:00:00 (updated 00:20:16 ago)

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

                     First Record  RBA 0

 

GGSCI (gg2) 26> alter extractdpump,extseqno 18,extrba 0

EXTRACT altered.

 

GGSCI (gg2) 27> start dpump

Sending START request to MANAGER ...

EXTRACT DPUMP starting

 

GGSCI (gg2) 40> info all

Program    Status      Group       Lag           Time Since Chkpt

 

MANAGER    RUNNING                                          

EXTRACT    RUNNING     DPUMP       00:00:00      00:02:05   

EXTRACT    RUNNING     EXT1        00:00:00      00:00:02   

REPLICAT   ABENDED     REP1        00:00:00      12:24:42  

 

GGSCI (gg2) 41> info dpump

 

EXTRACT   DPUMP     Last Started 2011-11-2011:37   Status RUNNING

Checkpoint Lag       00:00:00 (updated 00:02:24 ago)

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

                     First Record  RBA 0

 

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

      GGSCI(gg1) 82> alter extract dpump,extseqno 18,extrba 0

 

具体参考:

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

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

 

--GG3:

GGSCI (gg3) 14> start ext1

Sending START request to MANAGER ...

EXTRACT EXT1 starting

 

GGSCI (gg3) 18> view report ext1

2011-11-20 11:39:50  INFO   OGG-01056  Recovery initializationcompleted for target file /u01/ggate

/dirdat/lt000016, at RBA 132672, CSN1525929.

 

2011-11-20 11:39:50  INFO   OGG-01478  Output file/u01/ggate/dirdat/lt is using format RELEASE 10.

4/11.1.

 

2011-11-20 11:39:50  WARNING OGG-01438  Checkpoint marked as from graceful shutdown,but records fou

nd after checkpoint in trail/u01/ggate/dirdat/lt.  Expected EOF Seqno0, RBA 0.  Found Seqno 16, RB

A 132672.

 

2011-11-20 11:39:50  INFO   OGG-01026  Rolling over remotefile /u01/ggate/dirdat/lt000016.

 

GGSCI (gg3) 19> alter extractdpump,extseqno 16,extrba 0

EXTRACT altered.

 

GGSCI (gg3) 20> info dpump

 

EXTRACT   DPUMP     Initialized   2011-11-20 11:41   Status STOPPED

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

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

                     First Record  RBA 0

 

 

GGSCI (gg3) 21> start dpump

Sending START request to MANAGER ...

EXTRACT DPUMP starting

 

GGSCI (gg3) 22> info all

Program    Status      Group       Lag           Time Since Chkpt

 

MANAGER    RUNNING                                          

EXTRACT    RUNNING     DPUMP       00:00:00      00:00:13   

EXTRACT    RUNNING     EXT1        00:00:00      00:00:05   

REPLICAT   ABENDED     REP1        00:00:00      12:28:42   

 

 

--GG1:

GGSCI (gg1) 18> start rep1

 

Sending START request to MANAGER ...

REPLICAT REP1 starting

 

GGSCI (gg1) 21> start rep2

 

Sending START request to MANAGER ...

REPLICAT REP2 starting

 

GGSCI (gg1) 22> info all

 

Program    Status      Group       Lag           Time Since Chkpt

 

MANAGER    RUNNING                                          

EXTRACT    ABENDED     DPUMP       00:00:00      12:34:55   

EXTRACT    ABENDED     DPUMP2      00:00:00      12:34:49   

EXTRACT    ABENDED     EXT1        00:00:00      12:34:51   

REPLICAT   RUNNING     REP1        00:00:00      00:17:37   

REPLICAT   RUNNING     REP2        00:00:00      00:17:15   

 

 

2.6 验证同步

--GG2的pdba 表insert 一条记录:

SQL> conn dave/dave;

Connected.

SQL> insert into pdba values(2222,sysdate);

1 row created.

 

SQL> commit;

Commit complete.

 

--GG3的pdba 表insert 一条记录:

SQL> conn dave/dave;

Connected.

SQL> insert into pdba values(3333,sysdate);

1 row created.

 

SQL> commit;

Commit complete.

 

--在GG1 的pdba 表查询这条记录:

SQL> select * from pdba where idin(2222,3333);

no rows selected

没有同步过来。

 

GGSCI (gg1) 86> info rep1

 

REPLICAT  REP1      Last Started 2011-11-2012:22   Status RUNNING

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

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

                     First Record  RBA 0

 

GGSCI (gg1) 87> stop rep1

Sending STOP request to REPLICAT REP1 ...

Request processed.

 

 

GGSCI (gg1) 88> stop rep2

Sending STOP request to REPLICAT REP2 ...

Request processed.

 

GGSCI (gg1) 89> alter replicat rep1extseqno 1 extrba 0

REPLICAT altered.

GGSCI (gg1) 91> alter replicat rep2 extseqno1 extrba 0

REPLICAT altered.

 

GGSCI (gg1) 93> start rep1

Sending START request to MANAGER ...

REPLICAT REP1 starting

 

GGSCI (gg1) 94> start rep2

Sending START request to MANAGER ...

REPLICAT REP2 starting

 

--最后确认一下:

SQL> select * from pdba where id<4444;

 

       ID TIME

---------- ------------

     2222 20-NOV-11

     3333 20-NOV-11

 

多对一的测试同步成功。

 

 

注意这里有2个小技巧:

1.     如果同步有问题,但进程report又没有提供更多信息,可以使用Logdump工具查看trails里的内容,从而确认是哪一步出现了问题。关于logdump ,参考:

Oracle Golden Gate 系列十五 --GG Trails 说明

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

 

2.     如果tail 搞不定,一个简单的解决方法:

把所有进程delete 掉,所有的tails 全部delete 掉,重新来过,这种方法比查看trail 要节省很多时间。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值