Oracle 11G GoldenGate实现Windows与Windows之间的单向同步

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 11G GoldenGate实现Windows与Windows之间的单向同步相关的知识,希望对你有一定的参考价值。

Oracle  GoldenGate实现WindowsWindows之间的单向同步

 

本次实验都是在win环境进行,目的通过GoldenGate实现WindowsWindows之间的单向同步进行对源库复制备份。

实验环境说明

操作系统:Windows 2008 R2 

数据库:oracle 11.2.0.1.0

GoldenGate11.2.1.0.3 for Microsoft Windows x64

下载地址:http://down.51cto.com/data/2448081

 

一、安装前环境检查(source端与target端安装相同):

1、   检查数据库配置情况

检查归档模式、附加日志、强制日志参数是否开启。

SQL> select log_mode,supplemental_log_data_min,force_logging from v$database;

技术分享图片

默认情况下归档模式、附加日志、强制日志参数是关闭的。

 

启动归档模式、附加日志、强制日志。其中开启归档模式需要重启数据库,开启附加日志、强制日志不需要重启数据库。

SQL> shutdown immediate;

 

SQL> startup mount;

 

SQL> alter database archivelog;

 

SQL> alter database force logging;

 

SQL> alter database add supplemental log data;

 

SQL> alter database open;

技术分享图片

 

 

二、安装GoldenGate

 

1 首先将Oracle GoldenGate 11.2.1.0.3 for Microsoft Windows x64 (64-bit)拷贝到并解压缩到D:appAdministrator目录下(该路径可以根据需要自行选择),解压完成后将目录名改为ogg

 

2 进入D:appAdministratorogg目录,运行ggsci,进入ogg管理控制台。

技术分享图片

 

3 ogg控制台输入命令:create subdirs,让ogg创建其需要用到的目录

技术分享图片

4 D:appAdministratorogg目录下的category.dllggsmsg.dll文件拷贝到SYSTEM32目录中。

 

5 手工在ogg目录下创建discard文件夹:md discard

 

6 Oracle中创建GoldenGate专属用户ogg,要先创建独立的表空间给ogg用户,否则后面安装会报错;

D:appAdministratorogg>sqlplus / as sysdba

 

SQL> create tablespace ogg_tbs datafile 'd:appadministratororadatahwprodogg_tbs01.dbf' size 1024M;

 

SQL> alter tablespace ogg_tbs add datafile 'd:appadministratororadatahwprodogg_tbs02.dbf' size 1024m;

 

SQL> alter tablespace ogg_tbs add datafile 'd:appadministratororadatahwprodogg_tbs03.dbf' size 1024m;

 

SQL>create user ogg identified by oracle default tablespace ogg_tbs quota unlimited on ogg_tbs;

 

SQL>grant dba to ogg;  (涉及到DDL复制,需授予给dba权限)

 

SQL> grant execute on utl_file to ogg;

技术分享图片

 

7为新创建的ogg用户执行配置脚本。在ogg的安装目录下使用sys登陆sqlplus,然后执行markker_setup.sql,ddl_setup.sql,role_setup.sql,ddl_enable.sql

(1)        marker_setup.sql,作用是安装DDL支持所需要的GoldenGate marker系统。

SQL>@ marker_setup

技术分享图片

 

(2)        ddl_setup.sql

SQL>@ddl_setup

技术分享图片

技术分享图片


(3)        role_setup.sql,作用是删除和创建DDL同步需要的角色,它授权DDL对象上的DML操作。

SQL>@role_setup

技术分享图片

 

SQL> grant GGS_GGSUSER_ROLE to ogg;

技术分享图片

(4)        ddl_enable.sql,作用是启用ddl触发器。

SQL> @ddl_enable

技术分享图片

 

8 进入ogg控制台,测试用户是否创建成功。

GGSCI (HWORATEST) 1> dblogin userid ogg

技术分享图片

测试成功,安装完成!

 

三、配置GoldenGate

 

source

1、   配置Manager管理进程参数:

GGSCI (HWORATEST) 1> edit params mgr

技术分享图片

技术分享图片

点击

然后键入以下内容并保存

port 7809

 技术分享图片


 

2、   配置checkpoint

GGSCI (HWORATEST) 3> edit params ./GLOBAL

技术分享图片

点击并输入以下内容保存

GGSCHEMA ogg

CHECKPOINTTABLE ogg.checkpoint

技术分享图片

 

添加checkpoint

