OGG工作原理

来源:这里教程网 时间:2026-03-03 23:31:10 作者:

一.GoldenGate介绍 OGG 是一种基于日志的结构化数据复制软件 OGG 能够实现大量交易数据的实时捕捉,变换和投递,实现源数据库与目标数据库的数据同步,保持最少10ms的数据延迟 二.工作原理 三.相关组件 1.Manager 负责OGG 整体的监控和管理 (1).Trail文件的生成和删除 (2).定期监控进程,负责进程的启动/停止 2.Extract(Capture) (1).从redo 或 archive log获得DB变更信息,取得主键或唯一键的变更前后的值 (2).以一定间隔读取REDO日志,获取变更信息 参数EOFDELAY or EOFDELAYCSECS 设置。 默认1s,最小10ms (3).当满足下列条件时,输出到本地或远程Trail文件 - Extract的缓冲区写满 - 设置参数FLUSHSECS or FLUSHCSECS来指定间隔。 默认1s,最小10ms 3.Extract(Pump) 将本地的Trail队列发送至目标端Collector 发送间隔,满足以下任一条件: (1).缓存写满时 Pump的RMHOST参数(TCPBUFSIZE选项),可指定缓存尺寸,默认30000bytes (2).参数指定 FLUSHSECS or FLUSHCSECS. 默认1s,最小10ms 4.Collector 从Extract pump向Collector发送,输出至Trail文件 5.Replicat 从Trail文件生成SQL语句在目标DB执行。 四.初始数据同步 1.利用数据库功能 RMAN,expdp/impdp 2.利用OGG功能 设置初始化属性的捕获和复制进程。建议小数据库使用。 3.初始化注意事项(1).源端打开最小附加日志,并且没有nologging的表(2).禁用目标端的外键约束,触发器,JOB(3).源端有主键和唯一索引(4).删除除主键之外的所有索引,提高效率。(5).目标端数据库取消归档模式(6).利用map参数按表大小开启多个同步进程 五.限制 1.未支持的数据类型 ANYDATA,BFILE,TIMEZONE_ABBR,URITYPE,ANYDATASET,BINARY_INTEGER,TIMEZONE_REGION,UROWID,ANYTYPE,MLSLABEL,PLS_INTEGER 2.DML未支持的对象 压缩表,外部表,REF,别名,不输出日志的DML 3.未支持的DDL 对系统表/系统视图的DDL 使用Recycle Bin 4.不支持的对象名 以下字符和中文不可用于对象名: &    *    ?    :    ;    ,    .    空格 5.字符集 目标DB的字符集必须是源DB字符集的超集 6.其他 (1).sequence 双向复制时不能使用sequence,单向使用sequence的cache时,源和目标不同步 (2)目标DB需要删除Trigger

相关推荐