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