一、先停止replicat进程。
GGSCI (bre2) 49> stop rep_t1
Sending STOP request to REPLICAT REP_T1 ...
Sending STOP request to REPLICAT REP_T1 ...
Request processed.
二、获取当前源端的scn号
SQL> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
2090277
三、导出要同步的表、重新导入
expdp system/manager directory=expdir dumpfile=test2.dmp logfile=1.log tables=test2.tdate flashback_scn=2090277
impdp system/manager directory=expdir dumpfile=test2.dmp tables=test2.tdate table_exists_action=replace
四、修改replicat参数文件
replicat rep_t1
setenv(NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
setenv(ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1)
setenv(ORACLE_SID=bre2)
userid ggt,password ggt
assumetargetdefs
--handlecollisions
gettruncates
reperror default,discard
discardfile ./dirrpt/rep1.dsc,append,megabytes 50
dynamicresolution
ddl include mapped
ddloptions report
setenv(NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
setenv(ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1)
setenv(ORACLE_SID=bre2)
userid ggt,password ggt
assumetargetdefs
--handlecollisions
gettruncates
reperror default,discard
discardfile ./dirrpt/rep1.dsc,append,megabytes 50
dynamicresolution
ddl include mapped
ddloptions report
map test2.tdate, target test2.tdate, filter (@GETENV('transaction','csn') > 2090277);
--对于这条语句,如果使用的11g的ogg,需要使用双引号"transaction","csn"
,如果使用的是12c的ogg使用单引号
--否则报错:OGG-01298 Oracle GoldenGate Delivery for Oracle, rep_t1.prm: Column function diagnostic message: could n
ot find column "transaction".
map test2.*,target test2.*;
五、start rep_t1
注意:一定要先停止repilcat进程,再获取scn号,否则可能会丢数据。