[发明专利]一种基于redolog的Oracle数据实时同步方法在审
申请号: | 201810438194.1 | 申请日: | 2018-05-09 |
公开(公告)号: | CN108614892A | 公开(公告)日: | 2018-10-02 |
发明(设计)人: | 刘福才;胡清;肖雪;王建华 | 申请(专利权)人: | 浪潮软件集团有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 刘继枝 |
地址: | 250100 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实时同步 存储系统 软件开发 适用场景 数据同步 数据增加 同步操作 侵入性 轮询 删除 数据库 分析 | ||
本发明公开了一种基于redolog的Oracle数据实时同步方法,该方法是基于Oracle的redolog文件,并轮询redolog,通过redolog分析轮训内数据库的操作,实现数据同步,并将数据在其他存储系统完成同步操作。本发明的一种基于redolog的Oracle数据实时同步方法和现有技术相比,该方法基于Oracle自身的redolog文件,对Oracle无侵入性,该方法技术简单易于实现,对数据质量无要求,具有广泛的适用场景,能够实现数据实时同步功能,支持数据增加、删除、修改等操作,软件开发人员可快速实现Oracle数据实时同步功能。
技术领域
本发明涉及Oracle数据库技术领域,具体地说是一种基于redolog的Oracle数据实时同步方法。
背景技术
传统的数据同步工具,如Sqoop、Kattle、DataX等,均采用JDBC方式采集数据。JDBC方式简单、易上手,但这些产品都对数据质量有一定要求,无法采集一些数据质量较差的Oracle数据,如存在大量重复数据、缺少主键和索引、所有列都存在空值等情况。
发明内容
本发明的技术任务是提供一种基于redolog的Oracle数据实时同步方法。
本发明的技术任务是按以下方式实现的:
一种基于redolog的Oracle数据实时同步方法,该方法是基于Oracle的redolog文件,并轮询redolog,通过redolog分析轮训内数据库的操作,实现数据同步,并将数据在其他存储系统完成同步操作。
该方法的操作步骤如下:
步骤1)首先查看Oracle数据库当前的日志组状况,查看日志组数目、大小及存储路径,以满足功能和性能需求为目的调整Oracle redolog日志大小及分组;
步骤2)基于redolog实时同步Oracle数据,定时轮询redolog,通过日志分析本次轮询内数据库增加、删除、修改操作,实现数据同步;
步骤3)根据轮询结果,将数据在其他存储系统完成同步操作。
所述的步骤1)中通过SQL所示查看所述的日志组数目、大小及存储路径,包括:
若默认redolog较小,创建新的redolog组,通过SQL创建n个新redolog组,每个redolog组大小为m。
所述的创建新的redolog组后,通过SQL查询所有redolog组状态。
通过所述的SQL切换redolog,将redolog组1,2,3状态变为INACTIVE。
所述的切换redolog完成后,重新查询redolog组状态,当redolog组1,2,3为INACTIVE时,将原有较小的redolog组1,2,3删除。
所述的步骤2)中定时轮询redolog进行n次,第一次轮询时间点为当前系统时间t_1,第n次轮询时系统时间为t_n。
所述的第n次轮询操作步骤如下:
1)查询本次轮询需要查询的redolog文件路径;
2)构造分析脚本,将所有分析的redolog加入到所述的分析脚本中;
3)开始日志挖掘;
4)查询数据变化。
所述的查询数据变化,包括:查询Oracle用户USER的表名称为tName的表数据变化,可查询INSERT、UPDATE和DELETE全部操作或只查询其中一部分操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮软件集团有限公司,未经浪潮软件集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810438194.1/2.html,转载请声明来源钻瓜专利网。