1.非异构同步:
(1)先停止源端ogg的抽取和传输进程
stop exta01
(注意: 若有长事务需确认归档是否存在
info exta01 showch
查看recovery checkpoint 的记录,确保该条归档和其后的归档都在,
send extract exta01,forcestop)
stop dpea01
(2)dblogin userid ggs,password ggs 登陆数据库
info trandata table_name 如果为disabled 则用 add trandata table_name
(注意: 如果是同步已有的表并且表结构发生变化的则用下面的步骤
delete trandata table_name
add trandata table_name)
(3)在抽取和投递进程中添加该表:
edit params extra01
table table_name
(4)启动 源端进程
start *
(5)目标端停止复制进程
stop repa01
(6)数据初始化:
a、查询源端的导出目录
sqlplus / as sysdba
select * from dba_directories;
b、查询scn号
col get_system_change_number for 99999999999999
select dbms_flashback.get_system_change_number from dual;
c、导出导入
源端:expdp \'/ as sysdba\' directory=directory_name dumpfile=###%U.dump logfile=###.log parallel=1 tables=user.tanle_name1,user.table_name2 content=data_only flashback_scn=###########
传到目标端:scp ###%U.dump oracle@10.218.11.1:/goldengate 然后输入oracle密码
目标端导入:impdp \'/ as sysdba\' directory=directory_name dumpfile=###%U.dump logfile=###.log parallel=1 tables=user.tanle_name1,user.table_name2 content=data_only table_exists_action=truncate remap_schema=user:user1 remap_tablespace=%:usertbs
注意:导入过程中时刻注意目标端的表空间使用情况,以及表空间名的remap是否正确。
(7)导入完成后在目标端复制进程中添加
map user.table_name , target user1.table_name , filter (@GETENV (“TRANSACTION”, “CSN”) > ########### ) ;
启动复制进程 start repa01
2.异构同步:
异构复制的数据同步比非异构的多加一步
在最后启动复制进程之前,源端生成表定义文件:
进入源端ogg主目录
cd dirprm
vi defgen.prm (或者在ogg主目录下./ggsci 然后在交互界面edit params defgen )
添加参数
defsfile ./dirdef/defgen.def,purge
userid ggs,password ggs
table user.table_name;
保存后退出
在ogg主目录下执行./defgen paramfile ./dirprm/defgen.prm
传到目标端将目标端dirdef下的def文件覆盖。
如果是整个进程的表都做了初始化,可用下面的语句启动复制进程
start repa01,aftercsn ############