GoldenGate配置(二)之双向复制配置「建议收藏」

GoldenGate配置(二)之双向复制配置

大家好,又见面了,我是全栈君。

 GoldenGate配置(二)之双向复制配置


环境:

Item

Source System

Target System

Platform

Red Hat Enterprise

Linux Server release 5.4

Red Hat Enterprise

Linux Server release 5.4

Hostname

gc1

gc2

Database

Oracle 10.2.0.1

Oracle 11.2.0.1

Character Set

ZHS16GBK

ZHS16GBK

ORACLE_SID

PROD

EMREP

Listener Name/Port

LISTENER/1521

LISTENER/1521

Goldengate User

ogg

ogg

双向复制配置

说明:
此篇续接第一篇“GoldenGate配置(一)之单向复制配置”之后继续进行配置
关于上一篇,GoldenGate配置(一)之单向复制配置:点击打开链接


双向复制配置操作:

gc2:授权

SQL>grant CONNECT, RESOURCE to ogg;

SQL>grant CREATE SESSION, ALTER SESSION to ogg;

SQL>grant SELECT ANY DICTIONARY, SELECT ANY TABLE to ogg;

SQL>grant ALTER ANY TABLE to ogg;

SQL>grant FLASHBACK ANY TABLE to ogg;

SQL>grant EXECUTE on DBMS_FLASHBACK to ogg;

 

gc1:授权

SQL>grant CONNECT, RESOURCE to ogg;

SQL>grant CREATE SESSION, ALTER SESSION to ogg;

SQL>grant SELECT ANY DICTIONARY, SELECT ANY TABLE to ogg;

SQL>grant CREATE TABLE to ogg;

SQL>grant INSERT, UPDATE, DELETE on scott.tcustmer to ogg;–把须要同步表的DML操作授权给ogg

SQL>grant INSERT, UPDATE, DELETE on scott.tcustord to ogg;–把须要同步表的DML操作授权给ogg

 

gc2:开启补充日志

SQL>alter database add supplemental log data;

SQL>alter system switch logfile;

SQL>alter database force logging;

 

gc2:測试表加入到补充日志

GGSCI(gc2) 1> DBLOGIN USERID ogg, PASSWORD Ogg    

Successfully logged into database.

GGSCI(gc2) 2> ADD TRANDATA scott.TCUSTMER

Logging of supplemental redo data enabled fortable SCOTT.TCUSTMER.

GGSCI(gc2) 3> ADD TRANDATA scott.TCUSTORD

Logging of supplemental redo data enabled fortable SCOTT.TCUSTORD.

 

gc2:配置Extract进程

GGSCI(gc2) 4> EDIT PARAMS EORA_1

— Change Capture parameter file to capture

— TCUSTMER and TCUSTORD changes

EXTRACT EORA_1

SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

USERID ogg, PASSWORD Ogg

TRANLOGOPTIONS EXCLUDEUSER ogg

EXTTRAIL ./dirdat/aa

TABLE scott.TCUSTMER;

TABLE scott.TCUSTORD;

~

~

“dirprm/eora_1.prm” [New] 9L, 257Cwritten

GGSCI(gc2) 5> ADD EXTRACT EORA_1, TRANLOG, BEGIN NOW

EXTRACT added.

GGSCI(gc2) 6> ADD EXTTRAIL ./dirdat/aa, EXTRACT EORA_1, MEGABYTES 5

EXTTRAIL added.

GGSCI(gc2) 7> START EXTRACT EORA_1

Sending START request to MANAGER …

EXTRACT EORA_1 starting

GGSCI(gc2) 8> INFO EXTRACT EORA_1

EXTRACT   EORA_1    Last Started 2014-06-1811:28   Status RUNNING

Checkpoint Lag       00:00:19 (updated 00:00:08 ago)

Log Read Checkpoint  Oracle Redo Logs

                     2014-06-18 11:27:42  Seqno 6, RBA 35344

 

gc2:配置Pump进程

GGSCI(gc2) 9> EDIT PARAMS PORA_1

加入下面内容:

— Data Pump parameter file to read thelocal

— trail of TCUSTMER and TCUSTORDchanges

EXTRACT PORA_1

