CN105279045A - 一种数据库的数据恢复方法及系统 - Google Patents
一种数据库的数据恢复方法及系统 Download PDFInfo
- Publication number
- CN105279045A CN105279045A CN201510717364.6A CN201510717364A CN105279045A CN 105279045 A CN105279045 A CN 105279045A CN 201510717364 A CN201510717364 A CN 201510717364A CN 105279045 A CN105279045 A CN 105279045A
- Authority
- CN
- China
- Prior art keywords
- database
- data
- log file
- logminer
- analysis result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
本发明公开了一种数据库的数据恢复方法及系统,该方法包括:建立数据库的数据字典文件;获取数据库的归档日志文件,并利用logminer对归档日志文件进行分析,得到分析结果;参考数据字典文件,从分析结果中提取目标数据并将目标数据恢复至数据库中。由于归档日志文件中包含数据库的所有数据操作内容,所以可以可靠地从归档日志文件中提取出待恢复的目标数据;由于利用logminer对所述归档日志文件进行分析进而得到目标数据,不需要在额外一台机器上进行恢复并且恢复时间可控,所以能够快速地恢复数据库中待恢复的数据。
Description
技术领域
本发明涉及数据恢复技术领域,特别是涉及一种数据库的数据恢复方法及系统。
背景技术
当今,对于一个计算机系统来说,有可能会遇到因磁盘损坏、操作人员误操作或者其它原因导致数据库的数据丢失的问题。而大多数的计算机系统都是基于数据实现其应用的,因此,为了能在数据丢失的情况下及时恢复丢失的数据,数据库的数据备份的重要性就不言而喻了。
在实际的数据库中,常见的备份方式有以下两种:第一种备份方式使用导入导出的方式备份数据库,其会在预设备份时间点上备份数据库的数据,而在这些预设备份时间点之外不再进行数据备份;第二种备份方式使用恢复管理器来进行备份的,恢复管理器可以备份全部任意时刻的数据。
当出现用户误操作删除数据的情况时就会使用备份的数据来进行恢复,对于第一种备份方式而言,一旦要恢复的数据所处的时间点正好在预设备份时间点之外,就会没有办法恢复这些数据;对于第二种备份方式而言,需要重新在另外一台机器上利用日志进行再查询被删除的数据,然后将这些数据重新更新到原来的数据库中,这个过程是相当的消耗时间,因此在恢复时间被严格控制的场景下这个恢复方式还是达不到要求。
发明内容
有鉴于此,本发明提供了一种数据库的数据恢复方法及系统,以实现可靠、快速地恢复数据库中的数据的目的。
为解决上述技术问题,本发明提供一种数据库的数据恢复方法,包括:
建立所述数据库的数据字典文件;
获取所述数据库的归档日志文件,并利用logminer对所述归档日志文件进行分析,得到分析结果;
参考所述数据字典文件,从所述分析结果中提取目标数据并将所述目标数据恢复至所述数据库中。
上述方法中,优选的,所述利用logminer对所述归档日志文件进行分析,得到分析结果,包括:
确定预设的分析条件;
利用logminer对所述归档日志文件中符合所述分析条件的数据进行分析,得到所述分析结果。
上述方法中,优选的,在所述获取所述数据库的归档日志文件之前,还包括:
设置所述数据库为归档模式。
上述方法中,优选的,所述数据库为Oracle数据库。
本发明还提供了一种数据库的数据恢复系统,包括:
建立单元,用于建立所述数据库的数据字典文件;
分析单元,用于获取所述数据库的归档日志文件,并利用logminer对所述归档日志文件进行分析,得到分析结果;
恢复单元,用于参考所述数据字典文件,从所述分析结果中提取目标数据并将所述目标数据恢复至所述数据库中。
上述系统中,优选的,所述分析单元包括:
确定子单元,用于确定预设的分析条件;
分析子单元,用于利用logminer对所述归档日志文件中符合所述分析条件的数据进行分析,得到所述分析结果。
上述系统中,优选的,还包括:
设置单元,用于在所述获取所述数据库的归档日志文件之前,设置所述数据库为归档模式。
上述系统中,优选的,所述数据库为Oracle数据库。
以上本发明提供的一种数据库的数据恢复方法及系统中,首先,建立所述数据库的数据字典文件,如果不创建该数据字典文件的话,那么无法读懂logminer挖掘出来的数据;然后,获取所述数据库的归档日志文件,并利用logminer对所述归档日志文件进行分析,得到分析结果;参考所述数据字典文件,从所述分析结果中提取目标数据并将所述目标数据恢复至所述数据库中。由于归档日志文件中包含数据库的所有数据操作内容,所以可以可靠地从归档日志文件中提取出待恢复的目标数据;由于利用logminer对所述归档日志文件进行分析进而得到目标数据,不需要在额外一台机器上进行恢复并且恢复时间可控,所以能够快速地恢复数据库中待恢复的数据。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种数据库的数据恢复方法的流程图;
图2为本发明实施例提供的一种数据库的数据恢复系统的结构框图示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的核心是提供一种数据库的数据恢复方法及系统,以实现可靠、快速地恢复数据库中的数据的目的。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
参考图1,图1示出了本发明实施例提供的一种数据库的数据恢复方法的流程图,该方法具体可以包括如下步骤:
步骤S100、建立数据库的数据字典文件;
具体地,上述数据库可以为Oracle数据库。Oracle数据库是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。Oracle数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。
这里之所以要预先建立数据库的数据字典文件,是因为如果不创建该数据字典文件,那么无法读懂logminer挖掘出来的数据。
步骤S101、获取数据库的归档日志文件,并利用logminer对归档日志文件进行分析,得到分析结果;
在具体实施的过程中,先将Oracle数据库设置为归档模式,在归档模式下才能生成归档日志文件。
具体地,可以参考以下代码实现数据库的归档模式设置:
ALTERSYSTEMSETlog_archive_dest="D:\oracle\oradata\practice\ARCHIVE";
ALTERSYSTEMSETlog_archive_format="ARC%S_%R.%T"SCOPE=SPFILE。
在获取归档日志文件之后,可以利用logminer对获取的归档日志文件进行有条件的或者无条件的日志分析。对于有条件的分析,需要先确定预设的分析条件,然后再利用logminer对归档日志文件中符合分析条件的数据进行分析,得到分析结果。其中,上述分析条件可以是某个时间段内或者是关于某个数据的操作等。
进一步地,可以通过表v$logmnr_contents来获取分析结果,从而实现数据恢复的目的。最后调用分析终止脚本终止日志分析事务。
其中,Logminer工具即可以用来分析在线,也可以用来分析离线日志文件,即可以分析本身自己数据库的重作日志文件,也可以用来分析其他数据库的重作日志文件。基于此,本发明实施例中主要是利用Oracle数据库的归档日志文件进行分析,但并不是严格限定于归档日志文件,由于归档日志文件为重做日志文件的备份归档,因此,实际上,对数据库的重做日志文件进行如下分析同样也能得到目标数据。
在具体实施过程中,可以参考以下代码实现上述技术方案涉及的一些内容:
(1)LogMiner设置
创建LOGMNR文件夹,路径为"D:\oracle\oradata\practice\LOGMNR"
CREATEDIRECTORYutlfileAS'D:\oracle\oradata\practice\LOGMNR';
altersystemsetutl_file_dir='D:\oracle\oradata\practice\LOGMNR'scope=spfile;
(2)开启LogMiner日志补充模式
alterdatabaseaddsupplementallogdata;
(3)使用LogMiner读取在线日志
BEGIN
dbms_logmnr.add_logfile(logfilename=>'D:\oracle\oradata\practice\REDO03.LOG',options=>dbms_logmnr.NEW);
END;
EXECUTE
dbms_logmnr.start_logmnr(dictfilename=>'D:\oracle\oradata\practice\LOGMNR\dictionary.ora');
(4)得出分析结果
SELECTsql_redo,sql_undo,seg_ownerFROMv$logmnr_contentsWHEREseg_name='AAAAA'ANDseg_owner='LOGMINER';
步骤S102、参考数据字典文件,从分析结果中提取目标数据并将目标数据恢复至数据库中。
综上,由于归档日志文件中包含数据库的所有数据操作内容,所以可以可靠地从归档日志文件中提取出待恢复的目标数据;具体地,logminer可以从归档日志文件中得得到DML和DDL的全部信息,将得到的ddl和dml语句重新应用到原数据库上,从而实现数据恢复。由于利用logminer对归档日志文件进行分析进而得到目标数据,不需要在额外一台机器上进行恢复并且恢复时间可控,所以能够快速地恢复数据库中待恢复的数据。
基于上述本发明实施例提供的数据库的数据恢复方法,本发明实施例还提供了一种数据库的数据恢复系统,参考图2,该系统200可以包括如下内容:
建立单元201,用于建立数据库的数据字典文件;
分析单元202,用于获取数据库的归档日志文件,并利用logminer对归档日志文件进行分析,得到分析结果;
恢复单元203,用于参考数据字典文件,从分析结果中提取目标数据并将目标数据恢复至数据库中。
本发明中,分析单元202具体可以包括以下内容:
确定子单元,用于确定预设的分析条件;
分析子单元,用于利用logminer对归档日志文件中符合分析条件的数据进行分析,得到分析结果。
本发明中,上述数据库的数据恢复系统200还可以包括设置单元,用于在获取数据库的归档日志文件之前,设置数据库为归档模式。
上述数据库的数据恢复系统200中,数据库具体为Oracle数据库。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统类实施例而言,由于其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种数据库的数据恢复方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (8)
1.一种数据库的数据恢复方法,其特征在于,包括:
建立所述数据库的数据字典文件;
获取所述数据库的归档日志文件,并利用logminer对所述归档日志文件进行分析,得到分析结果;
参考所述数据字典文件,从所述分析结果中提取目标数据并将所述目标数据恢复至所述数据库中。
2.如权利要求1所述的方法,其特征在于,所述利用logminer对所述归档日志文件进行分析,得到分析结果,包括:
确定预设的分析条件;
利用logminer对所述归档日志文件中符合所述分析条件的数据进行分析,得到所述分析结果。
3.如权利要求1所述的方法,其特征在于,在所述获取所述数据库的归档日志文件之前,还包括:
设置所述数据库为归档模式。
4.如权利要求1至3任意一项所述的方法,其特征在于,所述数据库为Oracle数据库。
5.一种数据库的数据恢复系统,其特征在于,包括:
建立单元,用于建立所述数据库的数据字典文件;
分析单元,用于获取所述数据库的归档日志文件,并利用logminer对所述归档日志文件进行分析,得到分析结果;
恢复单元,用于参考所述数据字典文件,从所述分析结果中提取目标数据并将所述目标数据恢复至所述数据库中。
6.如权利要求5所述的系统,其特征在于,所述分析单元包括:
确定子单元,用于确定预设的分析条件;
分析子单元,用于利用logminer对所述归档日志文件中符合所述分析条件的数据进行分析,得到所述分析结果。
7.如权利要求5所述的系统,其特征在于,还包括:
设置单元,用于在所述获取所述数据库的归档日志文件之前,设置所述数据库为归档模式。
8.如权利要求5至7任意一项所述的系统,其特征在于,所述数据库为Oracle数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510717364.6A CN105279045A (zh) | 2015-10-28 | 2015-10-28 | 一种数据库的数据恢复方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510717364.6A CN105279045A (zh) | 2015-10-28 | 2015-10-28 | 一种数据库的数据恢复方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105279045A true CN105279045A (zh) | 2016-01-27 |
Family
ID=55148093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510717364.6A Pending CN105279045A (zh) | 2015-10-28 | 2015-10-28 | 一种数据库的数据恢复方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105279045A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955843A (zh) * | 2016-04-21 | 2016-09-21 | 久盈世纪(北京)科技有限公司 | 一种用于数据库恢复的方法与设备 |
CN106502842A (zh) * | 2016-11-23 | 2017-03-15 | 北京小米移动软件有限公司 | 数据恢复方法及系统 |
CN106776136A (zh) * | 2016-12-12 | 2017-05-31 | 网易(杭州)网络有限公司 | 数据库处理方法和装置 |
CN107169108A (zh) * | 2017-05-19 | 2017-09-15 | 郑州云海信息技术有限公司 | 一种基于Oracle实现MySQL数据快速恢复的方法与装置 |
CN109597791A (zh) * | 2018-11-30 | 2019-04-09 | 华录光存储研究院(大连)有限公司 | 基于OpenStack平台的归档系统 |
CN112099996A (zh) * | 2020-09-21 | 2020-12-18 | 天津神舟通用数据技术有限公司 | 基于页面更新序号的数据库集群多节点重做日志恢复方法 |
CN112181992A (zh) * | 2020-10-27 | 2021-01-05 | 浪潮云信息技术股份公司 | 一种oracle数据库增量数据采集实现方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6618822B1 (en) * | 2000-01-03 | 2003-09-09 | Oracle International Corporation | Method and mechanism for relational access of recovery logs in a database system |
CN103617176A (zh) * | 2013-11-04 | 2014-03-05 | 广东电子工业研究院有限公司 | 一种实现多源异构数据资源自动同步的方法 |
-
2015
- 2015-10-28 CN CN201510717364.6A patent/CN105279045A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6618822B1 (en) * | 2000-01-03 | 2003-09-09 | Oracle International Corporation | Method and mechanism for relational access of recovery logs in a database system |
CN103617176A (zh) * | 2013-11-04 | 2014-03-05 | 广东电子工业研究院有限公司 | 一种实现多源异构数据资源自动同步的方法 |
Non-Patent Citations (1)
Title |
---|
DAVE: "Oracle Logminer做数据恢复说明示例", 《CSDN博客》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955843A (zh) * | 2016-04-21 | 2016-09-21 | 久盈世纪(北京)科技有限公司 | 一种用于数据库恢复的方法与设备 |
CN105955843B (zh) * | 2016-04-21 | 2019-05-28 | 久盈世纪(北京)科技有限公司 | 一种用于数据库恢复的方法与设备 |
CN106502842A (zh) * | 2016-11-23 | 2017-03-15 | 北京小米移动软件有限公司 | 数据恢复方法及系统 |
CN106776136A (zh) * | 2016-12-12 | 2017-05-31 | 网易(杭州)网络有限公司 | 数据库处理方法和装置 |
CN106776136B (zh) * | 2016-12-12 | 2019-10-22 | 网易(杭州)网络有限公司 | 数据库处理方法和装置 |
CN107169108A (zh) * | 2017-05-19 | 2017-09-15 | 郑州云海信息技术有限公司 | 一种基于Oracle实现MySQL数据快速恢复的方法与装置 |
CN107169108B (zh) * | 2017-05-19 | 2020-10-20 | 苏州浪潮智能科技有限公司 | 一种基于Oracle实现MySQL数据快速恢复的方法与装置 |
CN109597791A (zh) * | 2018-11-30 | 2019-04-09 | 华录光存储研究院(大连)有限公司 | 基于OpenStack平台的归档系统 |
CN112099996A (zh) * | 2020-09-21 | 2020-12-18 | 天津神舟通用数据技术有限公司 | 基于页面更新序号的数据库集群多节点重做日志恢复方法 |
CN112099996B (zh) * | 2020-09-21 | 2022-04-05 | 天津神舟通用数据技术有限公司 | 基于页面更新序号的数据库集群多节点重做日志恢复方法 |
CN112181992A (zh) * | 2020-10-27 | 2021-01-05 | 浪潮云信息技术股份公司 | 一种oracle数据库增量数据采集实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105279045A (zh) | 一种数据库的数据恢复方法及系统 | |
CN109656934B (zh) | 基于日志解析的源端Oracle数据库DDL同步方法及设备 | |
US11575746B2 (en) | System and method for real-time cloud data synchronization using a database binary log | |
US11455217B2 (en) | Transaction consistency query support for replicated data from recovery log to external data stores | |
CN105373448B (zh) | 数据库中故障数据的恢复方法和系统 | |
US7979404B2 (en) | Extracting data changes and storing data history to allow for instantaneous access to and reconstruction of any point-in-time data | |
US20170344433A1 (en) | Apparatus and method for data migration | |
CN110651265A (zh) | 数据复制系统 | |
EP1465085A2 (en) | Transactionally consistent change tracking for databases | |
EP1745059A4 (en) | METHOD AND SYSTEM FOR THE AUTOMATIC, CONTINUOUS PROTECTION OF DATA WITHOUT DOWNTIME AND IN REAL TIME | |
CN105320769A (zh) | 一种Oracle数据库的数据同步方法及系统 | |
US11151099B2 (en) | System and method for data structure migration control | |
CN104850611A (zh) | 一种使用kettle从关系型数据库向非关系型数据库定时增量更新数据的方法 | |
US20190294505A1 (en) | Object store for database backups | |
CN102946410A (zh) | 网络同步方法和装置 | |
US20150261766A1 (en) | Method and apparatus for determining a range of files to be migrated | |
CN102946411A (zh) | 网络同步系统 | |
Sánchez et al. | Distributed data collection for the ATLAS EventIndex | |
EP3159797B1 (en) | Efficient processing of file system objects for image level backups | |
CN108228756A (zh) | 基于日志解析技术的PG数据库到Hadoop平台的数据同步复制方法 | |
CN116701053B (zh) | 生产环境数据库的数据备份恢复方法、装置、设备及介质 | |
KR20220086677A (ko) | 블록체인 기반 백업 및 복구를 위한 시스템 및 방법 | |
CN112925750B (zh) | 用于访问数据的方法、电子设备和计算机程序产品 | |
US10635636B1 (en) | Hyper-V virtual machine synthetic full backup where user and recovery snapshots coexist | |
CN111723063A (zh) | 一种离线日志数据处理的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160127 |
|
RJ01 | Rejection of invention patent application after publication |