一种还原数据库状态的方法

文档序号:9349828阅读:595来源:国知局
一种还原数据库状态的方法
【技术领域】
[0001]本发明属关系数据库安全、恢复领域,尤其涉及在数据库中应对人为误操作故障的恢复领域及快速恢复领域。
【背景技术】
[0002]在数据库系统中,某些逻辑错误能够对数据库造成损害。尤其是人为的逻辑错误对数据库造成损害后,要耗费远远超出造成损害的时间去恢复数据库中的数据及数据库结构,且恢复数据库的操作非常复杂。
[0003]闪回技术(Flashback),是数据库提供的能使数据库整体或局部回到“过去”的闪回功能的总称,主要用于对抗人为错误。在这些功能中,有的不会修改现有的数据而只是展示以前的数据,即能够观察过去;有的可以将数据修改为以前的值,即真正地回到过去。
[0004]在某些数据库中并不支持闪回技术,只能依靠传统的手段进行数据库状态恢复,影响了数据库性能的发挥。

【发明内容】

[0005]本发明根据对数据库操作的层级不同和内容不同,包括:闪回数据库、闪回表、闪回删除、闪回版本查询、闪回事务查询,同时还能对闪回数据归档。
[0006]闪回数据库操作是对整个数据库的操作,能够使数据库整体迅速返回到先前某一特定的时间点上。闪回数据库的操作步骤为:
[0007]在数据库中将数据库状态备份至闪回日志文件,该日志中存储有带有数据库内部时间标记的数据库状态的信息;
[0008]关闭数据库;
[0009]用恢复(recover)模式再次启动数据库;
[0010]指定数据库按照闪回日志中的记载,将数据库恢复到某一可行的时间点;
[0011]重新启动数据库。
[0012]闪回表操作是对某张特定表的操作,能够使数据库中的某张表迅速返回到先前某一特定的时间点上。闪回表的操作步骤为:
[0013]在数据库中将表的状态备份至日志文件,该日志中存储有带有数据库内部时间标记的数据库状态信息;
[0014]关闭数据库;
[0015]用恢复(recover)模式再次启动数据库;
[0016]指定数据库按照日志中的记载,将数据库恢复到某一可行的时间点;
[0017]重新启动数据库。
[0018]闪回删除操作是对某张特定表的操作,能够使数据库中的某张表迅速返回到删除前的时间点上。闪回删除的操作步骤为:
[0019]在数据库中将表的状态备份至回收站文件,该文件中存储有带有数据库内部时间标记的数据库状态信息;
[0020]关闭数据库;
[0021]用恢复(recover)模式再次启动数据库;
[0022]指定数据库按照日志中的记载,将数据库恢复到某一可行的时间点;
[0023]重新启动数据库。
[0024]闪回版本查询操作是对某条特定记录的操作,能够使数据库中的某张表中的迅速返回到删除前的时间点上。闪回版本查询的操作步骤为:
[0025]在数据库中将表的状态备份至日志文件,该文件中存储有带有数据库内部版本信息的数据库状态信息;
[0026]关闭数据库;
[0027]用恢复(recover)模式再次启动数据库;
[0028]指定数据库按照日志中的记载,将数据库恢复到某一可行的时间点;
[0029]重新启动数据库。
[0030]闪回事务查询操作是对某条特定记录的操作,能够使数据库中的某张表中的某个事务迅速返回到删除前的时间点上。闪回事务的操作步骤为:
[0031]在数据库中将表的状态备份至日志文件,该文件中存储有带有数据库内部版本信息的数据库状态信息;
[0032]关闭数据库;
[0033]用恢复(recover)模式再次启动数据库;
[0034]指定数据库按照日志中的记载,将数据库恢复到某一可行的时间点;
[0035]重新启动数据库。
[0036]由于存储数据的磁盘空间有限,因此需要对闪回日志进行管理。即制定对闪回日志的管理策略,将闪回日志纳入数据库日志的管理中。
【附图说明】
[0037]图1为本发明的流程图。
【具体实施方式】
[0038]为了使本发明的目的、技术方案及优点更加清楚明白,以下对本发明进一步详细说明。应当理解,此处所描述的实例仅用以解释本发明,并不用于限定本发明。
[0039]1、闪回数据库
[0040]在闪回数据库前,应先建立闪回日志,并在闪回日志中存储以时间点标记的数据库状态信息。
[0041]在进行数据库闪回时,应关闭数据库,再以恢复(recover)模式重新启动数据库。指定数据库按照日志中的记载,将数据库恢复到某一可行的时间点。
[0042]重新启动数据库。
[0043]在对闪回日志的管理上,可以对闪回日志制定管理策略,将闪回日志纳入数据库日志的管理中。
[0044]2、闪回表
[0045]闪回表操作依赖数据库本身的“undo”、“redo”日志进行操作。
[0046]在进行闪回表操作时,应关闭数据库,再以恢复(recover)模式重新启动数据库。指定数据库按照日志中的记载,将数据库恢复到某一可行的时间点。
[0047]重新启动数据库。
[0048]3、闪回删除
[0049]闪回删除操作依赖数据库本身的回收站日志进行操作。
[0050]在进行闪回删除操作时,应关闭数据库,再以恢复(recover)模式重新启动数据库。指定数据库按照日志中的记载,将数据库恢复到某一可行的时间点。
[0051]重新启动数据库。
[0052]4、闪回版本查询
[0053]闪回版本操作依赖数据库本身的“undo”、“redo”日志进行操作。
[0054]在进行闪回表操作时,应关闭数据库,再以恢复(recover)模式重新启动数据库。指定数据库按照日志中的记载,将数据库恢复到某一可行的时间点。
[0055]重新启动数据库。
[0056]5、闪回事务查询
[0057]闪回事务查询操作依赖数据库本身的“undo”、“redo”日志进行操作。
[0058]在进行闪回表操作时,应关闭数据库,再以恢复(recover)模式重新启动数据库。指定数据库按照日志中的记载,将数据库恢复到某一可行的时间点。
[0059]重新启动数据库。
【主权项】
1.一种还原数据库状态的方法,可对数据库、表、删除、版本查询和事务查询进行闪回,其特征在于: 包括以下步骤: 在数据库中将数据库状态备份至还原文件,该还原文件中存储有带有数据库内部时间标记的数据库状态信息; 关闭数据库; 用恢复(recover)模式再次启动数据库; 指定数据库按照还原文件中的记载,将数据库恢复到某一可行的时间点; 重新启动数据库。2.根据权利要求1所述的还原数据库状态的方法,其特征在于: 当对整个数据库进行闪回时,需要在还原前建立闪回日志文件,该日志中存储有带有数据库内部时间标记的数据库状态的信息,在还原数据库操作中将闪回日志作为所述还原文件使用。3.根据权利要求2所述的还原数据库状态的方法,其特征在于: 对闪回日志制定管理策略,将闪回日志纳入数据库日志的管理之中。4.根据权利要求1所述的还原数据库状态的方法,其特征在于: 当对表进行闪回时,在还原表的操作中将数据库的“undo'“redo”日志作为所述还原文件使用。5.根据权利要求1所述的还原数据库状态的方法,其特征在于: 当对删除进行闪回时,在还原表的操作中将数据库的回收站日志作为所述还原文件使用。6.根据权利要求1所述的还原数据库状态的方法,其特征在于: 当对删除进行闪回时,在还原表的操作中将数据库的回收站日志作为所述还原文件使用。7.根据权利要求1所述的还原数据库状态的方法,其特征在于: 当对版本查询进行闪回时,在还原表的操作中将数据库的“undo”、“redo”日志作为所述还原文件使用。8.根据权利要求1所述的还原数据库状态的方法,其特征在于: 当对事务查询进行闪回时,在还原表的操作中将数据库的“undo”、“redo”日志作为所述还原文件使用。
【专利摘要】本发明提供一种还原数据库状态的方法,包括:在数据库中将数据库状态备份至还原文件,该还原文件中存储有带有数据库内部时间标记的数据库状态信息;关闭数据库;用恢复(recover)模式再次启动数据库;指定数据库按照还原文件中的记载,将数据库恢复到某一可行的时间点;重新启动数据库。
【IPC分类】G06F11/14, G06F17/30
【公开号】CN105068893
【申请号】CN201510530762
【发明人】张宇, 杨利兵, 缪燕, 刘红超, 李海, 张学深
【申请人】国家电网公司, 北京许继电气有限公司
【公开日】2015年11月18日
【申请日】2015年8月26日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1