测试环境:

源端SUSE10 32bit oracle10.2.04 ogg 11.2.1.0.1
目标端SUSE11 64bit oracle11.2.02 ogg 11.2.1.0.1

测试环境ogg配置信息:

源端mgr、ext、pump
GGSCI (testa) 13> view params mgr
port 7809

GGSCI (testa) 14> view params ext1

extract ext1
setenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
userid , password goldengate
DISCARDFILE ./dirrpt/ext1.dsc , APPEND,MEGABYTES 100
exttrail /ogg/stm01trail/lt
GETTRUNCATES;
obey ./dirsql/transdb_table.txt

GGSCI (testa) 15> view params pump1

extract pump1

setenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
passthru
rmthost 192.168.211.12, mgrport 7809, compress
rmttrail /ogg/transdbtrail/rt
GETTRUNCATES;
table testogg.*;

GGSCI (testa) 16> exit

:~> more ./dirsql/transdb_table.txt
TABLE TESTOGG.TESTA;
TABLE TESTOGG.TESTB;

目标端mgr、replicat
GGSCI (transdb) 3> view params mgr

PORT 7809

DYNAMICPORTLIST 7840-7914
PURGEOLDEXTRACTS /ogg/transdbtrail/*,usecheckpoints, minkeepdays 3
PURGEOLDEXTRACTS /ogg/targetdbtrail/*,usecheckpoints, minkeepdays 3
LAGREPORTHOURS 1
LAGINFOMINUTES 30

GGSCI (transdb) 4> view params rep1

REPLICAT rep1

setenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
USERID goldengate, PASSWORD goldengate
SQLEXEC "ALTER SESSION SET CONSTRAINTS=DEFERRED"
REPORT AT 00:01
REPORTCOUNT EVERY 720 MINUTES, RATE
REPERROR DEFAULT, ABEND
assumetargetdefs
DISCARDFILE ./dirrpt/rep1.dsc, APPEND, MEGABYTES 100
DISCARDROLLOVER AT 02:30
GETTRUNCATES
ALLOWNOOPUPDATES
MAP TESTOGG.*, TARGET TESTOGG.*;

源端和目标端建立的测试表语句:
create table testb (a int not null,b int not null,c int);
create unique index idx01 on testb (b);
create index idx on testb (a);

源端进行add trandata操作语句:

GGSCI (testa) 1> dblogin userid goldengate, password goldengate
Successfully logged into database.
GGSCI (testa) 2> add trandata testogg.testb
Logging of supplemental redo data enabled for table TESTOGG.TESTB.

查看源端数据库testb的补充日志字段

SQL> select * from dba_log_group_columns

2 where log_group_name in (select log_group_name from dba_log_groups where owner='TESTOGG' and table_name='TESTB') order by position;

OWNER LOG_GROUP_NAME TABLE_NAME COLUMN_NAME POSITION LOGGIN

------------------------------ ------------------------------ ------------------------------ ------------------------------ ---------- ------
TESTOGG GGS_11668 TESTB B 1 LOG

可以看到ogg命令行中add trandata操作在oracle数据库中补充日志选择的是仅有的那个非空唯一索引所在列

在源端插入测试数据

SQL> insert into testb values (1,1,1);
SQL> insert into testb values (1,2,3);
SQL> insert into testb values (2,3,3);
SQL> commit;
Commit complete.
在源端更新数据
SQL> update testb set c=2 where c=1;
1 row updated.
SQL> commit;
Commit complete.
注意此时同步过去的值应该是c(改变数据)和b(补充日志记录字段)
去目标端队列文件中查看此sql的队列信息

GGSCI (transdb) 11> info rep1

REPLICAT REP1 Last Started 2012-08-25 13:42 Status RUNNING

Checkpoint Lag 00:00:00 (updated 00:00:05 ago)
Log Read Checkpoint File /ogg/transdbtrail/rt000011
2012-08-25 13:43:48.450714 RBA 2999
查看logdump找到最新的一条记录
> logdump

Oracle GoldenGate Log File Dump Utility for Oracle

Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230

Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.

Logdump 14 >open rt000011

Current LogTrail is /ogg/transdbtrail/rt000011
Logdump 15 >ghdr on
Logdump 16 >detail on
一直n直到没消息显示
Logdump 30 >n
___________________________________________________________________
Hdr-Ind : E (x45) Partition : . (x04) 
UndoFlag : . (x00) BeforeAfter: A (x41) 
RecLength : 27 (x001b) IO Time : 2012/08/25 13:43:29.607.325 
IOType : 5 (x05) OrigNode : 255 (xff)
TransInd : . (x00) FormatType : R (x52)
SyskeyLen : 0 (x00) Incomplete : . (x00)
AuditRBA : 32 AuditPos : 12638736
Continued : N (x00) RecCount : 1 (x01)

2012/08/25 13:43:29.607.325 Insert Len 27 RBA 2607

Name: TESTOGG.TESTB
After Image: Partition 4 G b 
0000 0005 0000 0001 3100 0100 0500 0000 0131 0002 | ........1........1.. 
0005 0000 0001 31 | ......1 
Column 0 (x0000), Len 5 (x0005) 
Column 1 (x0001), Len 5 (x0005) 
Column 2 (x0002), Len 5 (x0005) 
Logdump 31 >n
___________________________________________________________________
Hdr-Ind : E (x45) Partition : . (x04) 
UndoFlag : . (x00) BeforeAfter: A (x41) 
RecLength : 27 (x001b) IO Time : 2012/08/25 13:43:29.607.325 
IOType : 5 (x05) OrigNode : 255 (xff)
TransInd : . (x02) FormatType : R (x52)
SyskeyLen : 0 (x00) Incomplete : . (x00)
AuditRBA : 32 AuditPos : 12641808
Continued :