win 7 和linux ogg 数据同步,Oracle 11G GoldenGate实现Windows与Windows之间的单向同步

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

发布时间:2020-07-08 23:15:04

来源:51CTO

阅读:11738

作者:pimg2005

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

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

实验环境说明

操作系统:Windows 2008 R2  ,

数据库:oracle 11.2.0.1.0 ,

GoldenGate:11.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;

49fc0db83da2487348db2833fa9c467a.png

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

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

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;

786c9b03655ba8fe38f95e419e432552.png

二、安装GoldenGate

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

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

b5c3de29cd568619e9071dac09e9401b.png

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

3dab489b1c72493cbc25b7054134f93a.png

4 将D:\app\Administrator\ogg目录下的category.dll和ggsmsg.dll文件拷贝到SYSTEM32目录中。

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

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

D:\app\Administrator\ogg>sqlplus / as sysdba

SQL> create tablespace ogg_tbs datafile 'd:\app\administrator\oradata\hwprod\ogg_tbs01.dbf' size 1024M;

SQL> alter tablespace ogg_tbs add datafile 'd:\app\administrator\oradata\hwprod\ogg_tbs02.dbf' size 1024m;

SQL> alter tablespace ogg_tbs add datafile 'd:\app\administrator\oradata\hwprod\ogg_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;

909d36b127ae6f452fa77b0a18753fdd.png

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

ad101dff48f8a9ec98f6c6692844604b.png

(2)ddl_setup.sql

SQL>@ddl_setup

9c41b58ababe4f712dc174e1edd272ec.png

fc52b9bea17b74f4b77c1f3e54537fc9.png

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

SQL>@role_setup

390a5a58cd0ea5b38da2fdc8d552e8aa.png

SQL> grant GGS_GGSUSER_ROLE to ogg;

ab60b0d06dd5ca04409867211477ad92.png

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

SQL> @ddl_enable

f98e9c32fa2529af6f9763bc724c0e55.png

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

GGSCI (HWORATEST) 1> dblogin userid ogg

90bfeaee2d4a2f08f7cac7bda1f68b79.png

测试成功,安装完成!

三、配置GoldenGate

source端

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

GGSCI (HWORATEST) 1> edit params mgr

9ca33b940e7fbf964bf428a6829a17d7.png

1fa78707e795ce5f2596ca2d709e89ff.png

点击 “是”

然后键入以下内容并保存

port 7809

867b7c97196d40eeb746d79a6757b1cc.png

2、配置checkpoint表

GGSCI (HWORATEST) 3> edit params ./GLOBAL

50afb9d96f61c29399b2aba5f7f736a3.png

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

GGSCHEMA ogg

CHECKPOINTTABLE ogg.checkpoint

7a597e8fbf87a4e62e9d6fdae9d2c08c.png

添加checkpoint表

GGSCI (HWORATEST) 7> add checkpointtable ogg.checkpoint

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

32ece7fa432f08740a0f207fb18d7d29.png

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

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

GGSCI (HWORATEST) 9> add exttrail d:\app\Administrator\ogg\dirdat\wt, extract ext_w1

b64f6493895cbdb7d2e2f4b4d02dd52c.png

GGSCI (HWORATEST) 10> edit params ext_w1

bf7d3df25712c779440cbf82f2aaf3d5.png

0ff85f6374e8b73c58e2f8caf36f41c0.png

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

ddl include all

extract ext_w1

userid ogg, password oracle

exttrail D:\app\Administrator\ogg\dirdat\wt

table prun.*;

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

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

GGSCI (HWORATEST) 11> add extract pum_w1, exttrailsource D:\app\Administrator\ogg\dirdat\wt, begin now

GGSCI (HWORATEST) 12> add rmttrail D:\app\Administrator\ogg\dirdat\rt, extract pum_w1

d8b098ddb12523a976b5bfc349c1ec0a.png

GGSCI (HWORATEST) 13>  edit params pum_w1

c25017658ee6396b49d115dd4467a9aa.png

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

extract pum_w1

userid ogg, password oracle

rmthost 192.168.10.19, mgrport 7809

rmttrail D:\app\Administrator\ogg\dirdat\rt

table prun.*;

注意,上述IP为target端IP地址

8a2a49d04a42a11bb008a120a0b4e371.png

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

daa03908a74d7d84ca4466ddf1385de5.png

以下进行target端相关配置:

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

GGSCI (HWOGG01) 2> edit params mgr

4c552f34bfe13093f88ae0550ad0f03d.png

ad38ee58d46a329e791025611e8f4e18.png

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

port 7809

fb4a54b6e1d6ab0f2df6e61b0cb42748.png

2、配置checkpoint表

GGSCI (HWOGG01) 3> edit params ./GLOBAL

7336adaa4445e64bfd54a6a2900ba3a0.png

21da4ac5cf920dbb8cf5bea62f89c072.png

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

GGSCHEMA ogg

CHECKPOINTTABLE ogg.checkpoint

d334bc1473c333b53d4429b2e009fbae.png

添加checkpoint表

GGSCI (HWOGG01) 4> add checkpointtable ogg.checkpoint

be26f3f2dc0ec0cbf7cdbe42f19852e7.png

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

GGSCI (HWOGG01) 5>add replicat rep_w2, exttrail d:\app\Administrator\ogg\dirdat\rt, checkpointtable ogg.checkpoint

f91ab14e5c3103b620699f5d504fdb1a.png

GGSCI (HWOGG01) 6> edit params rep_w2

65e0f6da6e4d363c3adbe4ab838d3591.png

f98bf614bb1a2005be1691eaff1c6de4.png

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

replicat rep_w2

ddl include all

ddlerror default ignore retryop maxretries 3 retrydelay 5

userid ogg, password oracle

assumetargetdefs

discardfile d:\app\Administrator\ogg\dirdat\rep_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));

c4da80ec0d29796d9af5c3f5d894a54d.png

配置完毕,查看相关信息

c4e62a483191929ac4ef140584f7221c.png

四、验证测试

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

首先启动source端

Start mgr

94a985ec93b8b656481c10362ce1a43b.png

Start ext_w1

Start pum_w1

6266c8eb770c234afbeed58efd38c3c3.png

启动target端:

Start mgr

f6d6ff16f461c4e5ade4aa251fab666c.png

Start rep_w2

e47a9d2c5ea17b9ff7285560d295c875.png

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

target端检查:

345c4097f236e4d3b45b4872489c2fa8.png

source端 进行建表操作

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

dbce08cc71c53bdcf17d5a927c0c79a0.png

再检查target端

5ce96e681126302cf7861f86a6e2ea4d.png

测试成功!

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值