golden gate的DDL配置
DDL复制的配置
- 目前只支持oracle和teradata的ddl复制
- oracle能复制除了系统对象之外的所有对象
- 两种配置方法:
- 基于trigger的DDL:对于生产库有一定影响。
- 原理:
- 源库建立一个oracle全库级别的trigger捕捉DDL操作到中间表。
- extract读取中间表的DDL语句并且与DML语句根据csn排序。
- 目标端重现该DDL操作sql语句。
- 特点:
- DDL和DML复制原理不同:
- DDL复制基于Trigger,DML复制基于日志,两者复制机理不同,它们之间的数据捕捉是没有联系的,只是在主extract进程中通过scn号按照发生的顺序进行组装,保证DDL操作和DML操作按照其原来的顺序执行。
- DDL和DML复制互相独立:DDL的复制Trigger建立之后,无论DML复制是否运行,该Trigger一直在发生作用,捕捉DDL的sql语句到中间表。因此,DML复制的启停并不影响DDL的捕获;DDL Trigger的启用和停止并不影响DML的复制,只是该Trigger被禁止后不再抓取DDL操作;DDL和DML之间除了在extract组装时靠scn排序产生次序关系,没有其它任何联系。
- DDL复制只是简单的sql复制。抓取sql扔到目标端重新执行一遍而已。
- 打开DDL复制能够自动创建每次补丁新建和修改的对象,并自动维护对于的附加日志,无需人工介入,减少人工工作量。
- 使用原则:
- 两端必须是oracle数据库:不支持standby db的ddl抽取。
- 支持双向复制DDL (只是支持2个节点)
- 两端表结构保持一致;(replicat:ASSUMETARGETDEFS)
- 不支持DDL transform(map和filter支持)
- DDL语句小于2M大小;
- pump进程不负责任任何map和filter,使用passthru
- 数据库每天的日子量不宜过大:100g以下;过大会影响性能。
- 应用系统在数据库中不能有频繁的DDL操作,在erp系统里面,如频繁建立中间表等操作,这个时候性能也被极大影响。
- 默认:
- 默认情况下:extract是关闭DDL的,而data pump进程和replicat默认是打开的。所以只需要在extract进程中配置DDL复制就可以了。但是建议在replicat中配置DDL相关属性;
- replicat进程默认是所有DDL都做复制,如果有多个replicat进程在跑,那必须在每个replicat进行配置,否则会引起重复复制。
- goldengate用户和oracle数据库自带的用户的DDL操作不会被复制。
- 当开启full ddl(all scope)支持时,不需要在参数文件中使用gettruncates参数。
- DDL复制范围界定:
- ALL:表示复制所有的DDL操作,所有源库产生的ddl都会被放到队列当中。
- MAPPED:表示只复制在后面所有table参数指定的表,所相关联的对象,如索引,列的变化等,如果要复制新建的表,那么这些表必须显示列在table语句里,或者符合table中使用匹配的条件。
- unmapped:表示只复制不在table范围内的表的相关的DDL。
- Other:该范围表示无关的DDL操作:例如对数据库本身,用户,表空间,数据文件的操作。一般实际中不使用。
- OPTYPE:操作类型:比如:create,alter
- OBJTYPE:对象范围:如table或index
- OBJNAME:对象名:
- INSTR:关键字的范围
- 实际例子
DDL &
INCLUDE MAPPED OBJTYPE 'table' & --$符号是转行符号,可以降低出错率。
INCLUDE MAPPED OBJTYPE 'index'
ddloptions addtrandata, nocrossrename
table abc.* --为了降低出错率,建议只复制map范围内的表和索引等主要对象;
--如果要复制新建表,该表必须在后面table指定范围内(一般用×)
--trandata:自动更新附加日志,也可以用add schematrandata
DDL [{INCLUDE | EXCLUDE}]
[, MAPPED | UNMAPPED | OTHER | ALL]
[, OPTYPE <type>]
[, OBJNAME "<name>" ]
[, INSTR '<string>' ] - 基于trigger的几个小问题:
- 数据库(源库)如果是10g,一定需要关闭recycle bin。避免隐形的ddl的抽取,可能会出现两次的操作,11g以后不需要,原理改变。
- goldengate需要独立的表空间:不能共享。
- 执行ddl_setup.sql之前,需要明确授权:create table, create sequence,即使有DBA权限也不行。
- 大致步骤:marker_setup -- DDL setup -- role setup -- enable DDL trigger
- 几个特例说明:
- 和目标数据库一致性有关的测试:
- create job不支持
- create trigger是可以复制的,且enable状态,所以必须手工设置为disable或者replicat参数;
- create tablespace是可以复制的,可以支持复制到不同文件目录;
- CTAS语句的复制:最终结果按照本地的数据来(如:create table xx as select * from dba_objects;)
- rename t1 to t2 会被转换成alter table t1 rename to t2 (view report rep1)
- flashback table to scn ---可以支持复制
- flashback table to before drop --不支持复制
- 和目标数据库一致性有关的测试:
- 原理:
- Native DLL(通过logminer server进行日志解析 – ogg12c + integrated extract +db11204及以上):从日志里面进行解析。
- 版本要求:OGG12c, db11204,以上;compatible设置11.2.0.4或以上;downstream模式下,sourcedb也要满足以上要求。
- 集成抽取模式
- 参数不变
- 基于trigger的DDL:对于生产库有一定影响。
12c复制的新特性
truncate复制
sequence复制的配置
压缩配置
加密配置
TDE透明技术加密的列的抽取
golden gate的DDL配置的更多相关文章
- Oracle Golden Gate - 概念和机制 (ogg)
Golden Gate(简称OGG)提供异构环境下交易数据的实时捕捉.变换.投递. OGG支持的异构环境有: OGG的特性: 对生产系统影响小:实时读取交易日志,以低资源占用实现大交易量数据实时复制 ...
- 转://Oracle Golden Gate 概念和原理
引言:Oracle Golden Gate是Oracle旗下一款支持异构平台之间高级复制技术,是Oracle力推一种HA高可用产品,简称“OGG”,可以实现Active-Active 双业务中心架构 ...
- [转载]Oracle Golden Gate - 概念和机制 (ogg)
出处:https://www.cnblogs.com/qiumingcheng/p/5435907.html Golden Gate(简称OGG)提供异构环境下交易数据的实时捕捉.变换.投递. OGG ...
- Oracle Golden Gate原理简介
Oracle Golden Gate原理简介 http://www.askoracle.org/oracle/HighAvailability/20140109953.html#6545406-tsi ...
- Oracle Golden Gate概要
Oracle GoldenGate简介 Oracle Golden Gate用于源数据库与目标数据库的数据复制备份:可以在异构的环境(各种操作系统和数据库)之间实现数据亚秒级的实时复制备份:以及可以在 ...
- Golden Gate 相关组件介绍:
OGG组件: Manager: 启动其它进程 Collector Extract Data Pump:可选进程,建议使用 Replicat Trails: 可以压缩,加密 Checkpoint OGG ...
- Sybase to Oracle Golden Gate
Sybase 安装Golden Gate: 下载,然后create subdirs.并且在两端配置好mgr,设置好端口7809 创建golden gate用户ogguser,并且给它授权sa和repl ...
- golden gate 加initial load 在rac 上的配置
前言goldengate 11g 在oracle 11g rac 上的配置 (源是rac+asm , 目标是单数据库实例) 源端: 1. 配置tnsnames [oracle@rac1 admin]$ ...
- Oracle Golden Gate基本配置
>> from zhuhaiqing.info [oracle@localhost ogg]$ cat ~/.bash_profile GG_HOME=/opt/oggPATH=$PATH ...
随机推荐
- TOF相机基本知识
TOF是Time of flight的简写,直译为飞行时间的意思.所谓飞行时间法3D成像,是通过给目标连续发送光脉冲,然后利用传感器接收从物体返回的光,通过探测光脉冲的飞行时间来得到目标物的距离.TO ...
- Swift 中实现 Promise 模式
在异步编程中,除了竟态处理.资源利用以外,另外一个难点就是流程管理.在拥有匿名函数.闭包这些特性的编程语言中,我们通常可以使用回调函数来做一个异步任务完成或失败时的处理.但当我们的业务逻辑逐渐复杂时, ...
- CorelDRAW X8官方正版特惠下载
CorelDRAW X8自发布以来,价格居高不下,这也使一众忠粉望而却步,之前看过CorelDRAW做活动,都是X6\X7这些比较早的版本,比较新的版本也没做什么优惠,不过还好看了一下,CorelDR ...
- 【转】Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之ORACLE集群概念和原理(二)
阅读目录 目录 Oracle集群概念和原理 RAC概述 RAC 集成集群件管理 RAC 的体系结构 RAC 的结构组成和机制 RAC 后台进程 RAC 共享存储 RAC 数据库和单实例数据库的区别 ...
- 利用vue-gird-layout 制作可定制桌面 (二)
添加资源池 根据项目需求 添加, 实例两个数据 { "mainData": [ { "x": 0, "y": 0, "w" ...
- 一步步理解linux字符设备驱动框架(转)
/* *本文版权归于凌阳教育.如转载请注明 *原作者和原文链接 http://blog.csdn.net/edudriver/article/details/18354313* *特此说明并保留对其追 ...
- JavaScript中的XMLDOM对象
测试: demo.xml中的内容: js文件内容: window.onload=function(){ //var v=returnXMLDOM(); //v.loadXML('<root> ...
- 利用LoadRunner来进行文件下载的测试
小强创立的“三级火箭”学习方式 1.参加培训班,即报名缴纳学费后,拉入专属QQ群,由老师亲自上课进行讲解,课后仍提供视频 性能测试培训班招生中,报名与咨询QQ:2083503238 python自动化 ...
- 从MySQL临时表谈到filesort
内部临时表的类型和产生时机相关,翻译自:http://dev.mysql.com/doc/refman/5.6/en/internal-temporary-tables.html In some ca ...
- bat执行bat文件
目的:在服务器桌面创建一个bat文件执行tomcat下的startup.bat文件,这样就不用每次都去文件夹下找startup.bat文件 桌面bat文件内容: @echo off start D:\ ...