最近做了一次使用OGG工具将Oracle数据同步到MySQL的实验,中间掺杂了mycat的简单使用,在这里将整个过程进行简单的回顾和梳理。
实验环境:
实验目标:
将A服务器上的Oracle数据通过OGG同步到C库上的MySQL库。但由于C服务器不能直接访问,需要通过B服务器的Mycat代理层访问。所以最终实现需要在A和B上面搭建OGG同步,并在B上面把数据分发到C上。
实验核心问题:
1、涉及到Oracle到MySQL的异构库同步,需要构建库表之间的关系映射
2、因为OGG不是直连目标库,涉及到通过代理层分发目标数据的问题
3、涉及到mycat工具,需要针对mycat进行必要的配置
实验过程:
一、环境搭建
Oracle、MySQL和Mycat的搭建不在本次实验的重点范围,这里不再赘述。
1.1、A上的OGG环境搭建
(1)上传OGG介质到A服务器并解压
cd /app/ogg/ogg_home
unzip 122022_ggs_Linux_x64_MySQL_64bit.zip
(2)采用静默安装方式安装OGG
cd fbo_ggs_Linux_x64_shiphome/Disk1/response/
修改配置文件
cp oggcore.rsp oggcore.rspbak
vi oggcore.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_ogginstall_response_schema_v12_1_2
#不要修改这个值!!
INSTALL_OPTION=ORA11g
#根据系统是12c还是11g选择ORA12c或者ORA11g
SOFTWARE_LOCATION=/app/ogg/ogg_home
#写上goldengate的安装目录
START_MANAGER=false
#是否在配置完成后自动启动mgr进程,是就选true,否就选false
MANAGER_PORT=
#在start_manager为true时添加,选择mgr启动端口号
DATABASE_LOCATION=
#在start_manager为true时添加,写上$ORACLE_HOME的值
INVENTORY_LOCATION=
#指定inventory目录的位置,在使用windows操作系统时是一个可选参数。这里由于安装过Oracle所以不需填写
UNIX_GROUP_NAME=
#指定一个组,windows系统时不需要写,这里由于安装过Oracle所以不需填写
开始静默安装
./runInstaller -silent -responseFile /app/ogg/ogg_home/fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp
安装完成后,安装命令执行页面会输出以下内容:
The installation of Oracle GoldenGate Core was successful.
Please check '/oracle/app/oraInventory/logs/silentInstall2016-07-08_11-26-16AM.log' for more details.
Successfully Setup Software.
(3)配置ogg子目录
./ggsci
GGSCI (A) > create subdirs
Creating subdirectories under current directory /app/ogg/ogg_home
Parameter files /app/ogg/ogg_home/dirprm: created
Report files /app/ogg/ogg_home/dirrpt: created
Checkpoint files /app/ogg/ogg_home/dirchk: created
Process status fil