数据库系统的数据闪回方法、存储介质及设备技术方案

技术编号:38470237 阅读:20 留言:0更新日期:2023-08-11 14:47
本发明专利技术提供了一种数据库系统的数据闪回方法、存储介质及设备。数据库系统的数据闪回方法包括:确定数据库闪回请求针对的目标数据库;获取数据库闪回请求中的目标闪回时刻;获取目标数据库的基线数据,基线数据为目标数据库位于目标闪回时刻之前的某一时刻的目标数库的数据信息;筛选出基线数据对应的时刻与目标闪回时刻之间的目标数据库的重做日志;根据基线数据和目标数据库的重做日志生成目标闪回时刻对应的目标数据库。使用数据库系统的重做日志实现了目标数据库的闪回处理,不需要额外在数据库系统配置撤销日志,有助于减小数据库系统存储空间的占用,减小了额外的系统开销。销。销。

【技术实现步骤摘要】
数据库系统的数据闪回方法、存储介质及设备


[0001]本专利技术涉及数据库
,特别是涉及一种数据库系统的数据闪回方法、存储介质及设备。

技术介绍

[0002]在数据库系统的使用过程中,当用户对数据库的操作出现逻辑错误时,比如误删数据、错误更新等,需要对出错的数据库进行闪回处理。闪回处理就是将数据库恢复到一个特定时间点,上述特定时间点的时刻在数据库出错之前,从而将数据库闪回至未出错的状态。
[0003]目前,数据库级别的闪回往往依赖于数据库的undo日志(撤销日志)。具体为在当前的数据库数据的基础上,回滚undo日志中的逻辑操作,直到到达用户期待的闪回时刻。但是,对于数据库系统来说,一般只配置有redo日志(重做日志),undo日志需要额外配置,不仅增加了额外的存储占用,同时,在数据变化时由于需要生成undo日志而带来了额外的输入输出开销。

技术实现思路

