一种数据库的数据恢复方法及系统的制作方法

文档序号:9524081阅读:413来源:国知局
一种数据库的数据恢复方法及系统的制作方法
【技术领域】
[0001]本发明涉及数据恢复技术领域,特别是涉及一种数据库的数据恢复方法及系统。
【背景技术】
[0002]当今,对于一个计算机系统来说,有可能会遇到因磁盘损坏、操作人员误操作或者其它原因导致数据库的数据丢失的问题。而大多数的计算机系统都是基于数据实现其应用的,因此,为了能在数据丢失的情况下及时恢复丢失的数据,数据库的数据备份的重要性就不言而喻了。
[0003]在实际的数据库中,常见的备份方式有以下两种:第一种备份方式使用导入导出的方式备份数据库,其会在预设备份时间点上备份数据库的数据,而在这些预设备份时间点之外不再进行数据备份;第二种备份方式使用恢复管理器来进行备份的,恢复管理器可以备份全部任意时刻的数据。
[0004]当出现用户误操作删除数据的情况时就会使用备份的数据来进行恢复,对于第一种备份方式而言,一旦要恢复的数据所处的时间点正好在预设备份时间点之外,就会没有办法恢复这些数据;对于第二种备份方式而言,需要重新在另外一台机器上利用日志进行再查询被删除的数据,然后将这些数据重新更新到原来的数据库中,这个过程是相当的消耗时间,因此在恢复时间被严格控制的场景下这个恢复方式还是达不到要求。

【发明内容】

[0005]有鉴于此,本发明提供了一种数据库的数据恢复方法及系统,以实现可靠、快速地恢复数据库中的数据的目的。
[0006]为解决上述技术问题,本发明提供一种数据库的数据恢复方法,包括:
[0007]建立所述数据库的数据字典文件;
[0008]获取所述数据库的归档日志文件,并利用logminer对所述归档日志文件进行分析,得到分析结果;
[0009]参考所述数据字典文件,从所述分析结果中提取目标数据并将所述目标数据恢复至所述数据库中。
[0010]上述方法中,优选的,所述利用logminer对所述归档日志文件进行分析,得到分析结果,包括:
[0011 ] 确定预设的分析条件;
[0012]利用logminer对所述归档日志文件中符合所述分析条件的数据进行分析,得到所述分析结果。
[0013]上述方法中,优选的,在所述获取所述数据库的归档日志文件之前,还包括:
[0014]设置所述数据库为归档模式。
[0015]上述方法中,优选的,所述数据库为Oracle数据库。
[0016]本发明还提供了一种数据库的数据恢复系统,包括:
[0017]建立单元,用于建立所述数据库的数据字典文件;
[0018]分析单元,用于获取所述数据库的归档日志文件,并利用logminer对所述归档日志文件进行分析,得到分析结果;
[0019]恢复单元,用于参考所述数据字典文件,从所述分析结果中提取目标数据并将所述目标数据恢复至所述数据库中。
[0020]上述系统中,优选的,所述分析单元包括:
[0021]确定子单元,用于确定预设的分析条件;
[0022]分析子单元,用于利用logminer对所述归档日志文件中符合所述分析条件的数据进行分析,得到所述分析结果。
[0023]上述系统中,优选的,还包括:
[0024]设置单元,用于在所述获取所述数据库的归档日志文件之前,设置所述数据库为归档模式。
[0025]上述系统中,优选的,所述数据库为Oracle数据库。
[0026]以上本发明提供的一种数据库的数据恢复方法及系统中,首先,建立所述数据库的数据字典文件,如果不创建该数据字典文件的话,那么无法读懂logminer挖掘出来的数据;然后,获取所述数据库的归档日志文件,并利用logminer对所述归档日志文件进行分析,得到分析结果;参考所述数据字典文件,从所述分析结果中提取目标数据并将所述目标数据恢复至所述数据库中。由于归档日志文件中包含数据库的所有数据操作内容,所以可以可靠地从归档日志文件中提取出待恢复的目标数据;由于利用logminer对所述归档日志文件进行分析进而得到目标数据,不需要在额外一台机器上进行恢复并且恢复时间可控,所以能够快速地恢复数据库中待恢复的数据。
【附图说明】
[0027]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0028]图1为本发明实施例提供的一种数据库的数据恢复方法的流程图;
[0029]图2为本发明实施例提供的一种数据库的数据恢复系统的结构框图示意图。
【具体实施方式】
[0030]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0031]本发明的核心是提供一种数据库的数据恢复方法及系统,以实现可靠、快速地恢复数据库中的数据的目的。
[0032]为了使本技术领域的人员更好地理解本发明方案,下面结合附图和【具体实施方式】对本发明作进一步的详细说明。
[0033]参考图1,图1示出了本发明实施例提供的一种数据库的数据恢复方法的流程图,该方法具体可以包括如下步骤:
[0034]步骤S100、建立数据库的数据字典文件;
[0035]具体地,上述数据库可以为Oracle数据库。Oracle数据库是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。Oracle数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。
[0036]这里之所以要预先建立数据库的数据字典文件,是因为如果不创建该数据字典文件,那么无法读懂logminer挖掘出来的数据。
[0037]步骤S101、获取数据库的归档日志文件,并利用logminer对归档日志文件进行分析,得到分析结果;
[0038]在具体实施的过程中,先将Oracle数据库设置为归档模式,在归档模式下才能生成归档日志文件。
[0039]具体地,可以参考以下代码实现数据库的归档模式设置:
[0040]ALTER SYSTEM SET log_archive_dest = "D:\oracle\oradata\practice\ARCHIVE";
[0041]ALTER SYSTEM SET log_archive_format = "ARC% S_% R.% T"SC0PE = SPFILE。
[0042]在获取归档日志文件之后,可以利用logminer对获取的归档日志文件进行有条件的或者无条件的日志分析。对于有条件的分析,需要先确定预设的分析条件,然后再利用logminer对归档日志文件中符合分析条件的数据进行分析,得到分析结果。其中,上述分析条件可以是某个时间段内或者是关于某个数据的操作等。
[0043]进一步地,可以通过表v$logmnr_contents来获取分析结果,从而实现数据恢复的目的。最后调用分析终止脚本终止日
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1