[发明专利]一种oracle数据库增量数据采集实现方法在审
申请号: | 202011162881.9 | 申请日: | 2020-10-27 |
公开(公告)号: | CN112181992A | 公开(公告)日: | 2021-01-05 |
发明(设计)人: | 李建伟;肖雪;方建勋;李朝铭 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/27;G06F9/48 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 郗艳荣 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 oracle 数据库 增量 数据 采集 实现 方法 | ||
本发明特别涉及一种oracle数据库增量数据采集实现方法。该oracle数据库增量数据采集实现方法,首先开启Oracle数据库的归档日志功能,并保证oracle数据库中的归档日志文件在被采集前不能删除;然后从oracle数据库中提取数据库表的Redo日志进行字段解析,通过分析Redo日志有效跟踪Oracle数据库表的增量变化;若对Redo日志的字段解析出错,则反查源数据库进行容错,从而实现可靠的Oracle数据库增量数据采集。该oracle数据库增量数据采集实现方法,利用归档日志提取Redo日志,并基于词法语法解析转化为结构化数据,解析失败后反查源库进行容错,从而实现了增量数据的可靠快速采集。
技术领域
本发明涉及数据库增量数据采集技术领域,特别涉及一种oracle数据库增量数据采集实现方法。
背景技术
随着信息技术的快速发展,各行各业都进入了信息化时代。作为信息的重要组成部分,数据也显得越来越重要。数据的复杂性、设备的不稳定性、人为误操作、各种自然灾害等都容易造成数据的丢失、损坏,因此数据同步和备份显得极为重要。
基于上述情况,本发明提出了一种oracle数据库增量数据采集实现方法。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的oracle数据库增量数据采集实现方法。
本发明是通过如下技术方案实现的:
一种oracle数据库增量数据采集实现方法,其特征在于:首先开启Oracle数据库的归档日志功能,并保证oracle数据库中的归档日志文件在被采集前不能删除;然后从oracle数据库中提取数据库表的Redo日志进行字段解析,通过分析Redo日志有效跟踪Oracle数据库表的增量变化;若对Redo日志的字段解析出错,则反查源数据库进行容错,从而实现可靠的Oracle数据库增量数据采集。
若某个数据库表包含不支持提取Redo日志的列,则通过容错处理对源数据库进行反查,将对源库造成一定压力。
基于Oracle数据库归档日志提取Redo日志,再通过使用开源的词法分析工具Lex(Flex)和语法分析工具Yacc(Bison)进行词法语法解析获得结构化数据;若解析失败则通过反查源数据库进行容错,从而实现快速、可靠的Oracle数据库增量数据采集的方法。
利用调度程序维护归档日志列表,并按日志顺序进行调度处理,采用Oracle数据库自带的归档日志提取工具Logminer提取Redo日志。
该oracle数据库增量数据采集实现方法,包括以下步骤:
第一步,调度程序通过视图查询日志文件列表,启动处理日志文件流程;
第二步,Oracle数据库自带的归档日志提取工具Logminer对要处理的日志文件进行提取,返回表名、rowid、增删改类型和Redo日志;
如果数据库表中不可提取Redo日志(数据库表中的列存在如空间数据类型这类不支持提取redo日志的类型),则跳转步骤第五步;
第三步,通过使用开源的词法分析工具Lex和语法分析工具Yacc对Redo日志进行增加、删除和/或修改操作的词法语法解析,提取日志里的字段值;
第四步,字段值检查
如果字段值不是函数类型,则不需要转化处理;
如果字段值是已知内置函数类型表示的值,则进行转化处理,完成该条增量操作信息的采集;
如果字段值是未知函数类型,则跳转第五步;
第五步,容错
根据rowid、表名反查源数据库提取字段信息,完成该条增量操作采集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011162881.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种运算跨导放大器
- 下一篇:一种电动汽车高压蓄能器焊接装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置