OGG是Oracle GoldenGate的简写,GoldenGate是一种基于日志的结构化数据复制软件,它支持在Oracle数据库和其他受支持的异构数据库之间复制数据。主要用途:数据迁移(将数据从Oracle迁移到非Oracle数据库,或从非Oracle数据库迁移到Oracle数据库,不管是传到哪都是用重做,比如nosql, c++,jave)
Oracle GoldenGate 数据复制过程如下:
利用抽取进程(Extract Process)在源端数据库中读取Online Redo Log或者Archive Log,然后进行解析,只提取其中数据的变化信息,比如DML操作——增、删、改操作,将抽取的信息转换为GoldenGate自定义的中间格式存放在队列文件(trail file)中。再利用传输进程将队列文件(trail file)通过TCP/IP传送到目标系统。
目标端有一个进程叫Server Collector,这个进程接受了从源端传输过来的数据变化信息,把信息缓存到GoldenGate 队列文件(trail file)当中,等待目标端的复制进程读取数据。
GoldenGate 复制进程(replicat process)从队列文件(trail file)中读取数据变化信息,并创建对应的SQL语句,通过数据库的本地接口执行,提交到目标端数据库,提交成功后更新自己的检查点,记录已经完成复制的位置,数据的复制过程最终完成。
GG的搭建过程
初始化加载(传输历史数据)
源端配置
目标端配置
在源端启动管理进程和抽取进程
在目标端启动管理进程和复制进程