ITPub博客

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

Windows下GoldenGate单机单向同步

原创 Oracle 作者:zhenghaishu 时间:2015-08-02 07:19:53 0 删除 编辑

Windows下GoldenGate单机单向同步

一、配置Manager管理程的参数

GGSCI (John-PC) 2> info all

 

 

GGSCI (John-PC) 3> edit params mgr

 

 

提示找不到文件……,点击“是”

 

在mgr.prm中输入“port 7809”并保存

 

二、配置抽取进程

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

 

 

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

这个句子表示通过ext1进程把数据抽取到本地的F:\app\Administrator\ogg\dirdat\st文件中。st代表scott,表示本实验是要把scott.test_table中的数据同步到haishu.test_table中。当然也可以起其他名字,不过最好起的有意义一点。

exttrail表示本地。若要抽取到远程服务中,应使用add rmttrail语句。

 

编辑抽取进程ext1参数

GGSCI (John-PC) 7> edit params ext1

 

在弹出框中选“是”

 

在ext1.prm中输入参数

extract ext1

userid ogg,password oracle

rmthost 127.0.0.1,mgrport 7809

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

dynamicresolution

table scott.test_table;

因为这个实验是本机上的单向同步,所以远程IP地址即为本机地址127.0.0.1,当然也可以写为实际的IP地址147.132.68.164

注意,最后一定要以分号结束。

 

编辑完后保存并退出。

 

三、添加checkpoint表

复制进程需要用到checkpoint表。

GGSCI (John-PC) 10>edit params ./GLOBAL

这里./表示当前目录,即F:/app/Administrator/ogg

在弹出框中选“是”。在GLOBAL文件中加入如下内容并保存

GGSCHEMA ogg

CHECKPOINTTABLE ogg.checkpoint

 

 

添加checkpoint表

GGSCI (John-PC) 11> add checkpointtable ogg.checkpoint

 

 

四、配置复制进程

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

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

 

编辑rep1进程参数

GGSCI (John-PC) > edit params rep1

 

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

 

在rep1.prm中输入如下内容

replicat rep1

userid ogg,password oracle

assumetargetdefs

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

map scott.test_table, target haishu.test_table

RESOLVECONFLICT (UPDATEROWEXISTS, (DEFAULT, OVERWRITE))

RESOLVECONFLICT (INSERTROWEXISTS, (DEFAULT, OVERWRITE))

RESOLVECONFLICT (DELETEROWEXISTS, (DEFAULT, OVERWRITE))

RESOLVECONFLICT (UPDATEROWMISSING, (DEFAULT, IGNORE))

RESOLVECONFLICT (DELETEROWMISSING, (DEFAULT, IGNORE));

保存并退出。

 

五、测试同步结果

1 用sys用户登录数据库sqlplus / as sysdba

解锁scott用户

创建haishu用户并授予grant和connect权限

sys用户下创建scott.test_table表和haishu.scott表

 

SQL> create table scott.test_table(id varchar(10) primary key);

SQL> create table haishu.test_table(id varchar(10) primary key);

 

2 启动OGG的管理进程、抽取进程和复制进程

进程状态为running表示正常启动;若为abended或stop表示出错。可用“view report 进程名称”来查看错误信息,比如“view report ext1”。

 

3 向scott方案中插入一条数据并从haishu方案中检验

上图中第一次没有检索出数据,第二次才检索出数据。这是因为GoldenGate不是实时的,同步过程会有一定时间(比如一两秒)的延迟。

 

4 从scott方案中删除数据并从haishu方案中检验

 

上述实验结果说明成功实现把scott.test_table中的数据同步到haishu.test_table中。

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

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

注册时间:2014-02-14

  • 博文量
    112
  • 访问量
    1057367