数据库的恢复方法、装置、设备和存储介质制造方法及图纸

技术编号:23084811 阅读:66 留言:0更新日期:2020-01-11 01:03
本申请涉及一种数据库的恢复方法、装置、设备和存储介质。该方法包括:确定目标数据库中的损坏数据文件和正常数据文件,其中,所述目标数据库为无法启动的数据库;获取所述正常数据文件的第一头文件偏移量信息;将所述损坏数据文件的第二头文件偏移量信息修改为所述第一头文件偏移量信息;根据修改后的所述损坏数据文件和所述正常数据文件,对所述目标数据库进行恢复。该方法大大降低了数据库恢复的成本。

Recovery method, device, equipment and storage medium of database

【技术实现步骤摘要】
数据库的恢复方法、装置、设备和存储介质
本申请涉及计算机
,特别是涉及一种数据库的恢复方法、装置、设备和存储介质。
技术介绍
在日常工作中,数据库是存储数据不可或缺的工具。但是,当发生断电、不正常关机等异常情况时,可能会造成数据库的数据文件发生损坏,导致数据库无法启动。传统技术中,可以使用数据库软件服务商提供的恢复工具抽取数据文件中的数据,进行数据库恢复。但是,上述恢复工具需要从数据库软件服务商处购买,导致数据库恢复的成本较高。
技术实现思路
基于此,有必要针对传统方式数据库恢复的成本较高的技术问题,提供一种数据库的恢复方法、装置、设备和存储介质。一种数据库的恢复方法,包括:确定目标数据库中的损坏数据文件和正常数据文件,其中,所述目标数据库为无法启动的数据库;获取所述正常数据文件的第一头文件偏移量信息;将所述损坏数据文件的第二头文件偏移量信息修改为所述第一头文件偏移量信息;根据修改后的所述损坏数据文件和所述正常数据文件,对所述目标数据库进行恢复。一种数据库的恢复装置,包括:确定模块,用于确定目标数据库中的损坏数据文件和正常数据文件,其中,所述目标数据库为无法启动的数据库;获取模块,用于获取所述正常数据文件的第一头文件偏移量信息;修改模块,用于将所述损坏数据文件的第二头文件偏移量信息修改为所述第一头文件偏移量信息;处理模块,用于根据修改后的所述损坏数据文件和所述正常数据文件,对所述目标数据库进行恢复。>一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:确定目标数据库中的损坏数据文件和正常数据文件,其中,所述目标数据库为无法启动的数据库;获取所述正常数据文件的第一头文件偏移量信息;将所述损坏数据文件的第二头文件偏移量信息修改为所述第一头文件偏移量信息;根据修改后的所述损坏数据文件和所述正常数据文件,对所述目标数据库进行恢复。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:确定目标数据库中的损坏数据文件和正常数据文件,其中,所述目标数据库为无法启动的数据库;获取所述正常数据文件的第一头文件偏移量信息;将所述损坏数据文件的第二头文件偏移量信息修改为所述第一头文件偏移量信息;根据修改后的所述损坏数据文件和所述正常数据文件,对所述目标数据库进行恢复。本申请实施例提供的数据库的恢复方法、装置、设备和存储介质,由于计算机设备将目标数据库中的损坏数据文件的第二头文件偏移量信息修改为正常数据文件的第一头文件偏移量信息,使得修改后的损坏数据文件的头文件偏移量信息与正常数据文件的第一头文件偏移量信息保持一致,从而可以欺骗数据库检查来达到恢复数据库的目的,不再需要从数据库软件服务商处购买恢复工具进行数据库的恢复,大大降低了数据库恢复的成本。附图说明图1为一实施例提供的数据库的恢复方法流程示意图;图2为另一实施例提供的数据库的恢复方法流程示意图;图3为另一实施例提供的数据库的恢复方法流程示意图;图4为另一实施例提供的数据库的恢复方法流程示意图;图5为一实施例提供的数据库的恢复装置内部结构示意图;图6为一实施例提供的计算机设备的内部结构示意图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,通过下述实施例并结合附图,对本申请实施例中的技术方案进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。需要说明的是,下述方法实施例的执行主体可以是数据库的恢复装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为计算机设备的部分或者全部。下述方法实施例以执行主体是计算机设备为例进行说明。图1为一实施例提供的数据库的恢复方法流程示意图。本实施例涉及的是计算机设备如何对数据库进行恢复的具体过程。具体的,如图1所示,该方法可以包括:S101、确定目标数据库中的损坏数据文件和正常数据文件,其中,所述目标数据库为无法启动的数据库。具体的,损坏数据文件为部分数据块出现丢失、错误等损坏的数据文件,正常数据文件为数据块数据完整、无误的数据文件。当发生断电、不正常关机等异常情况时,会造成目标数据库中出现损坏数据文件,从而导致目标数据库无法启动。可选的,上述目标数据库为Oracle数据库。为此,计算机设备需要确定目标数据库中的损坏数据文件和正常数据文件。由于损坏数据文件的头文件信息与正常数据文件的头文件信息不相同,则计算机设备可以通过比较目标数据库中的各个数据文件的头文件信息,并基于各个数据文件的头文件信息,确定目标数据库中的损坏数据文件和正常数据文件。S102、获取所述正常数据文件的第一头文件偏移量信息。其中,计算机设备可以使用查看和修改数据块的工具获取正常数据文件的第一头文件偏移量信息。以目标数据库为Oracle数据库为例,计算机设备可以使用Oracle软件中的一款内部查看和修改数据块的工具(BlockBowerAndEditorTool,BBED)获取正常数据文件的第一头文件偏移量信息。S103、将所述损坏数据文件的第二头文件偏移量信息修改为所述第一头文件偏移量信息。其中,计算机设备使用BBED将损坏数据文件的第二头文件偏移量信息修改为正常数据文件的第一头文件偏移量信息,以使修改后的损坏数据文件的头文件偏移量信息与正常数据文件的第一头文件偏移量信息保持一致。S104、根据修改后的所述损坏数据文件和所述正常数据文件,对所述目标数据库进行恢复。其中,在修改后的损坏数据文件的头文件偏移量信息与正常数据文件的第一头文件偏移量信息保持一致后,计算机设备便可以根据修改了头文件偏移量信息的损坏数据文件和正常数据文件,对目标数据库进行恢复,以使目标数据库能够正常启动。由于损坏数据文件的第二头文件偏移量信息已经被修改,使用旧的控制文件仍无法正常启动目标数据库,因此,计算机设备需要重建新的控制文件。其中,新的控制文件为目标数据库启动及运行所必须的文件。同时,为了防止目标书库的数据不一致,计算机设备还需要进行介质恢复。故而,在上述实施例的基础上,可选的,上述S104可以包括:根据修改后的所述损坏数据文件、所述正常数据文件和系统文件,重建所述目标数据库的控制文件;对所述目标数据库进行介质恢复。其中,计算机设备根据修改后的损坏数据文件、正常数据文件和系统文件,得到控制文件的参数和生成语法,基于上述参数和生成语法重建目标数据库的控制文件。计算机设备通过Recover(恢复)命令对目标数据库进行介质恢复。其中,Recover命令就是使用归档重做日志文件和联机重做日志文件将不一致的目标数据库应用到一致性状态。本实施例提供的数据库的恢复方法,由于计算机设备将目标数据库中的损坏数据文件的第二头文件本文档来自技高网...

