Extract+datapump+replicat 测试
--创建Extract
GGSCI (gg1) 31> add extract ext1,tranlog, begin now
2011-11-16 19:23:35 INFO OGG-01749 Successfully registeredEXTRACT EXT1 to start managing log retention at SCN 1282074.
EXTRACT added.
GGSCI (gg1) 32> add exttrail /u01/ggate/dirdat/lt, extract ext1
EXTTRAIL added.
GGSCI (gg1) 34> view params ext1
extract ext1
userid ggate@gg1, password ggate
exttrail /u01/ggate/dirdat/lt
table dave.pdba;
--创建pump
GGSCI (gg1) 35> add extract dpump,exttrailsource /u01/ggate/dirdat/lt
EXTRACT added.
GGSCI (gg1) 36> add rmttrail /u01/ggate/dirdat/lt, extract dpump
RMTTRAIL added.
GGSCI (gg1) 37> view params dpump
extract dpump
userid ggate@gg1, password ggate
rmthost gg2, mgrport 7809
rmttrail /u01/ggate/dirdat/lt
passthru
table dave.pdba;
--Target 创建replicat进程
--这里配置进程的checkpoint
GGSCI (gg2) 6> edit params ./GLOBAL
GGSCHEMA ggate
CHECKPOINTTABLE ggate.checkpoint
添加如上2条记录。
GGSCI (gg2) 12> dblogin useridggate@gg2,password ggate
Successfully logged into database.
--连接到DB 的GGATE 用户,在db里创建checkpoint表
GGSCI (gg2) 13> add checkpoint tableggate.checkpoint
Successfully created checkpoint table GGATE.CHECKPOINT.
--创建replicat group
GGSCI (gg2) 14> add replicatrep1,exttrail /u01/ggate/dirdat/lt, checkpointtable ggate.checkpoint
REPLICAT added.
--注意这里的目录要和我们的data pump 指定的目录一致。
修改rep1参数:
GGSCI (gg2) 44> view params rep1
replicat rep1
ASSUMETARGETDEFS
userid ggate@gg2,password ggate
discardfile/u01/ggate/dirdat/rep1_discard.txt, append, megabytes 10
--HANDLECOLLISIONS
map dave.pdba, target dave.pdba;
--测试
GGSCI (gg1) 38> start ext1
Sending START request to MANAGER ...
EXTRACT EXT1 starting
GGSCI (gg1) 41> info ext1
EXTRACT EXT1 Last Started 2011-11-1619:27 Status RUNNING
Checkpoint Lag 00:03:39 (updated 00:00:07 ago)
Log Read Checkpoint Oracle Redo Logs
2011-11-16 19:23:26 Seqno 19, RBA 27086864
--这里是我们archivelog 的序列号。
GGSCI (gg1) 43> info dpump
EXTRACT DPUMP Last Started 2011-11-1619:27 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:04 ago)
Log Read Checkpoint File /u01/ggate/dirdat/lt000000
First Record RBA 0
注意这里的读取的位置还是0.这种情况下的特殊性在于,因为Extract进程也是我们刚创建的,所以Extract进程也是从lt000000开始。
gg1:/u01/ggate/dirdat> ls
lt000000
GGSCI (gg2) 102> start rep1
Sending START request to MANAGER ...
REPLICAT REP1 starting
GGSCI (gg2) 103> info rep1
REPLICAT REP1 Last Started 2011-11-16 19:38 Status RUNNING
Checkpoint Lag 00:05:34 (updated 00:00:00 ago)
Log Read Checkpoint File /u01/ggate/dirdat/lt000000
2011-11-1619:33:21.587938 RBA 1123
所以这种情况下,我们的Datapump 是已经正常工作了。
验证一下:
--Source DB:
SQL> conn dave/dave;
Connected.
SQL> select count(*) from pdba;
COUNT(*)
----------
2706623
--Target DB:
SQL> select count(*) from pdba;
COUNT(*)
----------
2706623
在Source DB insert 一条数据:
SQL> insert into pdba values(2,sysdate);
1 row created.
SQL> commit;
Commit complete.
SQL> select count(*) from pdba;
COUNT(*)
----------
2706624
到Target DB 查询:
SQL> select count(*) from pdba;
COUNT(*)
----------
2706624