SETENV(NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

PASSTHRU

RMTHOST gc1, MGRPORT 7809

RMTTRAIL ./dirdat/pa

TABLE scott.TCUSTMER;

TABLE scott.TCUSTORD;

~

~

~

“dirprm/pora_1.prm” [New] 10L, 250Cwritten

GGSCI(gc2) 10> ADD EXTRACT PORA_1, EXTTRAILSOURCE ./dirdat/aa

EXTRACT added.

GGSCI(gc2) 11> ADD RMTTRAIL ./dirdat/pa, EXTRACT PORA_1, MEGABYTES 5

RMTTRAIL added.

GGSCI(gc2) 12> START EXTRACT PORA_1

Sending START request to MANAGER …

EXTRACT PORA_1 starting

 

gc1:配置Replicat进程

GGSCI(gc1) 1> EDIT PARAMS ./GLOBALS

CHECKPOINTTABLE ogg.ggschkpt

~

~

“./GLOBALS” [New] 1L, 29C written

GGSCI(gc1) 2> quit     

[oracle@gc1ogg]$ ll GLOBALS   —验证

-rw-rw-rw- 1 oracle oinstall 29 Jun 18 11:33GLOBALS

GGSCI(gc1) 1> DBLOGIN USERID ogg, PASSWORD Ogg

Successfully logged into database.

GGSCI(gc1) 2> ADD CHECKPOINTTABLE

No checkpoint table specified, using GLOBALSspecification (ogg.ggschkpt)…

Successfully created checkpoint tableOGG.GGSCHKPT.

 

gc1:配置Replicate进程

GGSCI(gc1) 3> EDIT PARAM RORA_1

— Change Delivery parameter file to apply

— TCUSTMER and TCUSTORD Changes

REPLICAT RORA_1

SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

USERID ogg, PASSWORD Ogg

HANDLECOLLISIONS

ASSUMETARGETDEFS

DISCARDFILE ./dirrpt/RORA_aa.DSC, PURGE

MAP scott.tcustmer, TARGET scott.tcustmer;

MAP scott.tcustord, TARGET scott.tcustord;

~

~

“dirprm/rora_1.prm” [New] 12L, 327Cwritten

GGSCI(gc1) 4> ADD REPLICAT RORA_1, EXTTRAIL ./dirdat/pa

REPLICAT added.

GGSCI(gc1) 5> START REPLICAT RORA_1

Sending START request to MANAGER …

REPLICAT RORA_1 starting

 

gc1:查看进程状态

GGSCI(gc1) 6> info all

Program    Status      Group       Lag           Time Since Chkpt

MANAGER    RUNNING                                          

EXTRACT    RUNNING     EORA_1      00:00:00      00:00:08   

EXTRACT    RUNNING     PORA_1      00:00:00      00:00:01   

REPLICAT   RUNNING     RORA_1      00:00:00      00:00:06  

 

gc2:查看进程状态

GGSCI(gc2) 13> info all

Program    Status      Group       Lag           Time Since Chkpt

MANAGER    RUNNING                                           

EXTRACT    RUNNING     EORA_1      00:00:00      00:00:09   

EXTRACT    RUNNING     PORA_1      00:00:00      00:00:06   

REPLICAT   RUNNING     RORA_1      00:00:00      00:00:01  

 

验证insert操作双向同步

gc1: gc1→gc2。DML操作:insert操作

SQL>insert into tcustmer VALUES(‘HYL’,’HUANG DBA.’,’HARBIN’,’CN’);

1 row created.

SQL>commit;

Commit complete.

 

gc2:验证insert操作同步

SQL>select * from tcustmer;

CUST NAME                           CITY                 ST

—- ————————————————– —

HYL  HUANGDBA.                     HARBIN               CN

WILL BG SOFTWARE CO.                SEATTLE              WA

JANE ROCKY FLYER INC.               DENVER               CO

 

gc2:gc2→gc1,DML操作:insert操作

SQL>insert into tcustmer VALUES(‘WT’,’WANGDBA.’,’QINGDAO’,’CN’);

1 row created.

SQL>commit;

Commit complete.

 

gc1:gc1→gc2。DML操作:update操作

SQL>select * from tcustmer;

CUST NAME                           CITY                 ST

—- ————————————————– —

HYL  HUANGDBA.                     HARBIN               CN

WILL BG SOFTWARE CO.                SEATTLE              WA

JANE ROCKY FLYER INC.               DENVER               CO

WT   WANGDBA.                      QINGDAO              CN

gc1:update操作

SQL>update tcustmer set city = ‘BEIJING’, state = ‘CN’ wherecust_code=’HYL’;

1 row updated.

SQL>commit;

Commit complete.

 

gc2:验证update操作同步

SQL>select * from tcustmer;

CUST NAME                           CITY                 ST

—- —————————— ———————-

HYL  HUANGDBA.                     BEIJING              CN

WILL BG SOFTWARE CO.                SEATTLE              WA

JANE ROCKY FLYER INC.               DENVER               CO

WT   WANGDBA.                      QINGDAO              CN

 

gc2:gc2→gc1,DML操作:update操作

SQL>update tcustmer set city = ‘BEIJING’, state = ‘CN’ wherecust_code=’WT’;

1 row updated.

SQL>commit;

Commit complete.

 

gc1:验证update操作同步

SQL>select * from tcustmer;

CUST NAME                           CITY                 ST

—- ————————————————– —

HYL  HUANGDBA.                     BEIJING              CN

WILL BG SOFTWARE CO.                SEATTLE              WA

JANE ROCKY FLYER INC.               DENVER               CO

WT   WANGDBA.                      BEIJING              CN

 

gc1:gc1→gc2,DML操作:delete操作

SQL>delete from tcustmer where CUST_CODE=’WT’;

1 row deleted.

SQL>commit;

Commit complete.

 

gc2:验证delete操作同步

SQL>select * from tcustmer;

CUST NAME                           CITY                 ST

—- ————————————————– —

HYL  HUANGDBA.                     BEIJING              CN

WILL BG SOFTWARE CO.                SEATTLE              WA

JANE ROCKY FLYER INC.               DENVER               CO

 

gc2:gc2→gc1。DML操作:delete操作

SQL>delete from tcustmer where CUST_CODE=’HYL’;

1 row deleted.

SQL>commit;

Commit complete.

 

gc1:验证delete操作同步

SQL>select * from TCUSTMER;

CUST NAME                           CITY                 ST

—- ————————————————– —

WILL BG SOFTWARE CO.                SEATTLE              WA

JANE ROCKY FLYER INC.               DENVER               CO

 

–至此,GoldenGate双向同步复制完毕

声明:
         原创作品,出自 “深蓝的blog” 博客,同意转载。转载时请务必注明出处(http://blog.csdn.net/huangyanlong)。

         关于涉及版权事宜,作者有权追究法律责任。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116145.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 使用文本编辑器编写Java源代码

    使用文本编辑器编写Java源代码使用文本编辑器编写Java源代码编写Java应用程序,可以使用任何一个文本编辑器来编写程序的源代码,然后使用JDK搭配的工具进行编译和运行。在这里我将介绍一个使用简单的文本编辑器来开发一个Java应用程序的步骤。打开记事本,在记事本中输入如下代码:publicclassHelloJava{publicstaticvoidmain(String[]args){…

    2022年5月11日
    40
  • springboot 与spring的区别_SpringBootVFS

    springboot 与spring的区别_SpringBootVFS一、概念1、SpringSpring是一个开源容器框架,可以接管web层,业务层,dao层,持久层的组件,并且可以配置各种bean,和维护bean与bean之间的关系。其核心就是控制反转(IOC),和面向切面(AOP),简单的说就是一个分层的轻量级开源框架。2、SpringMVCSpringMVC属于SpringFrameWork的后续产品,已经融合在SpringWebFlow里面。SpringMVC是一种web层mvc框架,用于替代servlet(处理|响应请求,获取表单参数,表单校

    2022年8月20日
    9
  • MessageDigest用法[通俗易懂]

    MessageDigest用法[通俗易懂]为什么要使用MessageDigest?某些金融行业用于进行简单的密码加密。例如:需求某银行对数据库账户取款密码加密。为了保护客户信息的安全,客户取款密码只能客户自己知道,银行方面对此加密,加密后数据保存的数据库。此时可以用MessageDigest进行加密,以及后续其他方案再次加密。MessageDigest是什么?java.security.MessageDigest类…

    2022年7月11日
    16
  • python判断是否为空_python 判断对象是否为空

    python判断是否为空_python 判断对象是否为空在实际的工作当中,我们难免要与空值打交道,相信不少初学者都会写出下面的代码:ifaisNone:dosomething.else:dotheotherthing.python学习网,大量的免费python视频教程,欢迎在线学习!这样写看起来不错,但实际上会有问题。一般来讲,Python中会把下面几种情况当做空值来处理:NoneFalse0,0.0,0L”,(),[],{}其中Non…

    2022年6月12日
    166
  • 数据可视化之美 — 以Matlab、Python为工具

    数据可视化之美 — 以Matlab、Python为工具在我们科研、工作中,将数据完美展现出来尤为重要。数据可视化是以数据为视角,探索世界。我们真正想要的是—数据视觉,以数据为工具,以可视化为手段,目的是描述真实,探索世界。下面介绍一些数据可视化的作品(包含部分代码),主要是地学领域,可迁移至其他学科。Example1:importnumpyasnpimportmatplotlib.pyplotasplt#创建随机数n=100000x=np.random.randn(n)y=(1.5*x)+np.ra

    2025年6月15日
    2
  • 关于局域网和广域网的叙述中正确的是_城域网是介于广域网和局域网

    关于局域网和广域网的叙述中正确的是_城域网是介于广域网和局域网关于局域网和广域网

    2022年10月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号