在GG系列的第一讲:
Oracle Golden Gate 系列一 -- GG 架构 说明
http://blog.csdn.net/tianlesoftware/article/details/6925907
提到了GG 一个架构:
Data pump(不要和Expdp/impdp 这个data pump 混淆) 是Source 端的第二个Extract group。 在没有使用data pump时,Extract 必须将capture data 发送到target 的remote trail里。
在使用data pump的情况下,主Extract group将capture data 写入本地的trail里,然后data pump 进程读取这个trail,并将内容通过网络发送到target 端的remote trail里。
和primary Extract group 一样,data pump 可以配置在online 或者 batch processing。 Data pump 也可以进行data filter,map 和conversion。
在实际中配置GG Data pump 主要是为了应对网络故障问题,如果我们直接将trail 通过网络传送到Target 端,那么在这期间,任何网络故障都可能导致Extract process 的异常中断。
而使用datapump后,即便网络故障,主提取进程仍然能随着事务生成trail文件,而datapump则会暂时停止传输,等待网络通畅后在将堆积的本地trail文件发送至目标服务器,从而实现了断点传输的功能。在实际应用中,每一个同步流程都应该配置datapump以应对网络问题。
这里使用我们之前已经创建的ext1,其创建语法如下:
--创建Extract process
GGSCI (gg1) 11> add extract ext1,tranlog, begin now
--创建localtrail
GGSCI (gg1) 12> add exttrail /u01/ggate/dirdat/lt, extract ext1
配置Extract 参数如下:
GGSCI (gg1) 50> view params ext1
extract ext1
userid ggate@gg1, password ggate
exttrail /u01/ggate/dirdat/lt
table dave.pdba;
GGSCI (gg1) 49> add extract dpump,exttrailsource /u01/ggate/dirdat/lt
EXTRACT added.
--这里指定我们localtrail 的位置。
GGSCI (gg1) 51> add rmttrail /u01/ggate/dirdat/lt, extract dpump
RMTTRAIL added.
--指定data pump 发送trail到target 端的位置。
配置Data Pump 参数:
GGSCI (gg1) 56> view params dpump
extract dpump
userid ggate@gg1, password ggate
rmthost gg2, mgrport 7809
rmttrail /u01/ggate/dirdat/lt
passthru
table dave.pdba;
这里注意passthru 参数,该参数默认是nopassthru,官网的说明如下:
PASSTHRU | NOPASSTHRU
Valid for Extract
Use the PASSTHRUand NOPASSTHRU parameters to control whether a data-pump Extract processestables in pass-through mode or normal mode. Inpass-through mode, the Extract process does not look up table definitions,either from the database or from a datadefinitions file. Normally, theExtract process logs into the database to retrieve data definitions and, if thetarget is NonStop, reads a data-definitions file. The definitions are used toperform mapping and conversion functions.
--该参数控制Extract process的模式,当为PASSTHRU时,不检查表的定义,仅当source 和target 对象的结构一样,并没有map或者filter 时使用,不检查表定义,可以加快处理的速度。
根据具体情况使用该参数,官网的示例:
EXTRACT fin
RMTHOST sysb, MGRPORT 7809
RMTTRAIL /ggs/dirdat/rt
PASSTHRU
TABLE fin.acct;
NOPASSTHRU
TABLE fin.sales, WHERE (ACCOUNT-CODE < 100);
--这里配置进程的checkpoint
GGSCI (gg2) 6> EDIT PARAMS ./GLOBALS
GGSCHEMA ggate
CHECKPOINTTABLE ggate.checkpoint
添加如上2条记录。
GGSCI (gg2) 12> dblogin userid ggate@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 replicat rep1,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;
2.4.1 在Source 端启动Extract和data pump 进程
GGSCI (gg1) 60> start extract ext1
Sending START request to MANAGER ...
EXTRACT EXT1 starting
GGSCI (gg1) 61> start extract dpump
Sending START request to MANAGER ...
EXTRACT DPUMP starting
GGSCI (gg1) 76> info dpump
EXTRACT DPUMP Last Started 2011-11-1620:13 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:04:35 ago)
Log Read Checkpoint File /u01/ggate/dirdat/lt000000
First Record RBA 0
注意这里的data pump是从lt000000 开始读取trail 文件,如果是新搭建的GG 同步,那么都是从lt000000开始处理,所以没有问题,如果是后来修改称data pump,就需要根据extract 进程的错误提示信息,使用如下命令:
GGSCI (gg1) 82> alter extract dpump,extseqno 2,extrba1965317
修改data pump 读取的trail 文件位置。
为了保证文章的简洁,我把这里2种情况的测试过程,单独整理成了一篇Blog,具体参考:
Oracle Golden Gate 有关DataPump 重置trail 序列号 测试 说明
http://blog.csdn.net/tianlesoftware/article/details/6978441
2.4.2 在Target 端启动replicat 进程
GGSCI (gg2) 48> start replicat rep1
Sending START request to MANAGER ...
REPLICAT REP1 starting
GGSCI (gg2) 50> info all
Program Status Group Lag Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING REP1 00:00:00 00:00:04
-------------------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
Blog: http://blog.csdn.net/tianlesoftware
Weibo: http://weibo.com/tianlesoftware
Email: [email protected]
Skype: tianlesoftware
-------加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请----
DBA1 群:62697716(满); DBA2 群:62697977(满) DBA3 群:62697850(满)
DBA 超级群:63306533(满); DBA4 群:83829929(满) DBA5群: 142216823(满)
DBA6 群:158654907(满) DBA7 群:69087192(满) DBA8 群:172855474
DBA 超级群2:151508914 DBA9群:102954821 聊天 群:40132017(满)