[0004]本专利技术的一个目的是要提供一种能够解决上述任一问题的数据库系统的数据闪回方法、存储介质及设备。
[0005]本专利技术一个进一步的目的是要提升数据库闪回的效率。
[0006]特别地,本专利技术提供了一种数据库系统的数据闪回方法,包括:
[0007]确定数据库闪回请求针对的目标数据库;
[0008]获取数据库闪回请求中的目标闪回时刻;
[0009]获取目标数据库的基线数据,基线数据为目标数据库位于目标闪回时刻之前的某一时刻的目标数库的数据信息;
[0010]筛选出基线数据对应的时刻与目标闪回时刻之间的目标数据库的重做日志;
[0011]根据基线数据和目标数据库的重做日志生成目标闪回时刻对应的目标数据库。
[0012]可选地,获取目标数据库的基线数据的步骤包括:
[0013]判断是否存在备份时刻在目标闪回时刻之前的目标数据库的备份数据库,若是,从备份数据库中确定基线数据,备份数据库为目标数据库在运行过程中按照预设时间间隔备份形成;若否,根据目标数据库的类型获取目标数据库的基线数据。
[0014]可选地,从备份数据库中确定基线数据的步骤包括:
[0015]选取备份时刻紧邻目标闪回时刻的备份数据库,作为基线数据。
[0016]可选地,根据目标数据库的类型获取目标数据库的基线数据的步骤包括:
[0017]若目标数据库由空库形成,获取数据库系统中的原始模板库作为基线数据。
[0018]可选地,根据目标数据库的类型获取目标数据库的基线数据的步骤包括:
[0019]若目标数据库由模板库形成,获取目标数据库创建时预先拷贝出的目标数据库的
复制库作为基线数据。
[0020]可选地,筛选出基线数据对应的时刻与目标闪回时刻之间的目标数据库的重做日志的步骤之前包括:
[0021]在不存在备份时刻在目标闪回时刻之前的目标数据库的备份数据库的情况下,根据预先配置的系统记录表查找目标数据库的建库操作对应的日志序列号,其中,目标数据库的建库操作对应的日志序列号与目标数据库的对应关系在目标数据库创建时写入系统记录表。
[0022]可选地,筛选出基线数据对应的时刻与目标闪回时刻之间的目标数据库的重做日志的步骤包括:
[0023]遍历基线数据对应的时刻与目标闪回时刻之间的数据库系统的重做日志;
[0024]检测数据库系统的重做日志是否含有目标数据库的标识;
[0025]若含有目标数据库的标识,将数据库系统的重做日志记入目标数据库的重做日志。
[0026]可选地,根据基线数据和重做日志生成目标闪回时刻对应的目标数据库的步骤包括:
[0027]拷贝基线数据以形成基础数据库;
[0028]在基础数据库重新执行目标数据库的做日志以形成目标闪回时刻对应的目标数据库。
[0029]根据本专利技术的另一个方面,还提供了一种机器可读存储介质,其上存储有机器可执行程序,机器可执行程序被处理器执行时实现根据上述任一项所述的数据库系统的数据闪回方法。
[0030]根据本专利技术的又一个方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的机器可执行程序,并且处理器执行机器可执行程序时实现根据上述任一项所述的数据库系统的数据闪回方法。
[0031]本专利技术的数据库系统的数据闪回方法通过获取目标数据库的基线数据,获取基线数据对应的时刻与目标闪回时刻之间的目标数据库的重做日志,并根据基线数据和目标数据库的重做日志生成目标闪回时刻对应的目标数据库。也就是说,使用数据库系统的重做日志实现了目标数据库的闪回处理。因此,在实现数据库的闪回处理的基础上,不需要额外在数据库系统配置撤销日志,有助于减小数据库系统存储空间的占用。同时,在数据库发生数据变化时,也无需生成撤销日志,从而减小了额外的系统开销,有利于提高数据库系统的运行性能。
[0032]进一步地,本专利技术的数据库系统的数据闪回方法通过使目标数据库在运行过程中按照预设时间间隔备份形成备份数据库,在获取基线数据的过程中判断是否存在备份时刻在目标闪回时刻之前的目标数据库的备份数据库,如果存在符合要求的备份数据库,从目标数据库的备份数据库中确定基线数据。也就是说,在存在符合要求的备份数据库的情况下,可以在备份数据库的基础上进行重做直至达到目标闪回时刻的目标数据库状态。因为备份数据库的形成时间相比于目标数据库的创建时间来说更接近目标闪回时刻,所以,利用符合要求的备份数据库作为基线数据,使得应用更少的重做日志就可以达到目标闪回时刻对应的目标数据库的状态,从而有助于提升数据库闪回的效率。
[0033]根据下文结合附图对本专利技术具体实施例的详细描述,本领域技术人员将会更加明了本专利技术的上述以及其他目的、优点和特征。
附图说明
[0034]后文将参照附图以示例性而非限制性的方式详细描述本专利技术的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
[0035]图1是根据本专利技术一个实施例的数据库系统的数据闪回方法的示意性流程图;
[0036]图2是根据本专利技术一个实施例的数据库系统的数据闪回方法中筛选目标数据库的重做日志步骤的示意性流程图;
[0037]图3是根据本专利技术另一个实施例的数据库系统的数据闪回方法的示意性流程图;
[0038]图4是根据本专利技术又一个实施例的数据库系统的数据闪回方法的示意性流程图;
[0039]图5是根据本专利技术一个实施例的机器可读存储介质的示意图;
[0040]图6是根据本专利技术一个实施例的计算机设备的示意图。
具体实施方式
[0041]本领域技术人员应当理解的是,下文所描述的实施例仅仅是本专利技术的一部分实施例,而不是本专利技术的全部实施例,该一部分实施例旨在用于解释本专利技术的技术原理,并非用于限制本专利技术的保护范围。基于本专利技术提供的实施例,本领域普通技术人员在没有付出创造性劳动的情况下所获得的其它所有实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库系统的数据闪回方法,包括:确定数据库闪回请求针对的目标数据库;获取所述数据库闪回请求中的目标闪回时刻;获取所述目标数据库的基线数据,所述基线数据为所述目标数据库位于所述目标闪回时刻之前的某一时刻的所述目标数库的数据信息;筛选出所述基线数据对应的时刻与所述目标闪回时刻之间的所述目标数据库的重做日志;根据所述基线数据和所述目标数据库的重做日志生成所述目标闪回时刻对应的目标数据库。2.根据权利要求1所述的数据库系统的数据闪回方法,其中,所述获取所述目标数据库的基线数据的步骤包括:判断是否存在备份时刻在所述目标闪回时刻之前的所述目标数据库的备份数据库,若是,从所述备份数据库中确定所述基线数据,所述备份数据库为所述目标数据库在运行过程中按照预设时间间隔备份形成;若否,根据所述目标数据库的类型获取所述目标数据库的基线数据。3.根据权利要求2所述的数据库系统的数据闪回方法,其中,所述从所述备份数据库中确定所述基线数据的步骤包括:选取备份时刻紧邻所述目标闪回时刻的备份数据库,作为所述基线数据。4.根据权利要求2所述的数据库系统的数据闪回方法,其中,所述根据所述目标数据库的类型获取所述目标数据库的基线数据的步骤包括:若所述目标数据库由空库形成,获取数据库系统中的原始模板库作为所述基线数据。5.根据权利要求2所述的数据库系统的数据闪回方法,其中,所述根据所述目标数据库的类型获取所述目标数据库的基线数据的步骤包括:若所述目标数据库由模板库形成,获取所述目标数据库创建时预先拷贝出的所述目标数据库的复制库作为所述基线数据。6.根据权利要求2所述的数据库系...

【专利技术属性】
技术研发人员:季业王建华
申请(专利权)人:北京人大金仓信息技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1