【技术保护点】
1.一种数据库的恢复方法,其特征在于,包括:/n确定目标数据库中的损坏数据文件和正常数据文件,其中,所述目标数据库为无法启动的数据库;/n获取所述正常数据文件的第一头文件偏移量信息;/n将所述损坏数据文件的第二头文件偏移量信息修改为所述第一头文件偏移量信息;/n根据修改后的所述损坏数据文件和所述正常数据文件,对所述目标数据库进行恢复。/n

【技术特征摘要】
1.一种数据库的恢复方法,其特征在于,包括:
确定目标数据库中的损坏数据文件和正常数据文件,其中,所述目标数据库为无法启动的数据库;
获取所述正常数据文件的第一头文件偏移量信息;
将所述损坏数据文件的第二头文件偏移量信息修改为所述第一头文件偏移量信息;
根据修改后的所述损坏数据文件和所述正常数据文件,对所述目标数据库进行恢复。


2.根据权利要求1所述的方法,其特征在于,所述确定目标数据库中的损坏数据文件和正常数据文件,包括:
获取目标数据库的每个数据文件的系统改变号信息;
根据所述系统改变号信息,确定所有数据文件中的损坏数据文件和正常数据文件。


3.根据权利要求2所述的方法,其特征在于,所述根据所述系统改变号信息,确定所有数据文件中的损坏数据文件和正常数据文件,包括:
计算各个系统改变号信息的数量;
将数量最大的系统改变号信息确定为目标系统改变号信息;
将与所述目标系统改变号信息不相同的系统改变号信息对应的数据文件确定为损坏数据文件,将与所述目标系统改变号信息相同的系统改变号信息对应的数据文件确定为正常数据文件。


4.根据权利要求1所述的方法,其特征在于,所述获取所述正常数据文件的第一头文件偏移量信息,包括:
获取所述正常数据文件的第一头文件中的关键偏移位置的偏移量信息,所述关键偏移位置包括系统改变号信息的低位、检查点时间、第一检查点计数和第二检查点计数。


5.根据权利要求4所述的方法,其特征在于,所述...

【专利技术属性】
技术研发人员:包雷
申请(专利权)人:江苏国泰新点软件有限公司
类型:发明
国别省市:江苏;32

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

1