其他分享
首页 > 其他分享> > goldengate中添加同步表的操作

goldengate中添加同步表的操作

作者:互联网

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 ############

标签:同步,name,添加,user,defgen,进程,table,goldengate,源端
来源: https://blog.51cto.com/u_3423936/2771081