2.10 为表添加补充日志
ggsci>dblogin userid goldengate password oracle
ggsci> add trandata USER1.* --->注意:*后别加分号。
ggsci> add trandata USER2.* --->注意:*后别加分号。
ggsci> add trandata USER3.* --->注意:*后别加分号。
确认表的补充日志是否已经添加:
select table_name from all_tables
where owner='USER1' and table_name not in (select distinct table_name from dba_log_groups where owner='USER1');
2.11 配置DDL复制
SQL> GRANT EXECUTE ON UTL_FILE TO goldengate;
ggsci>edit params ./GLOBALS 添加如下的字符,之后保存退出
GGSCHEMA goldengate
cmd下 cd 到d:\ggs目录
退出所有的oracle session
sqlplus / as sysdba
SQL> @marker_setup.sql
SQL> @ddl_setup.sql
SQL> @role_setup.sql
SQL> grant ggs_ggsuser_role to goldengate;
SQL> @ddl_enable.sql
2.12 配置sequence的同步(若是备库是报表查询需求,请忽略此步)
cmd下 cd 到d:\ggs目录
sqlplus / as sysdba
SQL> @sequence.sql
--->源头执行:SQL> GRANT EXECUTE on goldengate.updateSequence TO goldengate;
--->目的端执行:SQL> GRANT EXECUTE on goldengate.replicateSequence TO goldengate;
2.13 源端配置参数文件
ggsci > edit params mgr
添加如下参数,之后保存退出。
port 7809
autostart extract *
autorestart extract *, waitminutes 1, retries 60, RESETMINUTES 60
PURGEOLDEXTRACTS 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.*;