配置ogg从一个源端复制到多个目标端

假如已经存在一套ogg(一个oracle到另一个oracle的同步),现在我想在一个新的oracle数据库上也配置下ogg,即想实现一个源端往多个目标端同步数据。

在本实验之前,需要先确保已搭建一套ogg,可参考:

https://blog.csdn.net/yabingshi_tech/article/details/111058709

一 实验步骤

1.1 在目标端安装ogg

cd /opt

mkdir -p oracle/ogg

chown oracle:dba /opt/oracle/ogg

su - oracle

cd /opt/oracle/ogg

上传安装包

unzip V28941-01.zip

tar -xvf fbo_ggs_Linux_x64_ora11g_64bit.tar

./ggsci

[oracle@PC ogg]$ ./ggsci

GGSCI (PC) 1> CREATE SUBDIRS

1.2 设置数据库

#在目标数据库端创建Oracle GoldenGate用户

create user ogg identified by ogg;

grant dba to ogg;

#在目标数据库启用归档模式

shutdown immediate

startup mount

alter database archivelog

alter database open;

select name,log_mode from v$database;

1.3 配置ogg

1.3.1 在目标数据库上配置MANAGER

请进入Oracle GoldenGate安装目录执行ggsci连接后执行下列步骤:

执行EDIT PARAMS MGR 命令,加入如下参数,并使用vi命令:wq保存退出。

PORT 7809

AUTOSTART REPLICAT *

AUTORESTART REPLICAT *,WAITMINUTES 10,RETRIES 3,RESETMINUTES 60

PURGEOLDEXTRACTS  dirdat/rt

DYNAMICPORTLIST 7840-8000

1.3.2 在源数据库端配置Data Pump

  1. 创建用于Pump的第二EXTRACT组,注意数指定据源Local Trail为lt

ADD EXTRACT pumpkw2, EXTTRAILSOURCE dirdat/lt, BEGIN now

  1. pump组创建Remote Trail

Remote Trail名称只能是两位字符,如rt

ADD RMTTRAIL dirdat/rt, EXTRACT pumpkw2

  1. pump组编辑参数

执行EDIT PARAMS pumpkw2命令,加入如下参数,并以:wq保存退出。指定目标数据数据库的GoldGate运行位置。例:

EXTRACT pumpkw2

USERID ogg PASSWORD ogg

RMTHOST 192.168.144.208,MGRPORT 7809

RMTTRAIL dirdat/rt

TABLE scott.t;

1.3.3 在目标端配置Replicat

请进入Oracle GoldenGate安装目录执行ggsci连接后执行下列步骤:

  1. 创建CheckPoint表

DBLOGIN USERID ogg, PASSWORD ogg

ADD CHECKPOINTTABLE checkpoint

  1. 创建Replicat组,注意数指定据源Remote Trail为rt,CheckPoint表为CheckPoint表

ADD REPLICAT wrt, EXTTRAIL dirdat/rt, BEGIN now,CHECKPOINTTABLE ogg.checkpoint

  1. wrt组创建Local Trail

执行EDIT PARAMS wrt命令,加入如下参数,并以:wq保存退出。例:

REPLICAT wrt

USERID ogg, PASSWORD ogg

HANDLECOLLISIONS

ASSUMETARGETDEFS

MAP scott.t, TARGET scott.t;

参数将保存在dirprm/wrt.prm文件中

1.4 手动同步数据

源库scott.t表已经有数据了,但目标端还没这个表及数据,需要先手动同步。

#在源端导出:

exp scott/tiger tables=t file=scott_t.dmp

#备份目标端数据

#在目标端导入:

imp scott/tiger file=scott_t.dmp

SQL> select * from t;

       ID

----------

        1

1.5 开启ogg同步

1.5.1 在目标端启动mgr

start mgr

启动mgr会自动启动replicat进程:

GGSCI (PC) 8> info all

Program     Status      Group       Lag           Time Since Chkpt

MANAGER     RUNNING                                          

REPLICAT    RUNNING     WRT         00:00:00      00:00:03  

1.5.2 在源端启动pump进程

start PUMPKW2

 

1.5.3 测试数据同步

在源端插入一条数据:

SQL> insert into scott.t(id) values(3);

1 row created.

SQL> commit;

Commit complete.

# 在目标端查询

SQL> select * from t where id = 3;

       ID

----------   

      3

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值