CN105955843B - 一种用于数据库恢复的方法与设备 - Google Patents

一种用于数据库恢复的方法与设备 Download PDF

Info

Publication number
CN105955843B
CN105955843B CN201610250515.6A CN201610250515A CN105955843B CN 105955843 B CN105955843 B CN 105955843B CN 201610250515 A CN201610250515 A CN 201610250515A CN 105955843 B CN105955843 B CN 105955843B
Authority
CN
China
Prior art keywords
database
log
archive
online
recovery
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.)
Active
Application number
CN201610250515.6A
Other languages
English (en)
Other versions
CN105955843A (zh
Inventor
任养超
李天泽
李玉亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Long Ying Century (beijing) Technology Co Ltd
Original Assignee
Long Ying Century (beijing) Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Long Ying Century (beijing) Technology Co Ltd filed Critical Long Ying Century (beijing) Technology Co Ltd
Priority to CN201610250515.6A priority Critical patent/CN105955843B/zh
Publication of CN105955843A publication Critical patent/CN105955843A/zh
Application granted granted Critical
Publication of CN105955843B publication Critical patent/CN105955843B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请的目的是提供一种用于数据库恢复的方法与设备。具体地,获取数据库在线重做日志及数据库归档日志;根据所述数据库在线重做日志进行数据库恢复操作;获取所述数据库恢复操作中产生的数据库归档日志;更新所述数据库归档日志,根据更新后所述数据库归档日志进行指定时间点的数据库恢复操作。与现有技术相比,本申请通过在线重做日志对数据库进行恢复获得在线重做日志对应的最近事务操作时间中的归档日志,进而更新全部归档日志,使得归档日志覆盖数据库历史运行的全部时间点,从而再利用更新后的归档日志进行数据库恢复,使得数据库可以恢复到任一时间点,完整保留了数据库数据,进而使得数据库数据得以被全面的保护。

Description

一种用于数据库恢复的方法与设备
技术领域
本申请涉及计算机领域,尤其涉及一种用于数据库恢复的技术。
背景技术
随着大数据时代的到来,数据的使用量在成倍增长,而对于数据的备份和恢复有着越来越高的要求,对于数据恢复的完整性和恢复点的时间要求也越来越高。现有技术中使用数据库归档日志(Archive Log)进行恢复的方式虽然能恢复数据库,然而只能恢复指定的归档日志时间点对应的历史数据库数据,无法完整恢复例如在线重做日志(OnlineRedo Log)所备份的最近时间点内的数据库数据,而现有技术中在使用在线重做日志进行恢复的方式,只能恢复数据库最新时间点的数据,却无法满足任意时间点的恢复,从而导致部分数据的丢失。因此,无论是使用归档日志抑或使用在线重做日志的进行恢复都无法完整的恢复整个数据库的所有数据信息,这将导致用户数据的丢失,以及数据库数据的不完整,进而无法满足恢复到任意时间点的需求。
发明内容
本申请的一个目的是提供一种用于数据库恢复的方法与设备。
为实现上述目的,根据本申请的一个方面,提供了一种用于数据库恢复的方法,该方法包括:
获取数据库在线重做日志及第一数据库归档日志;
根据所述数据库在线重做日志进行数据库恢复操作;
获取所述数据库恢复操作中产生的第二数据库归档日志;
利用所述第二数据库归档日志更新所述第一数据库归档日志,根据更新后的所述第一数据库归档日志进行指定时间点的数据库恢复操作。
根据本申请的另一个方面,提供了一种用于数据库恢复的设备,该设备包括:
日志获取装置,用于获取数据库在线重做日志及第一数据库归档日志;
第一恢复装置,用于根据所述数据库在线重做日志进行数据库恢复操作;
归档日志获取装置,用于获取所述数据库恢复操作中产生的第二数据库归档日志;
第二恢复装置,用于利用所述第二数据库归档日志更新所述第一数据库归档日志,根据更新后的所述第一数据库归档日志进行指定时间点的数据库恢复操作。
与现有技术相比,本申请通过将利用在线重做日志进行数据库恢复,及利用归档日志进行数据库恢复的两种恢复方式结合,先通过在线重做日志对数据库进行恢复获得在线重做日志对应的最近事务操作时间中的第二归档日志,进而更新至第一归档日志,使得归档日志覆盖数据库历史运行的全部时间点,从而再利用更新后的第一归档日志进行数据库恢复,使得数据库可以恢复到任一时间点,完整保留了数据库数据,进而使得数据库数据得以充分全面的保护。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种用于数据库恢复的设备示意图;
图2示出根据本申请另一个方面的一种优选实例的第一恢复装置示意图;
图3示出根据本申请另一个方面的一种优选实例的第二恢复装置示意图;
图4示出根据本申请另一个方面的一种用于数据库恢复的方法流程图;
图5示出根据本申请另一个方面的一种优选实例的步骤S2示意图;
图6示出根据本申请另一个方面的一种优选实例的步骤S4示意图;
图7示出根据本申请一个方面的优选实例的数据库恢复操作流程示意图;
图8示出根据本申请一个方面的优选实例的数据库恢复操作流程示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
图1示出根据本申请一个方面的一种用于数据库恢复的设备示意图。所述设备1包括日志获取装置11、第一恢复装置12、归档日志获取装置13以及第二恢复装置14。
其中,日志获取装置11获取数据库在线重做日志及第一数据库归档日志;第一恢复装置12根据所述数据库在线重做日志进行数据库恢复操作;归档日志获取装置13获取所述数据库恢复操作中产生的第二数据库归档日志;第二恢复装置14更新所述第一数据库归档日志,根据更新后所述第一数据库归档日志进行指定时间点的数据库恢复操作。
具体地,日志获取装置11获取数据库在线重做日志及第一数据库归档日志。其中,所述在线重做日志是指备份数据库在事务操作状态数据的日志文件,包括了数据库在因为故障、重启等原因打断而无法启动实例需要进行恢复之前最近时间段的数据库数据备份,例如图7及图8中所举例的redo日志即是指在线重做日志。所述归档日志是指备份数据库在历史时间段中所包含的数据备份,当数据库遭遇磁盘损伤后可依据归档日志进行历史时间段的数据库数据恢复,即如图7及图8中所举例的归档日志。从需要回复的数据块中获取相应的在线重做日志及归档日志,使得可进一步利用两种日志进行数据库的恢复操作。
优选地,日志获取装置11获取数据库在线重做日志及第一数据库归档日志,其中,所述第一数据库归档日志与所述在线重做日志在备份时间上保持连续。即因为在线重做日志是备份的数据库在线事务操作也就是发生故障或重启前最后时间段内的数据,而归档日志是备份的历史时间段中的数据库数据备份,因此,为了达到最终能够将数据库恢复至任意时间段的效果,需要所获取的数据库的在线重做日志及第一数据库归档日志时间点能够连续。即如图7和图8中所示,图7通过使用redo日志完全恢复方式,结合图8通过使用归档日志的不完全恢复方式,从而首先将redo日志中的数据进行归档,进而通过redo日志恢复产生的归档日志加备份归档日志的方式达到用户所有数据的归档,实现归档日志数据的完整连续,通过对归档日志的不完全恢复,从而达到任意时间点的恢复,例如:归档日志arc1…arcn备份的数据时间点为1点到8点,redo日志中的数据时间点为8点到10点。在图7中使用redo日志完全恢复生成数据时间为8点到10点的归档日志racn+1,此时所有归档日志为arc1…arcn+1的归档日志,归档日志的数据为1点到10点之间的数据,从而保证归档日志数据的完整连续,再在图8中使用归档日志进行不完全恢复达到1点到10点任意时间点的恢复。
接着,第一恢复装置12根据所述数据库在线重做日志进行数据库恢复操作。其中,所述数据库恢复操作是指利用在线重做日志所进行的完全恢复操作,从而归档出在线重做日志所对应的归档日志。具体实施步骤如图7所示,首先将文件挂载至用于恢复数据的设备,例如创建一台用于将数据库恢复到此处的恢复机,具体挂载用户数据文件,归档日志文件,例如arc1…arcn,redo日志,例如redo01…redo03到恢复机,其中用户数据文件是用户备份的数据库文件,为用户使用备份命令所备份的数据。接着,如图7所示,启动数据库到nomount状态,也就是根据参数文件启动文件状态,在此,参数文件是使用数据库中的模板所生成。接着,配置数据文件、redo日志文件到控制配置文件中,再通过使用控制配置文件创建控制文件,即图7中所述的使用数据文件及redo日志创建控制文件NORESETLOGS,从而可通过控制文件将数据库启动到mount状态,即加载控制文件,让实例和数据库相关联的状态,继而在数据库的归档模式下,使用recover database方式恢复数据库,从而生成redo日志如redo01…redo03对应的归档日志arcn+1。在利用在线重做日志获取数据库的归档日志后,使得所能够获取到的归档日志对应的时间点覆盖到了数据库最近的时间段内,即归档日志能够对数据库所有恢复前的时间段实现全覆盖。
本领域技术人员应能理解上述利用在线重做日志在数据库恢复中生成归档日志的方式仅为举例,其他现有的或今后可能出现的利用在线重做日志在数据库恢复中生成归档日志的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
接着,归档日志获取装置13获取所述数据库恢复操作中产生的第二数据库归档日志。是指上述利用在线重做日志在数据库恢复中生成归档日志,通过读取等方式获取,进而拷贝到归档日志文件中,例如,在上述举例中利用在线重做日志进行数据库恢复过程中,将所产生的对应的归档日志arcn+1存放至预先指定的目录中,进而从这一目录中将对应的归档日志arcn+1拷贝出的过程,即为获取所述归档日志的过程。获取所述数据库恢复操作中产生的第二数据库归档日志,使得归档日志全面覆盖全部的数据库恢复之前的时间点。
接着,第二恢复装置14更新所述第一数据库归档日志,根据更新后所述第一数据库归档日志进行指定时间点的数据库恢复操作。更新所述第一数据库归档日志,是指将根据所获取的根据在线重做日志进行数据库恢复时所产生的第二数据库归档日志放入第一数据库归档日志所在目录,从而使得归档日志进一步覆盖全部时间段。因为,归档日志覆盖了全部的数据库在恢复前的全部时间点的数据备份,所以可指定任一时间点进行数据库的恢复操作,即通过基于归档日志的不完全恢复,从而可将数据库恢复到任一时间点。具体如图8所示,挂载用户备份数据集、归档日志文件到恢复机,其中,所述用户备份数据集是指用户备份的数据库数据文件,是用户使用备份命令备份的数据。接着拷贝用在线重做日志进行数据库恢复过程中所产生的对应的归档日志arcn+1到归档日志目录中,使得归档日志得到更新,进而启动数据库到nomount状态,也就是根据参数文件启动文件状态,在此,参数文件是使用数据库中的模板所生成。接着,配置数据文件到控制配置文件中,再通过控制配置文件创建控制文件,即图8中所述的使用数据文件创建控制文件RESETLOGS,从而可通过控制文件将数据库启动到mount状态,即加载控制文件,让实例和数据库相关联的状态,继而在数据库的归档模式下,设置任意恢复时间点,进而使用recover database方式恢复数据库。
本领域技术人员应能理解上述利用更新后归档日志将数据库恢复至任意指定时间点的方式仅为举例,其他现有的或今后可能出现的利用更新后归档日志将数据库恢复至任意指定时间点的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
图2示出根据本申请另一个方面的一种优选实例的第一恢复装置示意图。所述第一恢复装置12包括第一恢复单元121、归档日志处理单元122。
其中,第一恢复单元121根据所述数据库在线重做日志进行数据库恢复操作,其中,所述数据库恢复操作将数据库恢复至所述数据库在线重做日志对应的备份时间点;归档日志处理单元122将在所述数据库恢复操作中产生的第二数据库归档日志存入指定目录,其中,所述数据库恢复操作中产生的第二数据库归档日志与所述数据库在线重做日志备份时间对应。
具体地,第一恢复单元121根据所述数据库在线重做日志进行数据库恢复操作,其中,所述数据库恢复操作将数据库恢复至所述数据库在线重做日志对应的备份时间点。根据在线重做日志,数据库将恢复至在线重做日志所对应的时间点,因此也能够获得相应对应时间的归档日志,从而使得归档日志覆盖原先所没有覆盖到的在线重做日志对应的时间点。接上文举例,归档日志arc1…arcn备份的数据时间点为1点到8点,redo日志中的数据时间点为8点到10点。在图7中使用redo日志完全恢复数据库对应的时间为8点到10点即为在线重做日志对应的备份时间点。如图7所示,使用recover database恢复数据库后,使用ALTER DATABASE OPEN命令打开数据库,此时redo日志文件中的数据会被归档成归档日志文件arcn+1,将arcn+1拷贝至指定归档路径后,卸载恢复机中的数据块文件,归档日志文件和redo日志文件,从而使得恢复机可以用于进一步进行基于归档日志的不完全恢复的工作。
优选地,所述数据库恢复操作包括将数据库设置为归档模式。即在基于在线重做日志对数据库进行恢复操作的过程中将数据库设置为归档模式,从而在此模式下能够在恢复数据库的过程中获得相应时间点的归档日志。即例如图7中在基于在线重做日志进行完全恢复时设置数据库为归档模式,再使用recover database的方式恢复数据库。
接着,归档日志处理单元122将在所述数据库恢复操作中产生的第二数据库归档日志存入指定目录,其中,所述数据库恢复操作中产生的第二数据库归档日志与所述数据库在线重做日志备份时间对应。是指在基于在线重做日志进行数据库恢复操作时,指定目录用于存放所产生的新的归档日志,从而便于更新归档日志时一并提取。接上文举例,归档日志arc1…arcn备份的数据时间点为1点到8点,redo日志中的数据时间点为8点到10点。在图7中使用redo日志完全恢复生成数据时间为8点到10点的归档日志racn+1,此时所有归档日志为arc1…arcn+1的归档日志,归档日志的数据为1点到10点之间的数据。在此,所述归档日志racn+1对应的8点到10点即为在线重做日志对应的备份时间点。
优选地,结合图2中所述第一恢复装置12的作用,所述归档日志获取装置13从所述指定目录中获取所述数据库恢复操作中产生的第二数据库归档日志。即接上文所述,将基于在线重做日志的数据块恢复操作中所产生的数据块放入指定目录,例如图7中所示,设置数据库为归档模式,同时设置归档路径,在此,归档路径即为存放新的归档日志的指定目录,在进行获取归档日志进而更新归档日志目录时,即会访问该归档路径。
图3示出根据本申请另一个方面的一种优选实例的第二恢复装置示意图。所述第二恢复装置14包括归档日志更新单元141、第二恢复单元142。
其中,归档日志更新单元141更新所述第一数据库归档日志,其中,将所述数据库恢复操作中产生的第二数据库归档日志合入已有所述第一数据库归档日志对应的文件目录中;第二恢复单元142根据更新后所述第一数据库归档日志进行指定时间点的数据库恢复操作。
具体地,归档日志更新单元141更新所述第一数据库归档日志,其中,将所述数据库恢复操作中产生的第二数据库归档日志合入已有所述第一数据库归档日志对应的文件目录中。即在获取所述新产生的在线重做日志对应时间点的归档日志后,通过拷贝或直接合入已有的历史归档日志中的方式,更新归档日志相应的文件目录,从而获得覆盖数据库在恢复前的全部备份时间点的数据,进而可以基于更新后的文件目录进行任一指定时间点的数据库不完全恢复的操作。
接着,第二恢复单元142根据更新后所述第一数据库归档日志进行指定时间点的数据库恢复操作。即接上文对第二恢复装置的举例,如图8所示设置数据库为归档模式,同时设置归档路径后,设置数据的恢复时间为所需要恢复的任意时间点,在此,具体所设置的时间点由用户需求而定。接着,使用recover database的方式恢复数据库,完成后使用ALTER DATABASE OPEN RESETLOGS命令打开数据库,从而完成数据恢复的整个过程。
本领域技术人员应能理解上述利用更新后归档日志将数据库恢复至任意指定时间点的方式仅为举例,其他现有的或今后可能出现的利用更新后归档日志将数据库恢复至任意指定时间点的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
优选地,所述指定时间点包括更新后所述数据库归档日志所覆盖的全部备份时间点。即所述指定的时间点在所获取的现有更新后的归档日志所覆盖的范围内,对应归档日志的所有备份时间点,任意选取备份时间点进行指定,即可将数据库恢复到相应时间点,相较于通常的完全恢复至最近时间点的恢复方式,有可以选择的余地,在数据库出现重启或故障需要进行恢复操作之前的所有备份时间点均可选择,包括历史时间点以及最近的在线事务操作的由原在线重做日志对应的备份时间点。
图4示出根据本申请另一个方面的一种用于数据库恢复的方法流程图。所述方法包括步骤S1、步骤S2、步骤S3以及步骤S4。
其中,在步骤S1中设备1获取数据库在线重做日志及第一数据库归档日志;步骤S2中设备1根据所述数据库在线重做日志进行数据库恢复操作;步骤S3中设备1获取所述数据库恢复操作中产生的第二数据库归档日志;步骤S4中设备1更新所述第一数据库归档日志,根据更新后所述第一数据库归档日志进行指定时间点的数据库恢复操作。
具体地,在步骤S1中设备1获取数据库在线重做日志及第一数据库归档日志。其中,所述在线重做日志是指备份数据库在事务操作状态数据的日志文件,包括了数据库在因为故障、重启等原因打断而无法启动实例需要进行恢复之前最近时间段的数据库数据备份,例如图7及图8中所举例的redo日志即是指在线重做日志。所述归档日志是指备份数据库在历史时间段中所包含的数据备份,当数据库遭遇磁盘损伤后可依据归档日志进行历史时间段的数据库数据恢复,即如图7及图8中所举例的归档日志。从需要回复的数据块中获取相应的在线重做日志及归档日志,使得可进一步利用两种日志进行数据库的恢复操作。
优选地,在步骤S1中设备1获取数据库在线重做日志及第一数据库归档日志,其中,所述第一数据库归档日志与所述在线重做日志在备份时间上保持连续。即因为在线重做日志是备份的数据库在线事务操作也就是发生故障或重启前最后时间段内的数据,而归档日志是备份的历史时间段中的数据库数据备份,因此,为了达到最终能够将数据库恢复至任意时间段的效果,需要所获取的数据库的在线重做日志及第一数据库归档日志时间点能够连续。即如图7和图8中所示,图7通过使用redo日志完全恢复方式,结合图8通过使用归档日志的不完全恢复方式,从而首先将redo日志中的数据进行归档,进而通过redo日志恢复产生的归档日志加备份归档日志的方式达到用户所有数据的归档,实现归档日志数据的完整连续,通过对归档日志的不完全恢复,从而达到任意时间点的恢复,例如:归档日志arc1…arcn备份的数据时间点为1点到8点,redo日志中的数据时间点为8点到10点。在图7中使用redo日志完全恢复生成数据时间为8点到10点的归档日志racn+1,此时所有归档日志为arc1…arcn+1的归档日志,归档日志的数据为1点到10点之间的数据,从而保证归档日志数据的完整连续,再在图8中使用归档日志进行不完全恢复达到1点到10点任意时间点的恢复。
接着,在步骤S2中设备1根据所述数据库在线重做日志进行数据库恢复操作。其中,所述数据库恢复操作是指利用在线重做日志所进行的完全恢复操作,从而归档出在线重做日志所对应的归档日志。具体实施步骤如图7所示,首先将文件挂载至用于恢复数据的设备,例如创建一台用于将数据库恢复到此处的恢复机,具体挂载用户数据文件,归档日志文件,例如arc1…arcn,redo日志,例如redo01…redo03到恢复机,其中用户数据文件是用户备份的数据库文件,为用户使用备份命令所备份的数据。接着,如图7所示,启动数据库到nomount状态,也就是根据参数文件启动文件状态,在此,参数文件是使用数据库中的模板所生成。接着,配置数据文件、redo日志文件到控制配置文件中,再通过使用控制配置文件创建控制文件,即图7中所述的使用数据文件及redo日志创建控制文件NORESETLOGS,从而可通过控制文件将数据库启动到mount状态,即加载控制文件,让实例和数据库相关联的状态,继而在数据库的归档模式下,使用recover database方式恢复数据库,从而生成redo日志如redo01…redo03对应的归档日志arcn+1。在利用在线重做日志获取数据库的归档日志后,使得所能够获取到的归档日志对应的时间点覆盖到了数据库最近的时间段内,即归档日志能够对数据库所有恢复前的时间段实现全覆盖。
本领域技术人员应能理解上述利用在线重做日志在数据库恢复中生成归档日志的方式仅为举例,其他现有的或今后可能出现的利用在线重做日志在数据库恢复中生成归档日志的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
接着,在步骤S3中设备1获取所述数据库恢复操作中产生的第二数据库归档日志。是指上述利用在线重做日志在数据库恢复中生成归档日志,通过读取等方式获取,进而拷贝到归档日志文件中,例如,在上述举例中利用在线重做日志进行数据库恢复过程中,将所产生的对应的归档日志arcn+1存放至预先指定的目录中,进而从这一目录中将对应的归档日志arcn+1拷贝出的过程,即为获取所述归档日志的过程。获取所述数据库恢复操作中产生的第二数据库归档日志,使得归档日志全面覆盖全部的数据库恢复之前的时间点。
接着,在步骤S4中设备1更新所述第一数据库归档日志,根据更新后所述第一数据库归档日志进行指定时间点的数据库恢复操作。更新所述第一数据库归档日志,是指将根据所获取的根据在线重做日志进行数据库恢复时所产生的第二数据库归档日志放入第一数据库归档日志所在目录,从而使得归档日志进一步覆盖全部时间段。因为,归档日志覆盖了全部的数据库在恢复前的全部时间点的数据备份,所以可指定任一时间点进行数据库的恢复操作,即通过基于归档日志的不完全恢复,从而可将数据库恢复到任一时间点。具体如图8所示,挂载用户备份数据集、归档日志文件到恢复机,其中,所述用户备份数据集是指用户备份的数据库数据文件,是用户使用备份命令备份的数据。接着拷贝用在线重做日志进行数据库恢复过程中所产生的对应的归档日志arcn+1到归档日志目录中,使得归档日志得到更新,进而启动数据库到nomount状态,也就是根据参数文件启动文件状态,在此,参数文件是使用数据库中的模板所生成。接着,配置数据文件到控制配置文件中,再通过控制配置文件创建控制文件,即图8中所述的使用数据文件创建控制文件RESETLOGS,从而可通过控制文件将数据库启动到mount状态,即加载控制文件,让实例和数据库相关联的状态,继而在数据库的归档模式下,设置任意恢复时间点,进而使用recover database方式恢复数据库。
本领域技术人员应能理解上述利用更新后归档日志将数据库恢复至任意指定时间点的方式仅为举例,其他现有的或今后可能出现的利用更新后归档日志将数据库恢复至任意指定时间点的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
图5示出根据本申请另一个方面的一种优选实例的步骤S2示意图。所述步骤S2包括步骤S21、步骤S22。
其中,在步骤S21中设备1根据所述数据库在线重做日志进行数据库恢复操作,其中,所述数据库恢复操作将数据库恢复至所述数据库在线重做日志对应的备份时间点;在步骤S22中设备1将在所述数据库恢复操作中产生的第二数据库归档日志存入指定目录,其中,所述数据库恢复操作中产生的第二数据库归档日志与所述数据库在线重做日志备份时间对应。
具体地,在步骤S21中设备1根据所述数据库在线重做日志进行数据库恢复操作,其中,所述数据库恢复操作将数据库恢复至所述数据库在线重做日志对应的备份时间点。根据在线重做日志,数据库将恢复至在线重做日志所对应的时间点,因此也能够获得相应对应时间的归档日志,从而使得归档日志覆盖原先所没有覆盖到的在线重做日志对应的时间点。接上文举例,归档日志arc1…arcn备份的数据时间点为1点到8点,redo日志中的数据时间点为8点到10点。在图7中使用redo日志完全恢复数据库对应的时间为8点到10点即为在线重做日志对应的备份时间点。如图7所示,使用recover database恢复数据库后,使用ALTER DATABASE OPEN命令打开数据库,此时redo日志文件中的数据会被归档成归档日志文件arcn+1,将arcn+1拷贝至指定归档路径后,卸载恢复机中的数据块文件,归档日志文件和redo日志文件,从而使得恢复机可以用于进一步进行基于归档日志的不完全恢复的工作。
优选地,所述数据库恢复操作包括将数据库设置为归档模式。即在基于在线重做日志对数据库进行恢复操作的过程中将数据库设置为归档模式,从而在此模式下能够在恢复数据库的过程中获得相应时间点的归档日志。即例如图7中在基于在线重做日志进行完全恢复时设置数据库为归档模式,再使用recover database的方式恢复数据库。
接着,在步骤S22中设备1将在所述数据库恢复操作中产生的第二数据库归档日志存入指定目录,其中,所述数据库恢复操作中产生的第二数据库归档日志与所述数据库在线重做日志备份时间对应。是指在基于在线重做日志进行数据库恢复操作时,指定目录用于存放所产生的新的归档日志,从而便于更新归档日志时一并提取。接上文举例,归档日志arc1…arcn备份的数据时间点为1点到8点,redo日志中的数据时间点为8点到10点。在图7中使用redo日志完全恢复生成数据时间为8点到10点的归档日志racn+1,此时所有归档日志为arc1…arcn+1的归档日志,归档日志的数据为1点到10点之间的数据。在此,所述归档日志racn+1对应的8点到10点即为在线重做日志对应的备份时间点。
优选地,结合图5中所述步骤S2的作用,在所述步骤S3中设备1从所述指定目录中获取所述数据库恢复操作中产生的第二数据库归档日志。即接上文所述,将基于在线重做日志的数据块恢复操作中所产生的数据块放入指定目录,例如图7中所示,设置数据库为归档模式,同时设置归档路径,在此,归档路径即为存放新的归档日志的指定目录,在进行获取归档日志进而更新归档日志目录时,即会访问该归档路径。
图6示出根据本申请另一个方面的一种优选实例的步骤S4示意图。所述步骤S4包括步骤S41、步骤S42。
其中,在步骤S41中设备1更新所述第一数据库归档日志,其中,将所述数据库恢复操作中产生的第二数据库归档日志合入已有所述第一数据库归档日志对应的文件目录中;在步骤S42中设备1根据更新后所述第一数据库归档日志进行指定时间点的数据库恢复操作。
具体地,在步骤S41中设备1更新所述第一数据库归档日志,其中,将所述数据库恢复操作中产生的第二数据库归档日志合入已有所述第一数据库归档日志对应的文件目录中。即在获取所述新产生的在线重做日志对应时间点的归档日志后,通过拷贝或直接合入已有的历史归档日志中的方式,更新归档日志相应的文件目录,从而获得覆盖数据库在恢复前的全部备份时间点的数据,进而可以基于更新后的文件目录进行任一指定时间点的数据库不完全恢复的操作。
接着,在步骤S42中设备1根据更新后所述数据库归档日志进行指定时间点的数据库恢复操作。即接上文对第二恢复装置的举例,如图8所示设置数据库为归档模式,同时设置归档路径后,设置数据的恢复时间为所需要恢复的任意时间点,在此,具体所设置的时间点由用户需求而定。接着,使用recover database的方式恢复数据库,完成后使用ALTERDATABASE OPEN RESETLOGS命令打开数据库,从而完成数据恢复的整个过程。
本领域技术人员应能理解上述利用更新后归档日志将数据库恢复至任意指定时间点的方式仅为举例,其他现有的或今后可能出现的利用更新后归档日志将数据库恢复至任意指定时间点的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
优选地,所述指定时间点包括更新后所述第一数据库归档日志所覆盖的全部备份时间点。即所述指定的时间点在所获取的现有更新后的归档日志所覆盖的范围内,对应归档日志的所有备份时间点,任意选取备份时间点进行指定,即可将数据库恢复到相应时间点,相较于通常的完全恢复至最近时间点的恢复方式,有可以选择的余地,在数据库出现重启或故障需要进行恢复操作之前的所有备份时间点均可选择,包括历史时间点以及最近的在线事务操作的由原在线重做日志对应的备份时间点。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (14)

1.一种用于数据库恢复的方法,其中,该方法包括:
获取数据库在线重做日志及第一数据库归档日志;
根据所述数据库在线重做日志进行数据库恢复操作;
获取所述数据库恢复操作中产生的第二数据库归档日志;
利用所述第二数据库归档日志更新所述第一数据库归档日志,根据更新后的所述第一数据库归档日志进行指定时间点的数据库恢复操作。
2.根据权利要求1所述的方法,其中,所述获取数据库在线重做日志及第一数据库归档日志包括:
获取数据库在线重做日志及第一数据库归档日志,其中,所述第一数据库归档日志与所述在线重做日志在备份时间上保持连续。
3.根据权利要求1所述的方法,其中,所述根据所述数据库在线重做日志进行数据库恢复操作包括:
根据所述数据库在线重做日志进行数据库恢复操作,其中,所述数据库恢复操作将数据库恢复至所述数据库在线重做日志对应的备份时间点;
将在所述数据库恢复操作中产生的第二数据库归档日志存入指定目录,其中,所述数据库恢复操作中产生的第二数据库归档日志与所述数据库在线重做日志备份时间对应。
4.根据权利要求3所述的方法,其中,所述数据库恢复操作包括将数据库设置为归档模式。
5.根据权利要求3所述的方法,其中,所述获取所述数据库恢复操作中产生的第二数据库归档日志包括:
从所述指定目录中获取所述数据库恢复操作中产生的第二数据库归档日志。
6.根据权利要求1所述的方法,其中,所述利用所述第二数据库归档日志更新所述第一数据库归档日志,根据更新后的所述第一数据库归档日志进行指定时间点的数据库恢复操作还包括:
利用所述第二数据库归档日志更新所述第一数据库归档日志,其中,将所述数据库恢复操作中产生的第二数据库归档日志合入已有所述第一数据库归档日志对应的文件目录中;
根据更新后的所述第一数据库归档日志进行指定时间点的数据库恢复操作。
7.根据权利要求1或6所述的方法,其中,所述指定时间点包括更新后的所述第一数据库归档日志所覆盖的全部备份时间点。
8.一种用于数据库恢复的设备,其中,该设备包括:
日志获取装置,用于获取数据库在线重做日志及第一数据库归档日志;
第一恢复装置,用于根据所述数据库在线重做日志进行数据库恢复操作;
归档日志获取装置,用于获取所述数据库恢复操作中产生的第二数据库归档日志;
第二恢复装置,用于利用所述第二数据库归档日志更新所述第一数据库归档日志,根据更新后的所述第一数据库归档日志进行指定时间点的数据库恢复操作。
9.根据权利要求8所述的设备,其中,所述日志获取装置用于:
获取数据库在线重做日志及第一数据库归档日志,其中,所述第一数据库归档日志与所述在线重做日志在备份时间上保持连续。
10.根据权利要求8所述的设备,其中,所述第一恢复装置包括:
第一恢复单元,用于根据所述数据库在线重做日志进行数据库恢复操作,其中,所述数据库恢复操作将数据库恢复至所述数据库在线重做日志对应的备份时间点;
归档日志处理单元,用于将在所述数据库恢复操作中产生的第二数据库归档日志存入指定目录,其中,所述数据库恢复操作中产生的第二数据库归档日志与所述数据库在线重做日志备份时间对应。
11.根据权利要求10所述的设备,其中,所述数据库恢复操作包括将数据库设置为归档模式。
12.根据权利要求10所述的设备,其中,所述归档日志获取装置用于:
从所述指定目录中获取所述数据库恢复操作中产生的第二数据库归档日志。
13.根据权利要求8所述的设备,其中,所述第二恢复装置还包括:
归档日志更新单元,用于利用所述第二数据库归档日志更新所述第一数据库归档日志,其中,将所述数据库恢复操作中产生的第二数据库归档日志合入已有所述第一数据库归档日志对应的文件目录中;
第二恢复单元,用于根据更新后的所述第一数据库归档日志进行指定时间点的数据库恢复操作。
14.根据权利要求8或13所述的设备,其中,所述指定时间点包括更新后的所述第一数据库归档日志所覆盖的全部备份时间点。
CN201610250515.6A 2016-04-21 2016-04-21 一种用于数据库恢复的方法与设备 Active CN105955843B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610250515.6A CN105955843B (zh) 2016-04-21 2016-04-21 一种用于数据库恢复的方法与设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610250515.6A CN105955843B (zh) 2016-04-21 2016-04-21 一种用于数据库恢复的方法与设备

Publications (2)

Publication Number Publication Date
CN105955843A CN105955843A (zh) 2016-09-21
CN105955843B true CN105955843B (zh) 2019-05-28

Family

ID=56917812

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610250515.6A Active CN105955843B (zh) 2016-04-21 2016-04-21 一种用于数据库恢复的方法与设备

Country Status (1)

Country Link
CN (1) CN105955843B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107256182B (zh) * 2017-05-03 2020-09-08 上海上讯信息技术股份有限公司 一种数据库还原的方法及设备
CN108664359B (zh) * 2018-05-23 2020-12-29 上海达梦数据库有限公司 一种数据库恢复方法、装置、设备及存储介质
CN109189613A (zh) * 2018-09-20 2019-01-11 快云信息科技有限公司 一种数据库数据恢复方法及相关装置
CN111158958B (zh) * 2019-12-31 2020-11-13 广州鼎甲计算机科技有限公司 一种可快速恢复数据的备份方法、系统、装置及存储介质
CN112199329B (zh) * 2020-09-24 2023-08-18 上海上讯信息技术股份有限公司 基于堡垒机的双机运维数据归档清理方法与设备
CN112256485B (zh) * 2020-10-30 2023-08-04 网易(杭州)网络有限公司 数据备份方法、装置、介质和计算设备
CN112948176B (zh) * 2021-02-23 2023-09-15 上海上讯信息技术股份有限公司 一种db2数据库恢复的方法及设备
CN116541469B (zh) * 2023-07-07 2024-04-09 深圳市科力锐科技有限公司 数据同步的实现方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103226502A (zh) * 2013-05-21 2013-07-31 中国工商银行股份有限公司 一种数据灾备控制系统及数据恢复方法
CN103853837A (zh) * 2014-03-17 2014-06-11 上海爱数软件有限公司 Oracle全自动不停生产数据库的表级备份恢复方法
CN103914359A (zh) * 2012-12-31 2014-07-09 中国移动通信集团浙江有限公司 一种数据恢复方法及装置
CN105279045A (zh) * 2015-10-28 2016-01-27 浪潮(北京)电子信息产业有限公司 一种数据库的数据恢复方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7200625B2 (en) * 2002-10-18 2007-04-03 Taiwan Semiconductor Manufacturing Co., Ltd. System and method to enhance availability of a relational database

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103914359A (zh) * 2012-12-31 2014-07-09 中国移动通信集团浙江有限公司 一种数据恢复方法及装置
CN103226502A (zh) * 2013-05-21 2013-07-31 中国工商银行股份有限公司 一种数据灾备控制系统及数据恢复方法
CN103853837A (zh) * 2014-03-17 2014-06-11 上海爱数软件有限公司 Oracle全自动不停生产数据库的表级备份恢复方法
CN105279045A (zh) * 2015-10-28 2016-01-27 浪潮(北京)电子信息产业有限公司 一种数据库的数据恢复方法及系统

Also Published As

Publication number Publication date
CN105955843A (zh) 2016-09-21

Similar Documents

Publication Publication Date Title
CN105955843B (zh) 一种用于数据库恢复的方法与设备
AU2012347883B2 (en) System and method for restoring application data
US9317373B2 (en) Snapshots in a hybrid storage device comprising a magnetic disk and a solid state disk
US9311192B2 (en) Methods, systems, and products for data backup
CN108416040B (zh) 一种数据库修复方法、装置、终端设备及存储介质
US20110113013A1 (en) Duplicate backup data identification and consolidation
EP4141667A1 (en) Efficiently providing virtual machine reference points
CN107256182A (zh) 一种数据库还原的方法及设备
US11567686B2 (en) Snapshot lifecycle management systems and methods
CN101404567A (zh) 在备份数据上实现读/写、多版本文件系统
CN113918385B (zh) 虚拟机在线增量备份恢复的方法、装置、电子设备及介质
EP3147797A1 (en) Data management method, node and system for database cluster
US10509767B2 (en) Systems and methods for managing snapshots of a file system volume
CN111506253A (zh) 一种分布式存储系统及其存储方法
US9251189B2 (en) Update of data structure configured to store metadata associated with a database system
CN111381931A (zh) 容灾方法、装置及系统
US9547555B2 (en) Change tracking using redundancy in logical time
US8060475B1 (en) Intelligent recovery point copying system and method
US8825600B2 (en) File backup apparatus and method for backing up one or more directories
US8595271B1 (en) Systems and methods for performing file system checks
US7472141B1 (en) System and method for controlling off-host policies
JP6157420B2 (ja) 業務処理システムおよび業務処理方法
CN107678880B (zh) 一种小型机计算分区操作系统备份恢复装置及方法
CN107423166B (zh) 一种基于overlay文件系统的数据处理方法及系统
CN109144774A (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
GR01 Patent grant
GR01 Patent grant