OGG双向复制
注意:在进行如下配置之前,先在源数据库(原来的目标数据库)端添加辅助的redolog配置:
1、SQL> alter database add supplemental log data;
SQL> alter system switch logfile;
2、alter database force logging;
否则启动extract进程会失败,使用view report eora_2查看详细信息时会显示如下错误:
2012-12-07 06:58:03 GGS ERROR 500 Found unsupported in-memory undo record in sequence 60, at RBA 15113744, with SCN 0.4214362 (4214362)
... Minimum supplemental logging must be enabled to prevent data loss.
3、在ogg环境下,添加日志跟踪:
GGSCI (db.cn.oracle.com) 3> DBLOGIN USERID ogg, PASSWORD Ogg
GGSCI (db.cn.oracle.com) 5> ADD TRANDATA scott.EMP_OGG
GGSCI (db.cn.oracle.com) 6> ADD TRANDATA scott.DEPT_OGG
一、双向复制节点2配置:
1)添加附加的redolog信息
DBLOGIN USERID ogg, PASSWORD ogg
ADD TRANDATA scott.*
2)配置extract
GGSCI (cuug97) 11> EDIT PARAMS EORA_1
EXTRACT EORA_1
SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
USERID ogg, PASSWORD ogg
TRANLOGOPTIONS EXCLUDEUSER ogg (双向复制的配置关键)
EXTTRAIL ./dirdat/aa
TABLE scott.*;
GGSCI (cuug97) 11> ADD EXTRACT EORA_1, TRANLOG, BEGIN NOW
EXTRACT added.
GGSCI (cuug97) 12> ADD EXTTRAIL ./dirdat/aa, EXTRACT EORA_1, MEGABYTES 5
EXTTRAIL added.
GGSCI (cuug97) 13> START EXTRACT EORA_1
3)配置pump进程
GGSCI (cuug97) 15> EDIT PARAMS PORA_1
EXTRACT PORA_1
SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
PASSTHRU
RMTHOST cuug95, MGRPORT 7809
RMTTRAIL ./dirdat/pa
TABLE scott.*;
GGSCI (cuug97) 16> ADD EXTRACT PORA_1, EXTTRAILSOURCE ./dirdat/aa
EXTRACT added.
GGSCI (cuug97) 17> ADD RMTTRAIL ./dirdat/pa, EXTRACT PORA_1, MEGABYTES 5
RMTTRAIL added.
GGSCI (cuug97) 18> START EXTRACT PORA_1
4、第一节点(原来的源数据库)
1、配置checkpoint
GGSCI (cuug95) 1> EDIT PARAMS ./GLOBALS
CHECKPOINTTABLE ogg.ggschkpt
GGSCI (cuug95) 1> exit
GGSCI (cuug95) 1> DBLOGIN USERID ogg, PASSWORD ogg
Successfully logged into database.
GGSCI (cuug95) 2> ADD CHECKPOINTTABLE
2、配置replicate
GGSCI (cuug95) 4> EDIT PARAM RORA_1
REPLICAT RORA_1
SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
USERID ogg, PASSWORD Ogg
HANDLECOLLISIONS
ASSUMETARGETDEFS
DISCARDFILE ./dirrpt/RORA_aa.DSC, PURGE
MAP scott.*, TARGET scott.*;
GGSCI (cuug95) 4> ADD REPLICAT RORA_1, EXTTRAIL ./dirdat/pa
GGSCI (cuug95) 6> START REPLICAT RORA_1
注意:在双向复制的过程中,如果表有主键,那么更新表主键列的时候,oracle会在目标端insert一条新行,而不是在原来的行上更新;如果没有主键列,无论update哪个列,都在目标数据库insert新行。
二、支持DDL复制配置
1、在第两个节点执行执行DDL同步脚本命令:
先进入goldengate软件安装目录,以SYSDBA身份登录oracle执行以下脚本,执行脚本过程中,需要输入的用户全部是ogg,安装模式为INITIALSETUP,如果数据字典或者某些内部的包有错误,则需要运行catalog.sql和catproc.sql脚本。
SQL>@marker_setup
SQL>@ddl_setup
SQL>@role_setup
SQL>grant GGS_GGSUSER_ROLE to ogg;
SQL>@ddl_enable
如果某项脚本执行错误,需要重新执行时,先要执行清除的脚本:ddl_remove.sql和marker_remove.sql
2、配置两个节点的extract,在eora_1配置文件中添加以下一行:
DDL INCLUDE OBJNAME "scott.*"
最终的内容如下:
EXTRACT EORA_1
SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
USERID ogg, PASSWORD Ogg
TRANLOGOPTIONS EXCLUDEUSER ogg
EXTTRAIL ./dirdat/aa
DDL INCLUDE OBJNAME "scott.*"
TABLE scott.*;
注意:先关闭eora_1进程,再添加,然后重新启动。
3、配置两个节点的replicat
3.1、GGSCI (cuug95) 6> DBLOGIN USERID ogg, PASSWORD Ogg
GGSCI (cuug95) 7> add checkpointtable ogg.checkpoint
如果之前已经添加过,则无需操作。
4、配置REPLICAT进程参数文件,添加以下几行到rora_1配置文件中:
DDL INCLUDE ALL
DDLERROR DEFAULT IGNORE RETRYOP MAXRETRIES 3 RETRYDELAY 5
DDLERROR DEFAULT DISCARD
DDLERROR DEFAULT IGNORE RETRYOP
最终的内容如下:
REPLICAT RORA_1
SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
USERID ogg, PASSWORD Ogg
HANDLECOLLISIONS
ASSUMETARGETDEFS
DISCARDFILE ./dirrpt/RORA_aa.DSC, PURGE
DDL INCLUDE ALL
DDLERROR DEFAULT IGNORE RETRYOP MAXRETRIES 3 RETRYDELAY 5
DDLERROR DEFAULT DISCARD
DDLERROR DEFAULT IGNORE RETRYOP
MAP scott.*, TARGET scott.*;
5、如果新建的表进行同步,update可能不成功,需要进行一下操作,这样子ogg才会去捕捉new_tab的日志信息:
ADD TRANDATA scott.new_tab;
注意:先关闭rora_1进程,再添加,然后重新启动。
5、如果是序列,无需关注,因为oracle是取得序列的值进行insert的。
6、如果源端建表的时候是基于子查询,如果子查询中访问的表在目标端没有,则无法实现ddl同步。或者子查询中的表如果数据不一样,则同步的表数据也不一样,根据各自数据库的子查询中的表来定。
7、如果是insert操作,数据基于子查询,如果子查询访问的表目标端没有,却不受影响,能够同步。
8、update某行时,如果目标数据库没有符合条件的行,ogg会insert一条新行。??
解决办法: 在最新的GG11.2版本中针对此种情况设置了专门的冲突解决机制,在11.2以前配置解决这个冲突很复杂
(11:16:58 AM) louise.liang@oracle.com: 在initial load 中有一个参数可以避免这个冲突,但是在正常复制时一般不建议用
OGG双向复制的更多相关文章
- GoldenGate配置(二)之双向复制配置
GoldenGate配置(二)之双向复制配置 环境: Item Source System Target System Platform Red Hat Enterprise Linux Serve ...
- Goldengate双向复制配置
一.Goldengate双向复制配置 1.1.在进行如下配置之前,先在源数据库source system(原来的目标数据库)端 添加辅助的redolog配置: SQL>alter databas ...
- 【OGG】OGG简单配置双向复制(三)
[OGG]OGG简单配置双向复制(三) 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O ...
- oracle ogg 单实例双向复制搭建(oracle-oracle)--Oracle GoldenGate
oracle ogg 单实例双向复制搭建(oracle-oracle)--Oracle GoldenGate --继昨天的测试,这一篇实施单实例双向复制(完全重新搭建) --环境不变 db1,db2( ...
- Oracle Golden Gate - 概念和机制 (ogg)
Golden Gate(简称OGG)提供异构环境下交易数据的实时捕捉.变换.投递. OGG支持的异构环境有: OGG的特性: 对生产系统影响小:实时读取交易日志,以低资源占用实现大交易量数据实时复制 ...
- OGG同构(ORACLE-ORACLE)、异构(ORACLE-MYSQL)同步配置及错误解析
环境:11.2.0.3(已安装数据库实例)+OEL5.7 192.168.1.55 zlm sid:zlm11g 192.168.1.60 zlm2 sid:zlm11g 一.安装软件,配置环境,创建 ...
- OGG学习笔记04-OGG复制部署快速参考
OGG学习笔记04-OGG复制部署快速参考 源端:Oracle 10.2.0.5 RAC + ASM 节点1 Public IP地址:192.168.1.27 目标端:Oracle 10.2.0.5 ...
- 【OGG】OGG基础知识整理
[OGG]OGG基础知识整理 一.GoldenGate介绍 GoldenGate软件是一种基于日志的结构化数据复制软件.GoldenGate 能够实现大量交易数据的实时捕捉.变换和投递,实现源数据库与 ...
- [转载]Oracle Golden Gate - 概念和机制 (ogg)
出处:https://www.cnblogs.com/qiumingcheng/p/5435907.html Golden Gate(简称OGG)提供异构环境下交易数据的实时捕捉.变换.投递. OGG ...
随机推荐
- 说说自己对hibernate一级、二级、查询、缓存的理解。
说说自己对hibernate一级.二级.查询.缓存的理解. 2016-03-14 21:36 421人阅读 评论(0) 收藏 举报 分类: web开发(19) 版权声明:本文为博主原创文章,未经博 ...
- 模式识别之线性判别---naive bayes朴素贝叶斯代码实现
http://blog.csdn.net/xceman1997/article/details/7955349 http://www.cnblogs.com/yuyang-DataAnalysis/a ...
- CentOS7.2内核版本查看简述
1.uname 命令 [root@bogon /]# uname --help 用法:uname [选项]... 输出一组系统信息.如果不跟随选项,则视为只附加-s 选项. -a, --all以如 ...
- 【Java面试题】54 去掉一个Vector集合中重复的元素
在Java中去掉一个 Vector 集合中重复的元素 1)通过Vector.contains()方法判断是否包含该元素,如果没有包含就添加到新的集合当中,适用于数据较小的情况下. import jav ...
- php一些常规动态设置与获取
error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE);ini ...
- port被占用的处理方法
開始--执行--cmd 进入命令提示符 输入netstat -ano 就可以看到全部连接的PID 之后在任务管理器中找到这个PID所相应的程序假设任务管理器中没有PID这一项,能够在任务管理器中选&q ...
- 单例模式(singleton pattern)--------创造型模式
缺点: 1.单例模式没有抽象层,单例模式的扩展较困那(开闭原则) 2.单例类的职责过重,既提供了业务方法,又提供了创建对象的方法,将对象的创建和对象本身的功能耦合在一起(违反单一职责原则,但是似乎又无 ...
- mysql优化方法积累
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- Spring------SpringBoot中注解
转载: http://www.tuicool.com/articles/bQnMra
- Mysql综合案例
Mysql综合案例 考核要点:创建数据表.单表查询.多表查询 已知,有一个学生表student和一个分数表score,请按要求对这两个表进行操作.student表和score分数表的表结构分别如表1- ...