Oracle GoldenGate数据库单向同步配置实例

概述

本文主要描述如何使用GoldenGate(下面以ogg简称)实现两个oracle数据库进行单向数据同步。操作系统使用windows server 2012 r2,oracle使用11.204,同步内容包括DDL操作以及DML操作。

源库:

计算机名:server2012orcl1

ip:192.168.2.213

操作系统:windows server2012 r2 datacenter

数据库版本:11g(11.204)

数据库sid:orcl

数据库业务库用户名密码:dms/dms

数据库ogg用户名密码:ogg/ogg(dba)

目标库:

计算机名:server2012orcl2

ip:192.168.2.214

操作系统:windows server2012 r2 datacenter

数据库版本:11g(11.204)

数据库sid:orcl

数据库业务库用户名密码:dms/dms

数据库ogg用户名密码:ogg/ogg(dba)

软件版本

ogg:191004

oracle:11.204(11.201测试有问题),两边dms用户下面有测试表demo,数据为空

create table demo(id number primary key,ename varchar2(10))

需配置ORACLE_HOME环境变量,这里为C:\app\orcl\product\11.2.0\dbhome_1

操作系统:windows server2012 r2 datacenter(2707961),需要安装vc++2013,vc++2015。防火墙关闭。vc++2015需要安装系统更新,补丁包安装顺序如下,第二步请用管理员权限运行,为后台无界面程序

数据库设置

数据库归档模式

在服务器上使用sqlplus / as sysdba登录oracle,

使用archive log list查询当前日志归档模式。

像上图,使用的事非归档模式,我们需要修改为归档模式。

修改步骤:

1、shutdown immediate;

2、startup mount;

3、alter database archivelog;

4、alter database open;

再次使用archive log list查询当前日志归档模式

开启补全日志

select supplemental_log_data_min from v$database;

alter database add supplemental log data;

开启ogg复制模式

alter system set enable_goldengate_replication=true scope=both;

关闭回收站

alter system set recyclebin=off scope=spfile;

重启数据库

为确认各项配置生效,请重启数据库

创建ggs表空间和用户

create tablespace ggs datafile 'ggs.dat' size 100m autoextend on;

create user ggs identified by ggs default tablespace ggs;

grant dba to ggs;

下载GoldenGate

下载地址:https://www.oracle.com/middleware/technologies/goldengate-downloads.html

安装源端

在源库安装GoldenGate

1、执行setup

2、选择对应的数据库版本

3、选择ogg(Oracle GoldenGate简称)安装目录,这里安装到c:\app\orcl\ogg目录

4、执行安装(安装时间大概2分钟)

5、测试,进入安装目录,执行ggsci

安装目标端

在目标库安装ogg

安装方法同源端一样,目标端和源端如果在一台机器,需要使用不同的安装目录和端口。

源端安装DDL对象

在ogg安装目录进入sqlplus

执行@marker_setup.sql(输入用户名ggs)

执行@ddl_setup.sql(输入用户名ggs)

执行@role_setup.sql(输入用户名ggs)

执行 grant GGS_GGSUSER_ROLE to ggs;

执行@ddl_enable.sql

执行@marker_status.sql(输入用户名ggs)

源端OGG GLOBAL配置

1、cmd进入app\orcl\ogg目录

2、运行ggsci

3、create subdirs

4、edit params ./GLOBALS

MGRSERVNAME GGMGR

checkpointtable ggs.checkpoint

ALLOWOUTPUTDIR c:\app\orcl\ogg\dirdat

ggschema ggs

源端服务安装

用管理员运行cmd,进入ogg安装目录。

执行install addservice

源端管理进程配置

进入ogg安装目录

1、ggsci

2、edit params mgr

PORT 7809

dynamicportlist 7501-7505

autorestart extract *,waitminutes 2,retries 5

目标端OGG GLOBAL配置

1、cmd进入app\orcl\ogg目录

2、运行ggsci

3、create subdirs

4、edit params ./GLOBALS

MGRSERVNAME GGMGR

checkpointtable ggs.checkpoint

ALLOWOUTPUTDIR c:\app\orcl\ogg\dirdat

目标端服务安装

用管理员运行cmd,进入ogg安装目录。

执行install addservice

目标端管理进程配置

进入ogg安装目录

1、ggsci

2、edit params mgr

PORT 7809

dynamicportlist 7501-7505

autostart er *

autorestart extract *,waitminutes 2,retries 5

lagreporthours 1

laginfominutes 3

lagcriticalminutes 5

purgeoldextracts c:\app\ogg\dirdat\rt*,usecheckpoints,minkeepdays 3

添加源端、目标端checkpoint表

1、ggsci

2、dblogin userid ggs,password ggs

3、add checkpointtable ggs.checkpoint

源端添加表监听

1、ggsci

2、dblogin userid ggs,password ggs

3、add trandata dms.*

配置源端OGG EXTRACT进程

extract eora

dynamicresolution

userid ggs,password ggs

rmthost s2012orcl2,mgrport 7809

rmttrail c:\app\ogg\dirdat\et

ddl include all

ddloptions addtrandata,report

table dms.*;

add extract eora,tranlog,begin now

add exttrail c:\app\orcl\ogg\dirdat\et,extract eora

配置源端OGG PUMP进程

edit params pump_so

extract pump_so

dynamicresolution

userid ggs,password ggs

rmthost server2012orcl2,mgrport 7809

rmttrail c:\app\\orcl\ogg\dirdat\pt

table dms.*;

add extract pump_so,exttrailsource c:\app\orcl\ogg\dirdat\et

add rmttrail c:\app\orcl\ogg\dirdat\pt,extract pump_so

配置目标端OGG接收进程

edit params rep1

replicat rep1

userid ggs,password ggs

assumetargetdefs

reperror default,discard

discardfile c:\app\orcl\ogg\dirrpt\rep1.dsc,append,megabytes 50

dynamicresolution

ddloptions report

ddlerror default ignore retryop maxretries 3 retrydelay 5

ddlerror default discard

ddlerror default ignore retryop

map dms.*,target dms.*;

add replicat rep1,exttrail c:\app\orcl\ogg\dirdat\et,checkpointtable ggs.checkpoint

开启同步

确定程序

源端:

目标端:

启动程序

目标端:

start mgr

源端:

start mgr

start eora

start pump_so

测试

源库demo表插入数据

insert into demo(id, ename) values(1,'abc')

目标库demo表应该同步该条记录,同时时间测试1s左右

源库测试添加demo1表

create table demo1(id number primary key,ename varchar2(10))

目标库会同步建立demo1表

你可能感兴趣的:(Oracle GoldenGate数据库单向同步配置实例)