OGG软件是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步。OGG可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,从而在可以在应急系统、在线报表、实时数据仓库供应、交易跟踪、数据同步、集中/分发、容灾等多个场景下应用。

OGG的数据集成技术实施主要含3进程(数据抽取进程、传输进程、应用进程),2个文件(源数据库、目标数据库)。

OGG的工作原理:利用捕捉进程在源系统端读取在线日志或归档日志,然后进行解析,只提取其中数据的变化如增、删、改操作,并将相关信息转换为自定义的中间格式存放在队列文件中,再利用传送进程将队列文件通过TCP/IP传送到目标系统。捕捉进程在每次读完log中的数据变化并在数据传送到目标系统后,会写检查点,记录当前完成捕捉的log位置,检查点的存在可以使捕捉进程在中止并恢复后可从检查点位置继续复制;目标系统接受数据变化并缓存到队列中,队列为一系列临时存储数据变化的文件,等待投递进程读取数据;应用进程从队列中读取数据变化并创建对应的SQL语句,通过数据库的本地接口执行,提交到数据库成功后更新自己的检查点,记录已经完成复制的位置。

1.出库、投递、入库(启动OGG进程)

2.数据库启动归档模式sqlplus/assysdbaarchiveloglist;

3.创建gg用户

4.Oracle配置增量日志:ALTERDATABASEADDSUPPLEMENTALLOGDATA;

ALTERSYSTEMSWITCHLOGFILE;

5.配置tnsnames.ora安装GG

6../ggsci:CREATESUBDIRS(创建子目录)

7.管理EDITPARAMS./GLOBALS

8.创建启动MANAGER创建checkpointtable

9.

1

进程状态(要求全部RUNNING)infoall

2

日志大小(要求小于1GB)ls-laggserr.log

3

磁盘空间(要求占用小于90%)df-k

4

复制延迟(要求小于5分钟):正常查看

5

日志信息(要求当日无警告)viewggserr.log

6

数据比对(要求两端记录条数完全一致)

10.数据比对在原端及目标端执行脚本生成比对文件diff进行比较。

11.专门的数据比对工具。

应用升级:

1.接受确认版本->2.编写确认版本->3.检查备份环境->4.停止OGG->5.执行脚本->6.执行版本1->7.启动OGG->执行版本2->8.确认升级

OGG性能问题:

根据调查和我的经验,IO压力大的原因就在于配置了过多的主Extract进程,大量主Extract进程对于数据库日志文件的读造成系统IO压力过大。可以通过对OGG的主Extract进程加大轮询日志间隔来降低IO占用:减少extract的数量在目标端增加入库进程。