概述
Oracle GoldenGate,是由Oracle官方提供的用于解决异构数据环境中数据复制的一个商业工具。相比于其它迁移工具OGG的优势在于可以直接解析源端Oracle的redo log,因此能够实现在不需要对原表结构做太多调整的前提下完成数据实现同步,甚至可以将数据变化 实时抽取并推送到kafka等消息中间件。
本篇文章主要介绍如何使用OGG实现Oracle到MySQL数据的传输。
OGG逻辑架构
在OGG使用过程中主要涉及以下进程及文件:
Manager进程:需要源端跟目标端同时运行,主要作用是监控管理其它进程。
Extract进程:运行在源端,主要是捕获数据的变化,负责全量、增量数据的抽取。
Trails文件:临时存放在磁盘上的数据文件。
Data Pump进程:运行在数据库源端,属于Extract进程的一个辅助进程。
Collector进程:接收源端传输过来的数据变化,并写入本地Trail文件中。
Replicat进程:读取Trail文件中记录的数据变化,创建对应的DML语句并在目标端回放。
安装部署
oracle源端安装配置ogg
1)安装ogg
安装ogg
unzip 123014_fbo_ggs_Linux_x64_shiphome.zip -d /data/ogg
export DISPLAY=192.168.37.4:0.0 调取图形化界面
cd /data/ogg/fbo_ggs_Linux_x64_shiphome/Disk1/
./runInstaller
配置环境变量
export OGG_HOME=/data/ogg/12.3
export PATH=$PATH:$OGG_HOME
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$ORACLE_HOME/rdbms/lib:$OGG_HOME
2)创建对应ogg用户及权限
创建ogg用户并授权:
create user ogg identified by "ogg123";
create tablespace ogg datafile '+data' size 1g autoextend off;
alter user ogg default tablespace ogg;
@sequence.sql
alter system archive log current;
赋权:
grant connect,resource,unlimited tablespace to ogg;
grant execute on utl_file to