搭建ogg实现数据同步(单实例-单实例)

本实验是oracle单实例对单实例的ogg同步

一 安装ogg软件

1.1 下载

下载地址:https://edelivery.oracle.com/osdc/faces/SoftwareDelivery

 选中后,点击右上角的继续按钮:

点击文件名下载即可。

1.2 安装

在源端和目标端都安装下:

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

Oracle GoldenGate Command Interpreter for Oracle

Version 11.1.1.1.2 OGGCORE_11.1.1.1.2_PLATFORMS_111004.2100

Linux, x64, 64bit (optimized), Oracle 11g on Oct  4 2011 23:49:46

Copyright (C) 1995, 2011, Oracle and/or its affiliates. All rights reserved.

GGSCI (PC) 1> CREATE SUBDIRS

Creating subdirectories under current directory /opt/oracle/ogg

Parameter files                /opt/oracle/ogg/dirprm: created

Report files                   /opt/oracle/ogg/dirrpt: created

Checkpoint files               /opt/oracle/ogg/dirchk: created

Process status files           /opt/oracle/ogg/dirpcs: created

SQL script files               /opt/oracle/ogg/dirsql: created

Database definitions files     /opt/oracle/ogg/dirdef: created

Extract data files             /opt/oracle/ogg/dirdat: created

Temporary files                /opt/oracle/ogg/dirtmp: created

Veridata files                 /opt/oracle/ogg/dirver: created

Veridata Lock files            /opt/oracle/ogg/dirver/lock: created

Veridata Out-Of-Sync files     /opt/oracle/ogg/dirver/oos: created

Veridata Out-Of-Sync XML files /opt/oracle/ogg/dirver/oosxml: created

Veridata Parameter files       /opt/oracle/ogg/dirver/params: created

Veridata Report files          /opt/oracle/ogg/dirver/report: created

Veridata Status files          /opt/oracle/ogg/dirver/status: created

Veridata Trace files           /opt/oracle/ogg/dirver/trace: created

Stdout files                   /opt/oracle/ogg/dirout: created

二 设置数据库

  1. 源数据库目标数据库端均需创建Oracle GoldenGate用户

create user ogg identified by ogg;

grant dba to ogg;

  1. 源数据库目标数据库启用归档模式

shutdown immediate

startup mount

alter database archivelog

alter database open;

select name,log_mode from v$database;

  1. 源数据库启用最小附加日志

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

  1. 源数据库打开强制日志

ALTER DATABASE FORCE LOGGING;

ALTER SYSTEM SWITCH LOGFILE;

通过以下SQL检查

SELECT force_logging FROM v$database;

  1. 源数据库配置保留归档日志方式

Oracle11.2.0.3以上版本:

exec dbms_goldengate_auth.grant_admin_privilege(‘ogg‘);

三 配置ogg

3.1 配置MANAGER

该步骤在源数据库端及目标数据库均需要执行,请进入Oracle GoldenGate安装目录执行ggsci连接后执行下列步骤:

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

#源数据库配置如下:

PORT 7809

AUTOSTART EXTRACT cap

AUTOSTART EXTRACT PUMPQG

AUTORESTART EXTRACT cap,WAITMINUTES 10,RETRIES 3,RESETMINUTES 60

PURGEOLDEXTRACTS  dirdat/lt

#目标端数据库配置如下:

PORT 7809

AUTOSTART REPLICAT *

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

PURGEOLDEXTRACTS  dirdat/lt

DYNAMICPORTLIST 7840-8000

3.2 配置Extract

本步骤在源数据库端执行,请进入Oracle GoldenGate安装目录执行ggsci连接后执行下列步骤:

  1. cap保留归档日志

DBLOGIN USERID ogg ,PASSWORD ogg

REGISTER EXTRACT cap LOGRETENTION

  1. 创建Extract组cap

组名为8位内字符,不要使用数字结尾(但是可以以数字开头),否则 告文件可能会有问题;也尽量不要用extract、ext、replicat、rep之类的关键字。

ADD EXTRACT cap, TRANLOG, BEGIN now

  1. cap组创建Local Trail

Local Trail名称只能是两位字符,如 lt

ADD EXTTRAIL dirdat/lt, EXTRACT cap

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

EXTRACT cap

USERID ogg PASSWORD ogg

TRANLOGOPTIONS LOGRETENTION ENABLED

EXTTRAIL dirdat/lt

TABLE scott.t;
参数将保存在dirprm/cap.prm文件中。

如果在10G的10.2.0.5以后或11G的11.2.0.2以后版本中使用ASM,推荐在 cap参数文件中需要加入:

TRANLOGOPTIONS  DBLOGREADER

  1. 为复制表添加附加日志

DBLOGIN USERID ogg, PASSWORD ogg

ADD TRANDATA scott.t

3.3 配置Data Pump

本步骤在源数据库端执行

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

ADD EXTRACT pumpkw, EXTTRAILSOURCE dirdat/lt, BEGIN now

  1. pump组创建Remote Trail

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

ADD RMTTRAIL dirdat/rt, EXTRACT pumpkw

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

EXTRACT pumpkw

USERID ogg PASSWORD ogg

RMTHOST 192.168.144.207,MGRPORT 7809

RMTTRAIL dirdat/rt

TABLE scott.t;
注:

如果是一个源数据库对多个目标数据库进行复制,则对每个目标数据库都要创建一个Data Pump组及Remote Trail;

如果是多个源数据库对一个目标数据库进行复制,则注意每个源数据库上的Remote Trail命名是要区分开。

而上面的manager和extract只需配置一次即可。

3.4 配置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文件中

注:

如果是多个源数据库对一个目标数据库进行复制,则目标数据库上针对每个源都要创建一个Replica组。

可以写多个MAP,将一张表的数据同时映射到多个表中去。

ASSUMETARGETDEFS参数有作用域

目标端如果有触发器,级联约束等,需要禁用

/*

–注意:为了测试同步,这里源端和目标端手动创建下测试表scott.t表:

create table t(id int primary key);

–如果是生产环境,想配置某些表的同步,则需要停掉相关程序,确保没数据写入到源端数据库,然后通过expdp将源端数据导出,用impdp将数据导入到目标库

*/

3.5 开启同步

3.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  

3.5.2 在源端启动pump进程

start PUMPKW

3.6 测试数据同步

#在源端插入一条数据

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

1 row created.

SQL> commit;

Commit complete.

#在目标端查询

SQL> select * from t;

       ID

———-

        1

–数据同步没问题后,可以启动相关程序,允许写入源端数据库。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年11月8日
下一篇 2020年11月8日

相关推荐