ogg下载地址:http://www.oracle.com/technetwork/cn/middleware/goldengate/downloads/index.html![ed2b89d87399f8ccecb090e146e27bfd.png](https://i-blog.csdnimg.cn/blog_migrate/0b61f9a67fdaa25d1fae935a7f4e66f8.png)
OGG逻辑架构
![95081487784f50a1a8b8d00aeb6e54f0.png](https://i-blog.csdnimg.cn/blog_migrate/e92686f65d9e294444a5fb3bbab32f14.png)
在OGG使用过程中主要涉及以下进程及文件:
Manager进程:需要源端跟目标端同时运行,主要作用是监控管理其它进程。
Extract进程:运行在源端,主要是捕获数据的变化,负责全量、增量数据的抽取。
Trails文件:临时存放在磁盘上的数据文件。
Data Pump进程:运行在数据库源端,属于Extract进程的一个辅助进程。
Collector进程:接收源端传输过来的数据变化,并写入本地Trail文件中。
Replicat进程:读取Trail文件中记录的数据变化,创建对应的DML语句并在目标端回放。
部 署oracle源端安装配置ogg
安装ogg
创建对应ogg用户及权限
配置ogg
a、进入ogg控制台,创建ogg工作目录b、增加表级附加日志
c、配置管理进程mgr
d、配置抽取进程
e、配置传输进程
mysql目标端安装配置ogg
安装ogg
创建对应ogg用户及权限
配置ogg
a、进入ogg控制台,创建ogg工作目录
b、配置管理进程mgr
c、配置ogg参数
d、配置复制进程
ogg日常维护命令
参数说明
![204fcb3b64998ee11b2302f3176475b6.png](https://i-blog.csdnimg.cn/blog_migrate/083585a7a5255d78a22fc9b1ee571bfd.png)
总 结
A.目标端mysql初始化数据,oracle和mysql是两个不同的数据库,在初始化的时候就会遇到很多问题:比如,oracle数据库是区分大小写的,但是mysql数据库通常是配置不区分大小写的;
oracle数据库支持number、varchar2类型,但导入时需转换成varchar、decimal类型;
所以需先对数据进行过滤,避免出现主键冲突或数据类型不支持的情况。
后面ogg配置部署完成后,可通过修改目标端ogg的复制进程参数,直接指定进程从哪个SCN号同步数据; B.在配置ogg时,配置的日志等路径,建议配置成相对路径,方便以后可以快速迁移ogg;C.oracle到mysql的ogg属于异构的ogg,因此需要借助defgen命令生成的映射文件, 也就是两个表的映射关系,并把文件传到目标端相应位置下,才能完成数据库同步。因此需要注意字符集问题, 源端和目标端配置的字符集需一致,
否则可能会导致同步失败。
![70acdb8ded1ead7d1a18d05f58a8a9eb.png](https://i-blog.csdnimg.cn/blog_migrate/dafe35d5dd019b85659809b5a87d162a.png)
上述对ogg实现oracle到mysql的数据同步,只是一个初步的理解,对部署搭建ogg还有不熟的地方,希望大家可以多多提提意见。
本期作者![1e1d8735a454c9b8fe0ba5c606742e18.png](https://i-blog.csdnimg.cn/blog_migrate/f05410038455064ebacd9f0fa2a2067c.jpeg)
本期作者 | April:新炬DBA运维工程师,主要方向是Mysql数据库,拥有3年以上的数据库运维及性能优化经验,目前正在拓展sql优化等方面的技能。