恢复数据库时并行读取主从备份的系统和方法

文档序号:6554701阅读:205来源:国知局
专利名称:恢复数据库时并行读取主从备份的系统和方法
技术领域
本发明涉及用备份拷贝和变化累积数据集进行数据库恢复。具体地说,本发明涉及用完整或不完整的变化积累数据集进行数据库恢复。
对大量数据库的管理在现代社会有着永恒的重要性,现代社会依赖于反应关键信息的数据的可靠存储。一般地,对用户来说,数据库必须是持续可操作和可用的。当今数据库系统基本上是坚固的,它们不经常经历故障。然而,在故障出现时,必须能有效且精确地进行数据库恢复,以使用户的损失减至最少。因此,数据库恢复是必须能迅速执行的一项操作,以便使用户的停机时间减至最少。经历长时间的停机的数据库会很快地导致经济灾难。
数据库由复杂的数据库管理系统进行管理。数据库管理系统的一个实例是可从纽约Armonk的IBM公司买到的信息管理系统(IMS)。IMS系统目前在操作上用来服务于大量的数据库。IMS系统允许访问一个或多个数据库以使用户与保存在数据库中的数据相交互,多数用户的存取涉及事务操作。
当用户更新数据库中数据库数据集时,数据库管理系统将更新记录进日志数据集。日志数据集是诸如文件之类的大量数据,这些数据反映了对数据库的一系列更新。日志数据集被记录,到定义了起点和终点的顺序记录。
用户可周期性地作数据库的备份拷贝或系列备份拷贝,以便帮助恢复数据库。这些备份拷贝可由磁带管理系统记录在磁带档案上。备份拷贝用作将数据库恢复成数据库出故障之前的状态的基础。在恢复时,根据日志数据集的记录对数据库进行随后的更新。恢复还需要将数据库和备份的属性存储起来。数据库管理系统通常包括用于对恢复进行控制的数据集,该数据集包括以和备份拷贝的多种属性。数据库管理系统使用记录在该数据集中与数据库和备份拷贝相关的某种形式的恢复控制信息,以帮助进行恢复。
数据库管理系统包括恢复工具以便对数据库故障进行响应。在数据库发生故障时,恢复工具会创建一新的数据库并将备份拷贝写入新数据库。该恢复工具还从创建备份拷贝的时间将所有更新都应用到到前述数据库。用于从备份拷贝的最后状态恢复新数据库的信息取自日志数据集和恢复控制信息。
为了帮助进行数据库恢复,本文称为变化累积工具的工具对更新进行累积并将它们放到变化累积数据集(CADS)内。CADS是日志记录中应用到新数据库并在数据库恢复期间用作输入的变化的累积。CADS可反映多于一个数据库的更新。典型的数据库记录是一次更新一部分,可以有重叠的更新,这就使得恢复的次序变得很重要。CADS接收重叠的更新,但在所有变化之后,CADS仅反映出最终的变化。
为了创建CADS,变化累积工具顺序地即一个接一个地读取日志数据集。一般地说,用户将他们的多个数据库组织成变化累积组,因此,变化累积工具能尽可能有效率地进行操作。用户可以针对一个变化累积组运行变化累积过程,并将一可选的辅助输出-未被写入变化累积数据集的成组日志记录-用作要加以处理的下一个变化累积组的变化累积工具的输入。对其中当前的变化累积操作使用了前一次变化累积操作的辅助输出的各变化累积组都这样做。这一串行过程直接由用户管理。用户通常周期性地进行变化累积,因此,当变化累积组中数据库数据集需要恢复时,可使进行最终变化累积作业和随后的恢复作业所需的时间减至最少。正如所顶料的那样,这种顺序恢复过程是相当复杂的。
该恢复工具将整个CADS读入存储器并使用该CADS中与正加以恢复的数据库相关的那部分。每条记录均具有一标识,它是顺序的,从而顺序地恢复数据库数据集。恢复工具对CADS内的每条记录都进行寻址,以检查该记录的数据是否有变化。如果是,则访问CADS,并将相关的记录合并进新数据库。
在日常操作期间,数据库管理系统周期性地在上述数据库和日志数据集中创建更新。随着时间的推移,可创建若干个更新。但是,更新在物理上写入数据库之前,更新并不永久地存储在数据库中。一般地说,数据库活动是以能将更新“提交”给数据库为基础的。提交点是更新成为数据库永久组成部分的时间点。提交点之间的时间跨度称为“提交范围”或“恢复单元”(UOR)。如果出现错误,如对数据库的写错误从而不能更新,那么,自最后提交点以来产生的所有更新均被“放弃”。就好像从未进行过更新。
用于实现数据库更新和提交点处理的一种方法是数据库管理器将数据库的变化保留在存储器并不将这些变化应用到数据库,直至达到提交点。在更新被建立时,将变化了的数据库数据的拷贝写入日志。在达到提交点且如预期那样一切顺利,就将更新写入数据库。如果出现错误,则释放包含有数据库更新的存储器。
对数据库的共同更新是一个事务,事务是一个包括执行多项活动的操作的整体逻辑块。在最简单的层次上,事务可包括减少一帐户并增加另一帐户。该事务中所执行的活动可超出第一提交点并且在后续提交点之前不是永久的。
变化累积工具通过获取业已在一定提交点范围内提交的日志数据集而创建CADS并将它们组合起来。所提交的日志数据集能在恢复期间很容易地提供给新数据库,因为这些数据集是永久的。在最后被记录的提交点之后出现的更新不能立即提供给新数据库,因为,不能保证在以后的提交点提交这些更新。提交点出错会导致更新以及任何相关的事务放弃。如果需要放弃更新,则检索日志记录并使用未改变的数据库的拷贝,以便能有效地取消改变。因此,不必将提交点之后出现的更新提交给数据库。
每个CADS均包括一详细记录,该记录是来自一个或多个日志的被提交的更新。每个详细记录均是一系列连续的字节,这些字节可覆盖进一个数据库物理记录的备份拷贝。应用CADS中的所有详细记录等价于对自从“合并结束点”范围内进行备份拷贝以来进入的数据库重新运行所有的事务。合并结束点是这样的时间点,其中,由于所有的变化记录对更新来说都已不可用,故这些更新不再与新数据库相合并。因此,不能就是否已提交了这些更新作出保证。将不能与新数据库合并的更新写入称为“溢出(spill)记录”的记录。一个完整的CADS仅包括详细记录,而一个不完整的CADS则包括详细记录和溢出记录。在当多个数据库管理系统共享一个数据库时发生不完整的CADS的创建。大多数数据库管理系统以共享会话的方式运行,以便最大限度地使用数据库。在共享会话期间,存在有不完整的日志数据集,这些数据集带有所有日志记录都不可用的时间段中的更新。在多个数据库管理系统的共享会话中,不可能在不使数据库离线并检查日志数据集的情况下具有完整的CADS。
该变化累积工具不能确定不完整的日志数据集的更新记录因为有不可用的日志记录。该变化累积工具不能确定这些更新记录,从而不知道是否能应用更新。将这些更新记录写溢出记录。如果相关的日志记录变为可用的,则在后续的变化累积过程中读取溢出记录中的更新记录,并且,这些记录可与其它更新相合并。在共享会话期间,变化记录是不完整的,因为,当变化累积工具运行时,更新正在进行,并且,某些变化记录是不可用的。
在数据库出现故障时,终止仍在挂起的所有更新和事务。如果在数据库出现故障时未提交更新,则放弃相关的事务。在提交更新之前,更新并不是永久地用于数据库。在恢复期间,恢复工具会判断更新是以提交为结束还是以放弃为结束。如果更新以提交为结束,则将更新作用于新数据库。如果以放弃为结束,则撤消更新。
共享数据库的恢复为两个步骤的过程。首先,恢复工具必须运行变化累积过程以便读取相关的日志记录并读取不完整CADS以创建完整的CADS。因为恢复工具不能将包含在不完整CADS内的数据与新数据库相合并,所以需要这一步骤。因此,在本领域中,恢复工具不能从不完整的CADS中直接进行恢复。必须首先完成不完整的CADS。在第二个步骤中,恢复工具应用备份拷贝、完整的CADS和日志数据集并将进些组成成份相合并以形成新数据库。
在恢复过程中,完成不完整的CADS会花很长时间,因为需要读取具有更新的所有日志数据集。恢复工具还需要读取完整的CADS、将它们的数据与日志更新相合并、并根据备份拷贝和不包含在完整CADS内任何可能的额外日志数据集进行恢复。该恢复过程可以是一个非常长的过程并且能向非常需要被恢复的数据库的用户提供最佳的结果。此外,如果用户具有一系列数据库并且如果有若干这样的数据库需要恢复,则可能会存在有多个必须加以完成的不完整的CADS。完成多个不完整的CADS需要读取多个日志数据集。一般地说,为各个不完整的CADS均顺序地读取每个日志数据集。因此,在恢复过程中必须读取大量的数据,这就可能是较长的过程。
数据库恢复需要顺序地读取各个备份拷贝和各个CADS。因此,单个数据库的故障需要读取各备份拷贝的时间再加上读取各CADS的时间以及写备份拷贝和将CADS与被恢复的数据库合并起来的时间。该读取时间是除完成各个不完整CADS所花费的时间以外的时间。此外,如果需要恢复多个数据库且这些数据库具有单个CADS内的数据,则恢复工具对每个数据库的恢复都读取CADS一次。这就可能需要若干次读取同一CADS。
因此,提供简单的能显著减少数据库出现故障之后的恢复时间的数据库恢复设备和方法是本领域中的一个进步。该方法和设备应能同时恢复多个数据库数据集。提供能消除需要执行变化累积过程以完成不完整CADS从而减少恢复时间的数据库恢复过程在本领域中也是一种进步。消除为与需要进行恢复的数据库相关的各CADS顺序读取各备份拷贝和CADS在本领域中又是一种进步。
以下公开并要求保护上述进步。
本发明提供了一种恢复工具设备,用于在一个或多个数据库数据集出现故障时加速恢复时间。本发明包括一备份拷贝恢复工具,它用于读取和恢复需要恢复的数据库数据集的备份拷贝。一变化累积管理器也包括在上述恢复工具设备内,以读取一个或多个CADS中的详细记录。本发明还包括一日志管理器,它用于读取一个或多个与出故障的数据库数据集相关联的日志。一映像拷贝恢复工具将详细记录和更新应用于备份拷贝,以便形成被恢复的数据库数据集。备份拷贝恢复工具并行地读取数据库数据集的一个或多个备份拷贝。同时,变化累积管理器并行地读取一个或多个CADS。与需要进行恢复的一个或多个数据库数据集相关的各CADS只需读入存储器一次。通过这种方式,并行执行上述读取过程会减少恢复时间。为了进一步加快恢复,在将备份拷贝写入被恢复的数据库时,当需要来自CADS的记录且这些记录变为可用时,就将这些记录与被恢复的数据库相合并。
在共享环境中,每个CADS都是一个不完整的CDAS,从而其中有详细记录和溢出记录。变化累积管理器仅读取业已提交了的详细记录并忽略溢出记录。这就会消除为进行恢复而完成各个不完整CADS的通常耗时的过程。
日志管理器读取一个或多个日志,以导出溢出记录中的更新。这些更新在合并结束点之后。读取日志可确认溢出记录中的哪些更新业已提交并可与恢复的数据库相合并。并行地读取日志以减少读取时间,并且在完成读取过程之前,将该日志与被恢复的数据库相合并。
本发明的目的是并行地执行备份拷贝、CADS和日志的读取过程。
本发明的另一目的是在上述读取过程中同时处理和合并数据。
本发明的再一个目的是需要单次读取带有用于一个以上数据库数据集的数据的CADS。
本发明的还一个目的是能在不执行额外变化累积工具的情况下从一个或多个不完整CADS中直接恢复数据库数据集。
从以下说明和后附权利要求中能更完全地看出本发明的上述和其它目的、特征及优点,或者,可以通过如以下该那样实施本发明而了解本发明的上述和其它目的、特征及优点。
为了能很容易地理解获得本发明上述和其它优点及目的,以下参照在附图示出的本发明特定实施例更具体地说明以上简要说明的本发明。应该认识到,该附图仅仅说明了本发明的典型实施例,因而不应看作是限制本发明的范围,以下参考附图确切并详细地说明及解释本发明,附图中

