测试环境:
源端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、pumpGGSCI (testa) 13> view params mgrport 7809GGSCI (testa) 14> view params ext1
extract ext1setenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)userid , password goldengateDISCARDFILE ./dirrpt/ext1.dsc , APPEND,MEGABYTES 100exttrail /ogg/stm01trail/ltGETTRUNCATES;obey ./dirsql/transdb_table.txtGGSCI (testa) 15> view params pump1
extract pump1
setenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)passthrurmthost 192.168.211.12, mgrport 7809, compressrmttrail /ogg/transdbtrail/rtGETTRUNCATES;table testogg.*;GGSCI (testa) 16> exit
:~> more ./dirsql/transdb_table.txtTABLE TESTOGG.TESTA;TABLE TESTOGG.TESTB; 目标端mgr、replicatGGSCI (transdb) 3> view params mgrPORT 7809
DYNAMICPORTLIST 7840-7914PURGEOLDEXTRACTS /ogg/transdbtrail/*,usecheckpoints, minkeepdays 3PURGEOLDEXTRACTS /ogg/targetdbtrail/*,usecheckpoints, minkeepdays 3LAGREPORTHOURS 1LAGINFOMINUTES 30GGSCI (transdb) 4> view params rep1
REPLICAT rep1
setenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)USERID goldengate, PASSWORD goldengateSQLEXEC "ALTER SESSION SET CONSTRAINTS=DEFERRED"REPORT AT 00:01REPORTCOUNT EVERY 720 MINUTES, RATEREPERROR DEFAULT, ABENDassumetargetdefsDISCARDFILE ./dirrpt/rep1.dsc, APPEND, MEGABYTES 100DISCARDROLLOVER AT 02:30GETTRUNCATESALLOWNOOPUPDATESMAP 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 goldengateSuccessfully logged into database.GGSCI (testa) 2> add trandata testogg.testbLogging 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/rt0000112012-08-25 13:43:48.450714 RBA 2999查看logdump找到最新的一条记录> logdumpOracle GoldenGate Log File Dump Utility for Oracle
Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
Logdump 14 >open rt000011
Current LogTrail is /ogg/transdbtrail/rt000011Logdump 15 >ghdr onLogdump 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 : 12638736Continued : N (x00) RecCount : 1 (x01)2012/08/25 13:43:29.607.325 Insert Len 27 RBA 2607
Name: TESTOGG.TESTBAfter 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 : 12641808Continued :