Windows下GoldenGate单机双向同步

Windows下GoldenGate单机双向同步

上节实现了Windows系统中数据从scott.test_tablehaishu.test_table的单向同步。本节在上节的基础上实现数据从haishu.test_tablescott.test_table的同步。这样就实现了数据在scott.test_tablehaishu.test_table之间的双向同步。

 

一、配置抽取进程

GGSCI (John-PC) > add extract ext2,tranlog, begin now

GGSCI (John-PC) > add exttrail F:\app\Administrator\ogg\dirdat\hs, extract ext2

这里add exttrail F:\app\Administrator\ogg\dirdat\hs, extract ext2表示通过ext2进程把数据库中的数据抽取到本地的F:\app\Administrator\ogg\dirdat\hs文件中。

hshaishu的简称,代表数据要从haishu.test_table中同步到scott.test_table中。当然也可以用别的字符,不过建议使用有意义的字符。

exttrail表示本地。若要把数据抽取到远程机器上,应使用“add rmttrail……”句式。

 

Z

 

编辑抽取进程参数:

GGSCI (John-PC) > edit params ext2

 

在弹出框中选“是”

a0OXzaXY0AAAAASUVORK5CYII=

 

ext2.prm中输入参数

extract ext2

userid ogg,password oracle

rmthost 127.0.0.1,mgrport 7809

rmttrail F:\app\Administrator\ogg\dirdat\hs

dynamicresolution

table haishu.test_table;

 

2Q==

编辑完后保存ext2.prm

 

二、配置复制进程

GGSCI (John-PC) > add replicat rep2,exttrail F:\app\Administrator\ogg\dirdat\hs, checkpointtable ogg.checkpoint

这个句子表示从本机的F:\app\Administrator\ogg\dirdat\hs中读取数据,并通过rep2进程把这些数据复制到数据库中。ogg.checkpointrep2的容器表。

 

Z

 

编辑复制进程参数

GGSCI (John-PC) > edit params rep2

 

在弹出的提示框中选“是”

w+L34Lhqaq46QAAAABJRU5ErkJggg==

 

rep2.prm中输入如下内容:

replicat rep2

userid ogg,password oracle

assumetargetdefs

discardfile F:\app\Administrator\ogg\dirdat\rep2_discard.txt,append

map haishu.test_table, target scott.test_table

RESOLVECONFLICT (UPDATEROWEXISTS, (DEFAULT, OVERWRITE))

RESOLVECONFLICT (INSERTROWEXISTS, (DEFAULT, OVERWRITE))

RESOLVECONFLICT (DELETEROWEXISTS, (DEFAULT, OVERWRITE))

RESOLVECONFLICT (UPDATEROWMISSING, (DEFAULT, IGNORE))

RESOLVECONFLICT (DELETEROWMISSING, (DEFAULT, IGNORE));

 

保存rep2.prm并关掉。

9k=

 

 

三、测试

1 sys用户清空scott.tablehaishu.table中的数据

SQL> delete from scott.table;

SOL> delete from haishu.table;

 

2 开启管理进程,抽取进程和同步进程

GGSCI (John-PC) > start mgr

GGSCI (John-PC) > start ext1

GGSCI (John-PC) > start ext2

GGSCI (John-PC) > start rep1

GGSCI (John-PC) > start rep2

 

Z

 

3 scott.test_table中插入数据,并从haishu.test_table中检验

SQL> insert into scott.test_table values('scott-001');

SQL> commit;

SQL> select * from haishu.test_table;


9k=

 

 

4 haishu.test_table中插入数据,并从scott.test_table中验证

SQL> insert into haishu.test_table values('haishu-001');

SQL> commit;

SQL> select * from scott.test_table;

 

Z

 

5 删除scott.test_table中的数据,并从haishu.test_table中验证

SQL> delete from scott.test_table where id='haishu-001';

SQL> commit;

SQL> select * from haishu.test_table;

2Q==

 

6 删除haishu.test_table中的数据,并从scott.test_table中查询

SQL> delete from haishu.test_table where id='scott-001';

SQL> commit;

SQL> select * from scott.test_table;

 

2Q==

 

7 实验结果

通过上述的测试,我们发现Windows系统中的单机双向同步已经成功实现了。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29485627/viewspace-1760339/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29485627/viewspace-1760339/

