GoldenGate介绍

OGG 是一种基于日志的结构化数据复制软件

OGG 能够实现大量交易数据的实时捕捉,变换和投递,实现源数据库与目标数据库的数据同步,保持最少10ms的数据延迟。


工作原理

ogg同步数据量大延迟高(详解OGG工作原理)(1)


相关组件

1.Manager

负责OGG 整体的监控和管理

(1).Trail文件的生成和删除

(2).定期监控进程,负责进程的启动/停止

2.Extract(Capture)

(1).从redo 或 archive log获得DB变更信息,取得主键或唯一键的变更前后的值

ogg同步数据量大延迟高(详解OGG工作原理)(2)

(2).以一定间隔读取REDO日志,获取变更信息

参数EOFDELAY or EOFDELAYCSECS 设置。 默认1s,最小10ms

(3).当满足下列条件时,输出到本地或远程Trail文件

- Extract的缓冲区写满

- 设置参数FLUSHSECS or FLUSHCSECS来指定间隔。 默认1s,最小10ms

ogg同步数据量大延迟高(详解OGG工作原理)(3)

3.Extract(Pump)

将本地的Trail队列发送至目标端Collector

发送间隔,满足以下任一条件:

(1).缓存写满时

Pump的RMHOST参数(TCPBUFSIZE选项),可指定缓存尺寸,默认30000bytes

(2).参数指定

FLUSHSECS or FLUSHCSECS. 默认1s,最小10ms

ogg同步数据量大延迟高(详解OGG工作原理)(4)

4.Collector

从Extract pump向Collector发送,输出至Trail文件

5.Replicat

从Trail文件生成SQL语句在目标DB执行。

ogg同步数据量大延迟高(详解OGG工作原理)(5)


初始数据同步

1.利用数据库功能

RMAN,expdp/impdp

2.利用OGG功能

设置初始化属性的捕获和复制进程。建议小数据库使用。


限制

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。


后面小编会分享更多关于运维方面的干货,感兴趣的朋友走一波关注哩~

ogg同步数据量大延迟高(详解OGG工作原理)(6)

,