ITPub博客

首页 > 数据库 > Oracle > Windows下GoldenGate单机双向同步

Windows下GoldenGate单机双向同步

原创 Oracle 作者:zhenghaishu 时间:2015-08-03 13:54:01 0 删除 编辑

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……”句式。

 

 

编辑抽取进程参数:

GGSCI (John-PC) > edit params ext2

 

在弹出框中选“是”

 

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;

 

编辑完后保存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的容器表。

 

 

编辑复制进程参数

GGSCI (John-PC) > edit params rep2

 

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

 

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并关掉。

 

 

三、测试

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

 

 

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

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

SQL> commit;

SQL> select * from haishu.test_table;


 

 

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

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

SQL> commit;

SQL> select * from scott.test_table;

 

 

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;

 

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;

 

 

7 实验结果

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

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

请登录后发表评论 登录
全部评论

注册时间:2014-02-14

  • 博文量
    112
  • 访问量
    912328