RGEOLDEXTRACTS d:\ggs\dirdat\st*, USECHECKPOINTS, MINKEEPHOURS 2
ggsci> add extract extfull, tranlog, Threads 2, begin now
--->以上命令是针对主库是rac2个节点的情况,若是单机,请忽略Threads 2
ggsci >edit params extfull
添加如下参数,之后保存退出
extract extfull
setenv ( NLS_LANG = " AMERICAN_AMERICA.ZHS16GBK " )
--TRANLOGOPTIONS ASMUSER SYS@ASM1, ASMPASSWORD oracle
--THREADOPTIONS MAXCOMMITPROPAGATIONDELAY 80000 IOLATENCY 160000
DBOPTIONS ALLOWUNUSEDCOLUMN
userid goldengate, password oracle
ddl include mapped
ddloptions addtrandata RETRYOP MAXRETRIES 1000 RETRYDELAY 10, REPORT
WARNLONGTRANS 1h, CHECKINTERVAL 5m
exttrail d:\ggs\dirdat\st
gettruncates
dynamicresolution
tableexclude 'USER.cncdata';
tableexclude 'USER.sb_czm_pyDD';
table USER1.*;
table USER2.*;
table USER3.*;
sequence USER1.*;
sequence USER2.*;
sequence USER3.*;
2.14 添加trail文件,文件名为d:\ggs\dirdat\st,是由extfull抽取进程来写这个trail文件,每个trail文件的最大大小为50M
ggsci> add exttrail d:\ggs\dirdat\st, extract extfull, MEGABYTES 50
--->注意:
注意:源头的trail文件名一定要与目的端的trail文件名用不同的名称,比如:
源头的trail文件名/u02/ggs/dirdat/sd
目的端的trail文件名/u02/ggs/dirdat/td
原因是:ogg trail文件的删除机制(检查点机制)是以一整套复制环境(源头和目的端)为标准判断的:
这样就有可能造成这么一个后果:源头的trail文件号到了1000,目的端trail文件号到了100,并且源头和目的端trail文件名同名,由于存在
100,所以,源头能删除的trail文件号是<100的。这样会导致源头trail 不能及时删除,进而造成源头$GG_HOME的文件系统使用率100%,进而造
成ext进程抽取形成的trail文件无处存放而导致ext进程 abend。
2.15 在源端添加传输进程dpfull,此传输进程传输的是源端形成的d:\ggs\dirdat\st这个trail文件
ggsci> add extract dpfull exttrailsource d:\ggs\dirdat\st
2.16 创建远程队列文件(文件名为/u02/ggs/dirdat/tt)并将其指定给传输进程,同样可以指定大小为50M
ggsci> add rmttrail /u02/ggs/dirdat/tt, extract dpfull, MEGABYTES 50
2.17 编辑dpfull进程的参数:
ggsci> edit params dpfull
添加如下参数,之后保存退出
extract dpfull
passthru
rmthost 目的端IP, mgrport 7809
rmttrail /u02/ggs/dirdat/tt
gettruncates
table USER1.*;
table USER2.*;
table USER3.*;
sequence USER1.*;
sequence USER2.*;
sequence USER3.*;
2.18 源端数据库查询出一个scn号:
select current_scn from v$database;
--12754579013479
请牢记这个scn号,在目的端第一次启动rep进程时,会用到这个scn号
源端开始按照此scn号开始导出数据
expdp sys/****** directory=exp dumpfile=trff_app%U.dmp logfile=trff_app_exp.log schemas=trff_app parallel=4
flashback_scn=12754579013479
?
3.在目的端的实施过程:
3.1 配置环境变量信息:
备库是Linux os时:
vi .bash_profile
export PATH=$PATH:$ORACLE_HOME/bin:/u02/ggs
export LD_LIBRARY_PATH=/u02/ggs:$ORACLE_HOME/lib
3.2 创建goldengate系统用户并授权
Sql> create tablespace GGTBS datafile '/u02/相关路径/ggtbs01.dbf'size 1024M auextend on;
Sql> Create user Goldengate default tablespace ggtbs identified by oracle;(目标数据库也创建这一个goldengate用户)
Sql> grant dba to goldengate;
3.3配置mgr参数文件:
ggsci > edit params mgr
port 7809
--autostart replicat *
--autorestart replicat *, waitminutes 1, retries 60, RESETMINUTES 60
--PURGEOLDEXTRACTS /u02/ggs/dirdat/tt*, USECHECKPOINTS, MINKEEPHOURS 2
3.4 在目的端添加checkpointtable
ggsci> dblogin userid goldengate, password oracleoracle
ggsci> ADD CHECKPOINTTABLE goldengate.ckptfull
ggsci> add replicat repfull, exttrail /u02/ggs/dirdat/tt, CHECKPOINTTABLE goldengate.ckptfull
ggsci> edit params repfull
replicat repfull
setenv ( NLS_LANG = " AMERICAN_AMERICA.ZHS16GBK " )
assumetargetdefs
userid goldengate, password oracle
DBOPTIONS DEFERREFCONST, SUPPRESSTRIGGERS
gettruncates
ALLOWNOOPUPDATES
ddl include mapped
discardfile ./dirrpt/repfull.dsc, append, megabytes 5000
map USER1.*, target USER1.*;
map USER2.*, target USER2.*;
map USER3.*, target USER3.*;
配置完毕:
注意:以上repfull进程请不要启动,repfull进程在impdp导入完