第1章 GoldenGate概述 5 1.1 GoldenGate技术原理 5 1.2 GoldenGate可靠的复制 8 1.3 GoldenGate支持操作系统和数据库类型 8 第2章 安装GoldenGate 9 2.1 安装GoldenGate环境 9 2.2 分别在源数据库,目标数据库安装GoldenGate 9 2.2.1 下载GoldenGate 9 2.2.2 解压 10 2.2.3 安装GoldenGate 10 2.2.4 同时在目标数据库安装GoldenGate 11 第3章 把源数据库的数据同步到目标数据库中 11 3.1 设置ORACLE_HOME,ORACLE_SID环境变量 11 3.2 在源数据库ora01上打开归档日志及其辅助日志 12 3.3 在源数据库,目标数据库创建GoldenGate GLOBALS参数文件 13 3.3.1 在源数据库创建 13 3.3.2 创建Goldengate manager服务 13 3.3.3 在目标数据库安装上面步骤创建manager 14 3.4 在源数据库,目标数据库配置mgr,启动manager进程 14 3.4.1 配置manager服务的mgr配置文件 14 3.4.2 启动mgr 15 3.4.3 同样在目标数据库配置mgr文件 15 3.5 测试把源数据库数据同步到目标数据库数据库上 16 3.5.1 在源数据库创建test01数据库用户 16 3.5.2 执行GoldenGate的测试脚本,创建表 16 3.5.3 插入数据脚本 17 3.5.4 在goldengate中用oracle用户登陆数据库 17 3.5.5 增加需要传输的用户表 18 3.5.6 在目标数据库创建用户及其表结构 18 3.6 用goldengate中的direct load方式导入数据到目标数据库的test02用户表上 19 3.6.1 在源数据库配置一个extract进程 eini01 19 3.6.2 在目标数据库端配置一个replicat进程 19 3.6.3 在源数据库执行初始化过程 20 3.6.4 验证目标数据库端的test02用户表数据是否和源数据库一样 20 第4章 把源数据库的修改数据同步到目标数据库中 21 4.1 在源数据库配置一个EXTRACT进程及配置其文件 21 4.1.1 配置EXTRACT文件 21 4.1.2 在GGSCI.exe增加一个EXTRACT进程 22 4.2 配置data pump 23 4.2.1 在源数据库端添加一个pump进程 23 4.2.2 在源数据库的ggsci中增加extract进程 24 4.2.3 在源数据库执行RMTTRAIL 24 4.3 启动data pump capture process 24 4.4 在目标数据库端配置change delivery 26 4.5 在目标数据库中创建goldengate专属用户及其表 26 4.6 在目标数据库配置replicat进程 27 4.6.1 在ggsci增加一个replicat进程 27 4.6.2 编辑配置replicat文件 27 4.7 启动replicat进程 28 4.8 测试检查同步结果 28 4.8.1 在源数据库执行插入数据 28 第5章 把源数据库的DDL(表结构)修改同步到目标数据库中 32 5.1 在源数据库端关闭数据库的回收站 32 5.2 编辑源数据库参数文件GLOBALS 32 5.3 在源数据库创建goldengate01用户,并创建goldengate所需要的表 33 5.4 检查源数据库上的表是否安装好 35 5.5 修改源数据库配置extract文件 35 5.6 重新启动extract进程 36 5.7 验证源数据库是否可以同步表结构到目标数据库中 36 第6章 配置源数据库、目标数据库双向数据传输 36 6.1 关闭目标数据库回收站,打开数据库辅助日志 37 6.2 在源数据库端添加checkpoint表,实现一致性 37 6.3 在源数据库增加一个replicat进程 38 6.4 在源数据库创建一个checkpoint表 38 6.5 编辑配置replicat进程 39 6.6 在目标数据库端配置GLOBALS文件 39 6.7 在目标数据库安装goldengate用户需要的表 39 6.8 在目标数据库配置一个extract进程 40 6.9 在目标数据库端配置一个pump进程 40 6.10 在源数据库端启动replicat进程 42 6.11 在目标数据库中启动extract、replicat的进程 42 6.12 目标数据库可以把数据、表结构的修过同步到源数据库服务器上 42 第7章 备注: 44 7.1 Oracle官网的下载地址 44 7.2 GoldenGate的GLOBALS配置文件内容 44 7.3 GoldenGate的eiex01配置文件内容 44 7.4 GoldenGate的epmp01配置文件内容 44 7.5 GoldenGate的rora01配置文件内容 45 7.6 GoldenGate的eiexbb配置文件内容 45 7.7 GoldenGate的epmpbb配置文件内容 45 7.8 GoldenGate的rorabb配置文件内容 45 7.9 更改GoldenGate复制时间点 46 7.10 查看GoldenGate命令格式 46 7.11 查看manager,extract,replicat是否运行 47 7.12 查看goldengate进程的错误 48
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值