图1是说明计算机系统的实施例的示例方框图,该计算机系统用于实现本发明的标准(format)系统;图2是说明本发明一个实施例的用于恢复一个或多个数据库数据集的组件之间通讯和互连的硬件和软件组件的框图;图3是说明本发明一个实施例的用于恢复一个或多个数据库数据集的恢复设备的一个实施例的框图;图4是涉及用于恢复一个或多个数据库数据集的设备和方法的日志时间线的图;图5是说明用于恢复一个或多个数据库数据集的方法的一个实施例的流程图。
参照附图可最佳地理解本发明的当前最佳实施例,附图中,全部都是用相同的标号表示相同的部件。可以很容易地认识到,正如本文附图中大致说明的那样,可按多种不同的结构来设置和设计本发明的组件。因此,如图1至图5所示那样,以下对本发明设备、系统和方法的实施例的详细说明并不是要如权利要求那样限制本发明的范围,而仅仅是表示本发明的当前最佳实施例。
图1至图5是概略框图和流程图,它们详细说明了依照本发明用于在图1的计算机系统中进行操作的硬件和软件模块的特定实施例。
图1是说明计算机系统10的示例方框图,其中,按本发明操作的可执行应用程序位于网络14内的一个或多个计算机工作站12上。网络14可包括广域网(WAN),也可包括互连的网络系统,一个具体实例是因特网和因特网上支持的万维网。
典型的计算机工具站12可包括逻辑设备16并由中央处理器(CPU)、微处理器、通用可编程设备、应用程序专用的硬件、状态机或其它处理机实现。逻辑设备16以可操作的方式与一个或多个存储器设备18相连。示出的存储器设备18包括诸如硬盘驱动器、CD ROM驱动器,磁带驱动器或任何其它适当的存储设备的非易失性存储设备20。存储设备18还包括只读存储器(ROM)22和随机存取易失性存储器(RAM)24。RAM24可用于在执行期间存储由逻辑设备16执行的指令。存储器设备18还包括一虚拟存储器25,该存储器在一个实施例中是用于扩展RAM24的非易失性存储器20的一部分。
计算机系统10还可包括输入设备26,它用于接收来自用户或来自另一设备的输入。与此相似,输出设备28可设置在计算机系统10内或者可从计算机系统10加以存取。诸如网络接口卡30之类的网络端口设置成用于通过网络14与外部设备连接相连。在网络14远离计算机工作站的情况下,网络接口卡30可包括调制解调器并可通过诸如电话线之类的局部存取线与网络14相连。
在内部,系统总线32以可操作的方式与逻辑设备16、存储器设备18、输入设备26、输出设备28、网卡38以及一个或多个附加端口34互连。系统总线32可看作是数据载体。同样,可按多种结构来实现系统总线32。可同样将导线、光纤线、通过可见光、红外线和射频的无线电磁通讯线路适当地实现为系统总线32。
一般地说,网络14可包括单个的局域网、广域网、多个相连的网络、内联网或诸如因特网之类的互连网络系统。网络14上的各个工作站12可具有不同程度和类型的通讯能力和逻辑能力。可在网络上使用不同的通讯协议例如ISO/OSI、IPX、TCP/IP,但在因特网的情况下,单一的分层通讯协议(TCP/IP)在不同的网络14与工作站12之间进行通讯。
网络14可包括用于将工作站12互联起来的中枢链路36。可用就系统总线32该的任何多种结构来实现中枢链路36。路由器38也连接于包括因特网40的一个或多个其它网络。
工作站12通过中枢链路36和/或因特网40彼此相通讯。工作站12可包括应用程序服务器42和/或诸如打印机、扫描仪或传真机之类的外围设备44。因此,一般地说,任何工作站12之间都存在着通讯链路。
本发明的一个方面涉及在共享或非共享环境中恢复一个或多个数据库或数据库数据集的设备。在说明各个实施例时,提及单个或多个部件并不是要将本发明仅仅限于该的结构。
参照图2,框图说明了具有多种组件的数据库系统200。数据库系统200可包括一个以上的数据库管理系统202。由DBMS1至DBMSN表示数据库管理系统202,以表示数据库系统200中的多个数据库管理系统202。数据库管理系统202可包含在图1所示的工作站12中。适用于本发明的数据库管理系统的一个实例是IMS。
每个数据库管理系统202均可包括日志204,它带有日志记录,以跟踪对保存在存储器18或数据库206内的数据的更新。日志204用于跟踪数据的变化以及相应数据库管理系统202所执行的其它事件。变化及其它事件作为日志记录存储在日志204内。日志204可存储在工作站12的一个或多个存储器设备18上。
数据库系统200还包括带有一个或多个数据库数据集的一个或多个数据库206。数据库206被标识为DB1至DBN,以说明系统200中数据库206个数的变化。数据库206可以是诸如IMS数据库之类的层次结构的数据库,但也可在另一实施例中包括关系型数据库。在整个申请书中,以可互换的方式使用数据库或数据库数据集。
每个数据库管理系统202都能访问一个或多个数据库206,以便用户能与保存在数据库206上的任何数据进行交互。一个或多个数据库管理系统202还可服务于单个的数据库206。这是一种通用的作法,因为,数据库206的规模通常需要一个以上的数据库管理系统202来有效地管理事务。在有多个数据库管理系统202同时访问数据库206时就会出现共享会话。
用电子通讯线路208来表示数据库管理系统202与数据库206的互连。电子通讯线路208可被看作是数据载体并可被实现为网络主干36。电子通讯线路208不需要组件在物理上彼此相连。可用电磁、红外、或其它无线通讯线路来实现上述电子线路。此外,由于数据库系统200在实现形式上是可变的,故图2仅用于说明的目的,因为,不是每一个系统200都具有与多个数据库206相通讯的多个数据库管理系统202。就本发明的目的而言,存在有彼此相通讯的一个数据库管理系统202和一个数据库206就足够了。
数据库恢复方法需要数据库206具有相应的备份拷贝,该拷贝可以是物理拷贝,也可以是逻辑拷贝。在一个实施例中,尽管也可以使用其它的存储装置,但备份拷贝210存储在磁带驱动器上。备份拷贝210反映了某一时间范围内的数据库206的内容并用作数据库恢复过程的起点。但是,备份拷贝210不是数据库206的数据的完整信息库,并且,如下该那样需要其它数据才能完成数据库恢复。备份拷贝210可在需要时为进行恢复而与系统200的其它组件作电子通讯208。
数据库系统200还包括与恢复有关的信息的信息库212。信息库212用于存储在介质出故障或出现其它类型无意错误的情况下恢复丢失数据所需的信息。例如,系统内的硬件可能意外地出故障,或者,用户可能偶然输入了有问题的数据或指令,这些数据或指令会导致一个或多个数据库206中的不一致性。信息库212包括数据集,这些数据集合有与数据库恢复有关的信息,这些信息则可以是系统200中使用的各个数据库206所专用的。信息库212按需与系统200中的其它组件作电子通讯208,以便更新和访问信息库212中的数据集。通过指定一个或多个数据库数据集、指定用于恢复的整个数据库206或指定如用于恢复的信息库212中限定的组,可将要加以恢复的数据库206列入恢复列表。所说的组可例如包括数据库数据集组或其它类型的数据库组。
数据库系统200包括一个或多个CADS214,它们标为CADS1至CADSN,以说明系统100中CADS214个数量上的变化。CADS214包含反映一段时间内来自一个或多个日志204的变化数据的记录。单个的CADS还可反映用于一个或多个数据库206的更新。CADS214可在需要时与其它组件作电子通讯208以便恢复一个或多个数据库206。
参照图3,示出了用于在图1的存储器设备18内进行操作的多个可执行模块。当然,本发明的模块位于其中的存储器设备18还可分布在本地和远程计算机工作站12上。在本文中用于进行数据库恢复的逻辑结构称为数据库数据库恢复工具300。数据库恢复工具300可包括在如图1所示的工作站12或服务器42上。就在工作站12或服务器42上实现数据库恢复工具300并不需要进行限制。可用多种设备结构来实现数据库恢复工具300,工作站12和服务器42仅仅是实例。
数据库恢复工具300可与一个或多个数据库206集成并对数据库206的物理恢复进行管理。数据库恢复工具300包括备份拷贝恢复工具302,用于读取和恢复一个或多个备份拷贝210。在一个实施例中,备份拷贝恢复工具302从磁带驱动器中读取备份拷贝210。备份拷贝210可包含用于一个以上数据库206的备份拷贝数据集。另外,单个的数据库206可存在有多个备份拷贝210。在恢复多个数据库206时,可能存在有多个备份拷贝210。如果需要一个以上的备份拷贝210,则备份拷贝恢复工具302最好并行地而不是顺序地读取这些备份拷贝210,以减少读取时间。
数据库恢复工具300还包括CADS管理器304,以读取进行恢复所需的CADS。同备份拷贝210一样,并行地读取CADS214,以减少读取时间。在备份拷贝恢复工具302读取备份拷贝210时,CADS管理器304最好并行地读取CADS214。在读取和恢复备份拷贝210时,CADS214被读入存储器18并根据需要作用于备份拷贝210。
并行地读取备份拷贝210或CADS214的能力取决于可用的硬件刀件。如前该,每个备份拷贝210或CADS214均可存储在诸如磁带驱动器之类的存储器上。如果磁带存储器对正在读取的各个备份拷贝210和CADS214来说是可用的,则读取时间是读取最大备份拷贝210或CADS214的时间。如果存在有比备份拷贝210或CADS214少的驱动器,则读取时间会显著增加,因为,读取时间需要顺序的读取。
数据库恢复工具300还包括恢复控制模块305,它可确认信息库212中的要被加至恢复列表内的数据库数据集。恢复控制模块305确定包含有进行恢复所需数据的日志204、备份拷贝210以及CADS214。这种确定是以信息库212中的数据为基础的。用户必须确保在正进行恢复的所有数据库206脱离数据库管理系统202之前不开始进行恢复。恢复列表中被分配给现役数据库管理系统202的数据库206将不进行恢复。恢复工具300发送将不可恢复的数据库206通知给用户的消息。
图3还说明了CADS工具306,该工具累积更新并创建CADS214。如前该,CADS工具306顺序地读取日志204中的日志数据集,以创建一个或多个CADS214。
数据库恢复工具300还包括日志管理器308,它读取日志204中的所需的日志数据集。日志管理器308生成一恢复数据流,该数据流是恢复一组特定数据库206所需的一组日志记录。恢复数据流中的记录按创建时间顺序合并。
数据库恢复工具300还包括合并结束点工具310,它确定日志管理器308所读取的各日志中的合并结束点。合并结束点表示其中日志记录不再与恢复的数据库合并并且必须被写入溢出记录的不完整日志中的时间点。因此,合并结束点对日志记录从详细记录转换至溢出记录的点作标记。如以下该,确定合并结束点对本发明是有用的。合并结束点工具310可将合并结束点提供给CADS工具306,以确定合并结束点在CADS214中的位置。
数据库恢复工具300可包括日志记录路由器(路由器)312,它用于处理来自恢复数据流的日志记录并将这些记录提供给数据库更新管理器314。数据库更新管理器314对该日志记录所涉及的数据库数据集进行更新。
数据库恢复工具300还包括映像拷贝和恢复工具316,它用于创建被恢复的数据库318。映像拷贝和恢复工具316接收来自备份拷贝恢复工具302的备份拷贝210并将备份拷贝210用作创建一个或多个被恢复的数据库318的基础。映像拷贝和恢复工具316还接收来自CADS管理器304的数据集。映像拷贝和恢复工具316按适当的顺序协调来自CADS214的数据集的应用,以创建被恢复的数据库318。在该映像拷贝和恢复工具业已创建并被写入被恢复的数据库318之后,数据库更新管理器314就将日志数据集合并进被恢复的数据库318的适当位置处。
参照图4,示出了用于多个日志204的时间线图,该图在总体上被表示为标号400。图4所示的日志204处在共享环境中,其中两个或多个数据库管理系统202正在访问一单个数据库206。日志204持续一段时间直至数据库出现故障401。每个日志204均含有时间线上所示并由相应数据库管理系统202所执行的一系列更新402。日志204因共享环境而不使所有的日志记录可用,从而是不完整的日志数据集。因此,不知道是中断还是提交了某些更新402。
合并结束点被标记为404并且是将可被合并的详细记录406与不能被合并的溢出记录408分隔开的时间点。如图4所示,合并结束点404左侧的所有日志记录均为详细记录406,右侧的所有日志记录均为溢出记录408。在合并结束点404处,变化累积过程停止将日志记录写入详细记录406并且必须在此后将日志记录写入溢出记录408。
在特定的时间,执行变化累积过程410以创建CADS214。将被确认为被提交了的更新402写入CADS214中的详细记录406内。但是,某些更新402未被确认为被提交了,从而不能与其它记录合并。可为不完整的日志集执行变化累积过程410,但未被确认的更新402被写入溢出记录408并且是不完整CADS214的一部分。正如在本技术中周知的那样,假定相关的日志记录变为可用的,则溢出记录408可在随后的变化累积过程中加以读取并与其它记录相合并。
参照图5,示出了方法步骤500的顺序,以说明本发明方法的一个实施例。在启动这一方法之前,有一个或多个数据库206出故障。该恢复方法在步骤502开始启动。启动包括例如通过创建一独立的地址空间去管理备份数据集、CADS和日志数据集而使数据库恢复工具准备操作、进行内部系统检查、初始化该地址的存储器和设备等。由图3所示的数据库恢复工具300来执行进行恢复的命令。一旦启动步骤502开始,就在不用用户干预的情况下自动地执行方法500的其余步骤,例外的是如下该那样将备份拷贝210和CADS214装进输入设备26。
在步骤504中,恢复工具300建立一恢复列表,它是要加以恢复的数据库206的列表。在一个实施例中,当在步骤504中建立恢复列表时,该列表就与发出恢复命令的逻辑终端相关联。
当恢复工具102接收到命令而开始进行恢复时,就在步骤506中继续恢复。恢复工具300进行检查以判断当前是否在进行恢复或者是否是不能找到的希望恢复的列表。如果是这样的话,则发出出错信息并中断恢复。否则,继续进行恢复。恢复工具300通过确保各数据库206均处于允许被恢复的状态而确认恢复列表并且还确定为恢复这些被确认的条目所需的资源。
在步骤508中,备份拷贝恢复工具302并行地读取所需的备份拷贝210。CADS管理器304同时并行地读取所需的CADS214。并行地读取备份拷贝210和CADS214取决于诸如磁带驱动器之类的可用的输入设备26的数量。在一个实施例中,用户可以指定要加以使用的输入设备26的数量。
在用单个CADS214上的记录恢复多个数据库210时,仅将CADS214读入存储器18一次。然后,从存储器18中检索出恢复指令数据库210所需的记录。这就消除了为各数据库210重复读取单个CADS214的步骤。
在共享环境中,CADS214是不完整的并包含有不可合并的溢出记录408。为了加快恢复,CADS管理器304仅读取详细记录406并忽略溢出记录408。这样,由于仅读取详细记录406,恢复工作不需执行变化累积过程以完成CADS。详细记录404反映了合并结束点404范围内的更新402并被读入存储器18。
在步骤510中,用映像拷贝和恢复工具316将备份拷贝210写入相应的被恢复的数据库318。通过这种方式,备份拷贝210用作创建被恢复的数据库318的起始点。在用映像拷贝和恢复工具316写备份拷贝210时,映像拷贝和恢复工具316确定CADS214的下一个详细记录404在被恢复的数据库318内的位置。CADS214的每个详细记录404均具有用于在被恢复的数据库318内顺序组织的标识。映像拷贝和恢复工具316将备份拷贝210顺序地写入被恢复的数据库318,直至需要来自CADS214的下一个详细记录404。在将详细记录404合并进被恢复的数据库318之后,映像拷贝和恢复工具316确定下一个详细记录404的位置。
在步骤512中,映像拷贝和恢复工具316查询CADS管理器304是否已读取了被恢复的数据库318所需的具体详细记录404。在详细记录406被CADS管理器304读入存储器18时,就按需将记录404发送至映像拷贝和恢复工具316。如果在对详细记录406进行请求时存在延迟,则可将某些或全部的详细记录406存储在虚拟存储器25上,以便长期保存。
在步骤516,如果业已读取了所请求的详细记录404,则将其发送给映像拷贝和恢复工具316并使其按时间顺序与被恢复的数据库318相合并。
在步骤514中,如果尚未读取所请求的详细记录404,则将该查询保存在存储器18内。当CADS管理器304读取详细记录404时,就记下该查询,并将详细记录406发送给映像拷贝和恢复工具316,以使该详细记录合并进被恢复的数据库318。
应该理解,尽管就图5的流程图以线性的方式说明了方法500,但却可以同时执行步骤508、510、512、514和516。因此,在将备份拷贝210写入被恢复的数据库318时,就可将详细记录406读出并合并到被恢复的数据库318中。
在步骤518中,将备份拷贝210和CADS214合并进被恢复的数据库318。日志管理器308将一个或多个日志204读入存储器18,合并结束点工具310确定合并结束点404在日志204内的位置。在共享环境中,可能要读取一个以上的日志204。并行地读取日志204以减少读取时间。并行读取日志204取决于可用的输入设备26的数量。因此,日志读取时间和读取最长日志204所需时间一样长。
日志管理器308导出合并结束点404之后的更新402,溢出记录408中反映了这些更新402。日志管理器308能判断出是否根据对日志204的读取提交了溢出记录408中的更新402。在恢复数据流中将更新402发送给路由器312,然后将更新402发送给数据库更新管理器314。
在步骤520中,日志记录路由器312驱动数据库更新管理器314,以便按时间顺序将更新402合并进被恢复的数据库318。在映像拷贝和恢复工具316完成了它对被恢复的数据库318的写操作之后,数据库恢复工具300仅能使数据库更新管理器314进行操作。在合并结束点404之后的每个提交的更新均予以考虑并被合并进被恢复的数据库318。在读取日志204的同时将来自溢出记录408的更新402合并进被恢复的数据库318,以便进一步加快恢复过程。因此,在确认出提交了更新402时,就立即将它们与被恢复的数据库318相合并,因为,从日志204中读出后续的更新402。因此,被恢复的数据库318是出故障之前的数据库206的精确反映。
在步骤522中,方法500结束。
本发明的主要优点是并行地执行多个过程。将备份拷贝210和CADS214并行地读入存储器以便同时进行处理。所以,可在与将备份拷贝210写入被恢复的数据库318的同时立即使用详细记录406。在不立即需要详细记录406的情况下,可将它们移至长期存储器中。此外,将数据库恢复所需的各个CADS214读入存储器一次,而不管多个数据库206是如何具有CADS214中的记录的。还并行而不是顺序地读取日志204,以减少日志读取时间量。因此,用于恢复一个或多个数据库的经过的时间是用于最大CADS214或最大备份拷贝210的读取时间;加上写入最大的被恢复的数据库318的时间;减去在写入最大的被恢复的数据库318的同时读取CADS214和备份拷贝210的重叠时间;加上用于最大日志204的读取时间;加上将来自日志204的更新402合并至被恢复的数据库318;以及减去读取日志204和合并更新402的重叠时间。
本发明的另一个主要优点是根据不完整的CADS214直接进行数据库恢复。通过忽略CADS214中的溢出记录并依靠日志204的后续读数,可将所有提交的更新402合并进被恢复的数据库318。这就消除了执行变化累积过程完成各个不完整CADS214的耗时要求。因此,可显著地加快共享环境中数据库206的恢复。
在不脱离本发明实质或本质特征的情况下,可用其它特定形式来实施本发明。上述实施例应被看作是在所有方面仅是说明性的并且不是限制性的。所以,本发明的范围是由后附权利要求而不是由前述说明所指明的。该权利要求的等价形式范围内的变化形式均包括在权利要求的范围内。
权利要求
1.一种用于恢复出故障的数据库数据集的设备,该设备包括一存储器设备,它存储有可执行的模块,该模块包括恢复工具,该工具带有一备份拷贝恢复工具,它配置成读取和恢复该数据库数据集的备份拷贝。一变化累积管理器,它配置成与读取和恢复备份拷贝相并行地读取变化累积数据集,以获得详细记录;以及一映像拷贝恢复工具,它配置成在读取和恢复前述备份拷贝期间将详细记录作用于该备份拷贝,以便创建被恢复的数据库数据集。
2.如权利要求1的设备,其中,该备份拷贝恢复工具还配置成并行地读取和恢复多个备份拷贝。
3.如权利要求1的设备,其中,该变化累积管理器还配置成并行地读取多个变化累积数据集以导出详细记录。
4.如权利要求1的设备,其特征在于,该恢复工具还包括一合并结束点工具,它配置成确定反映日志中详细记录和溢出记录分隔的合并结束点,。
5.如权利要求1的设备,其特征在于,该恢复工具还包括一日志管理器,它配置成读取日志以导出合并结束点之后的更新;以及一数据库更新管理器,它配置成将上述更新用于被恢复的数据库数据集。
6.如权利要求5的设备,其特征在于,该日志管理器还配置成并行读取多个日志,以导出合并结束点之后的更新。
7.如权利要求5的设备,其特征在于,该数据库更新管理器还配置成在恢复了备份拷贝之后使用该更新。
8.权利要求1的设备,其特征在于,该设备还包括一虚拟存储器,并且,该变化累积管理器还配置成将详细记录的至少一部分存储到该虚拟存储器内。
9.如权利要求1的设备,其特征在于,该备份拷贝恢复工具配置成在读取和恢复备份拷贝期间将对与数据库数据集相关联的详细纪录的查询发送给变化累积管理器。
10.如权利要求9的设备,其特征在于,该变化累积管理器配置成如果详细记录业尚未被变化累积管理器所读取则保存查询并且配置成在变化累积管理器业已读取了详细记录的情况下将该详细记录发送给映像拷贝恢复过程。
11.一种用于恢复出现故障的数据库数据集的方法,该方法包括读取和恢复数据库数据集的备份拷贝;与读取和恢复备份拷贝相并行地读取变化累积数据集,以导出与数据库数据集相关联的详细记录;以及在读取和恢复备份拷贝期间将该详细记录应用于备份拷贝,以创建被恢复的数据库数据集。
12.如权利要求11的方法,其特征在于,该方法还包括并行地读取和恢复多个备份拷贝,其中该备份拷贝与相应的出现故障的数据库数据集相关联。
13.如权利要求11的方法,其特征在于,该方法还包括并行地读取多个变化累积数据集以导出详细记录。
14.如权利要求11的方法,其特征在于,该方法还包括读取一日志以导出合并结束点之后的更新并将这些更新用于被恢复的数据库数据集。
15.如权利要求14的方法,其特征在于,在恢复了备份拷贝之后执行读取日志和应用更新。
16.如权利要求11的方法,其特征在于,该方法还包括并行读取多个日志以导出合并结束点之后的更新并将这些更新应用于被恢复的数据库数据集。
17.如权利要求11的方法,其特征在于,该方法还包括确定该合并结束点,其中该合并结束点反映日志中详细记录与溢出记录的分隔。
18.如权利要求11的方法,其特征在于,该方法还包括将该详细记录的至少一部分存储到一虚拟存储器内。
19.如权利要求11的方法,其特征在于,该方法还包括生成一查询以提示与数据库数据集相关的详细记录。
20.如权利要求19的方法,其特征在于,该方法还包括如果尚未读取详细记录则保存查询并在业已读出了详细记录的情况下通过将详细记录应用于备份拷贝而对该查询进行响应。
21.一种计算机可读介质,其上存储有计算机可执行的指令以执行用于恢复出故障的数据库数据的方法,该方法包括读出和恢复数据库数据集的备份拷贝;与读出和恢复备份拷贝相并行地读取变化累积数据集以导出与数据库数据集相关联的详细记录;以及在读取和恢复备份拷贝期间同时将该详细记录应用于备份拷贝以创建被恢复的数据库数据集。
22.如权利要求21的计算机可读介质,其特征在于,该方法还包括并行地读取和恢复多个备份拷贝,其中,该备份拷贝与相应的出现故障的数据库数据集相关联。
23.如权利要求21的计算机可读介质,其特征在于,该方法还包括并行地读取多个变化累积数据集以导出详细记录。
24.如权利要求21的计算机可读介质,其特征在于,该方法还包括读取一日志,以导出合并结束点之后的更新并将这些更新用于被恢复的数据库数据集。
25.如权利要求24的计算机可读介质,其特征在于,在恢复了备份拷贝之后执行读取日志和应用更新。
26.如权利要求21的计算机可读介质,其特征在于,该方法还包括并行读取多个日志以导出合并结束点之后的更新并将这些更新应用于被恢复的数据库数据集。
27.如权利要求21的计算机可读介质,其特征在于,该方法还包括确定该合并结束点,其中该合并结束点反映日志中详细记录与溢出记录的分隔。
28.如权利要求21的计算机可读介质,其特征在于,该方法还包括将该详细记录的至少一部分存储到一虚拟存储器内。
29.如权利要求21的计算机可读介质,其特征在于,该方法还包括生成一查询以提示与数据库数据集相关的详细记录。
30.如权利要求29的计算机可读介质,其特征在于,该方法还包括如果尚未读取详细记录则保存查询并在业已读出了详细记录的情况下通过使详细记录作用于备份拷贝而对该查询进行响应。
全文摘要
本发明涉及用于在一个或多个数据库数据集出现故障期间加快恢复时间的恢复工具设备。备份拷贝恢复工具并行读取数据库数据集的备份拷贝。同时,变化累积管理器并行读取一个或多个CADS。变化累积管理器仅读取业已提交的详细记录并忽略溢出记录,以消除为进行恢复而对完成各个不完整的CADS的需要。日志管理器读取一个或多个日志,以获取溢出记录中在合并结束点之后的更新。
文档编号G06F11/14GK1317742SQ01116278
公开日2001年10月17日 申请日期2001年4月9日 优先权日2000年4月10日
发明者D·W·穆尔 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1