GGSCI (HWORATEST) 7> add checkpointtable ogg.checkpoint

添加操作前,请注意先登录

技术分享图片

 

3、   配置服务器的抽取进程

GGSCI (HWORATEST) 8> add extract ext_w1,tranlog, begin now

 

GGSCI (HWORATEST) 9> add exttrail d:appAdministratoroggdirdatwt, extract ext_w1

技术分享图片

GGSCI (HWORATEST) 10> edit params ext_w1

技术分享图片

技术分享图片

点击 “是并输入以下内容保存

 

ddl include all

extract ext_w1

userid ogg, password oracle

exttrail D:appAdministratoroggdirdatwt

table prun.*;

 

注意,上述是包含DDL复制,主要是对prun的所有对象操作

 

4、   配置服务器的投递进程

GGSCI (HWORATEST) 11> add extract pum_w1, exttrailsource D:appAdministratoroggdirdatwt, begin now

 

GGSCI (HWORATEST) 12> add rmttrail D:appAdministratoroggdirdat t, extract pum_w1

技术分享图片

 

GGSCI (HWORATEST) 13>  edit params pum_w1

技术分享图片

点击 “是,并输入以下内容保存

extract pum_w1

userid ogg, password oracle

rmthost 192.168.10.19, mgrport 7809

rmttrail D:appAdministratoroggdirdat t

table prun.*;

 

注意,上述IPtargetIP地址

技术分享图片

至此,soure端配置基本完毕,可以info all查看:

技术分享图片

 

以下进行target端相关配置:

 

1、   配置Manager管理进程参数:

GGSCI (HWOGG01) 2> edit params mgr

技术分享图片

技术分享图片

点击“是输入以下内容并保存

port 7809

技术分享图片

 

2、   配置checkpoint

GGSCI (HWOGG01) 3> edit params ./GLOBAL

技术分享图片

技术分享图片


点击“是,输入以下内容并保存

GGSCHEMA ogg

CHECKPOINTTABLE ogg.checkpoint

技术分享图片

添加checkpoint

GGSCI (HWOGG01) 4> add checkpointtable ogg.checkpoint

技术分享图片

3、   配置目标服务器的复制进程

GGSCI (HWOGG01) 5>add replicat rep_w2, exttrail d:appAdministratoroggdirdat t, checkpointtable ogg.checkpoint

技术分享图片

GGSCI (HWOGG01) 6> edit params rep_w2

技术分享图片

 技术分享图片


点击“是,输入以下内容并保存

 

replicat rep_w2

ddl include all

ddlerror default ignore retryop maxretries 3 retrydelay 5

userid ogg, password oracle

assumetargetdefs

discardfile d:appAdministratoroggdirdat ep_w2_discard,append

map prun.*, target prun.*

RESOLVECONFLICT (UPDATEROWEXISTS, (DEFAULT, OVERWRITE))

RESOLVECONFLICT (INSERTROWEXISTS, (DEFAULT, OVERWRITE))

RESOLVECONFLICT (DELETEROWEXISTS, (DEFAULT, OVERWRITE))

RESOLVECONFLICT (UPDATEROWMISSING, (DEFAULT, IGNORE))

RESOLVECONFLICT (DELETEROWMISSING, (DEFAULT, IGNORE));

技术分享图片

配置完毕,查看相关信息

技术分享图片

 

四、验证测试

 

最后启动两端mgr进程,并测试(相关命令使用可以键入help查找)

首先启动source

Start mgr

技术分享图片

Start ext_w1

Start pum_w1

技术分享图片

 

启动target端:

Start mgr

技术分享图片

Start rep_w2

技术分享图片

 

 

检查target端是否有以下表存在,如果没有,则在source端创建上述表,然后检查是否会复制过来

target端检查:

技术分享图片

 

source 进行建表操作

SQL>create table prun.TESTOGG  as select * from prun.cts_role;

技术分享图片

再检查target

技术分享图片

 

测试成功!

 

参考:http://blog.itpub.net/29485627/viewspace-1766772/

 


以上是关于Oracle 11G GoldenGate实现Windows与Windows之间的单向同步的主要内容,如果未能解决你的问题,请参考以下文章

Oracle GoldenGate对接 Oracle 11g和Kafka

Linux下单机OGG同步oracle11g DB测试

Linux下单机OGG同步oracle11g DB测试

oracle GoldenGate 安装

Oracle GoldenGate(OGG)- 超级详细

连接远程数据库ORACLE11g,错误百出!