设为首页 加入收藏

TOP

OracleGoldenGate(以下简称ogg)在异种os上同种db之间的数据同步。(二)
2015-07-24 10:34:27 来源: 作者: 【 】 浏览:2
Tags:OracleGoldenGate 以下简称 ogg 异种 同种 之间 数据 同步
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导入完

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oracle数据库经验系列---第一篇 下一篇使用OracleDBLink进行数据库之间..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·求navicat for mysql (2025-12-26 13:21:33)
·有哪位大哥推荐一下m (2025-12-26 13:21:30)
·MySQL下载与安装教程 (2025-12-26 13:21:26)
·Linux_百度百科 (2025-12-26 12:51:52)
·Shell 流程控制 | 菜 (2025-12-26 12:51:49)