使用场景:局域网环境下,多个服务器单机运行,每个服务器数据库一致,现在需要将多个mysql数据库实时备份到一个oracle数据库,这个库为归档库
注意点:
1.实时性要高,mysql产生的数据在10分钟内能同步到oracle;
2.完整性,不能存在数据丢失情况;
3.最好能监控同步情况,形成文档或图表报告,是不是mysql新增的数据都同步到oracle了,同步了多少等?
4.能屏蔽掉delete操作,归档库是保留一切数据,不允许删除操作
目前已经尝试方案有两种:
1.使用mysql触发器对需要传输部分数据做标记,保存到标记表,对外开放webservice接口,oracle服务器上部署调度任务定时调用接口查询是否有需要上传的数据,传输成功,保存到本地,删除mysql标记表记录。效率和完整性太差
2.使用阿里开源的otter,部署node节点,注册中心zokeeper。效率更得上,但是有数据丢失情况,不清楚问题原因。
想问的是出了otter之外,还有三方开源的成熟的工具吗?系统环境是windows server03和08
Oracle Golden Gate
目前已经采用这种方式进行数据同步,实现mysql到oracel间的数据汇总;还有另外的方式,使用阿里云数据库cancel数据同步软件,不过需要自己有一定的开发工作,但有一个优点能实现数据订阅,当其他项目有需要时。