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

技术编号:2883689 阅读:216 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及用于在一个或多个数据库数据集出现故障期间加快恢复时间的恢复工具设备。备份拷贝恢复工具并行读取数据库数据集的备份拷贝。同时,变化累积管理器并行读取一个或多个CADS。变化累积管理器仅读取业已提交的详细记录并忽略溢出记录,以消除为进行恢复而对完成各个不完整的CADS的需要。日志管理器读取一个或多个日志,以获取溢出记录中在合并结束点之后的更新。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及用备份拷贝和变化累积数据集进行数据库恢复。具体地说,本专利技术涉及用完整或不完整的变化积累数据集进行数据库恢复。对大量数据库的管理在现代社会有着永恒的重要性,现代社会依赖于反应关键信息的数据的可靠存储。一般地,对用户来说,数据库必须是持续可操作和可用的。当今数据库系统基本上是坚固的,它们不经常经历故障。然而,在故障出现时,必须能有效且精确地进行数据库恢复,以使用户的损失减至最少。因此,数据库恢复是必须能迅速执行的一项操作,以便使用户的停机时间减至最少。经历长时间的停机的数据库会很快地导致经济灾难。数据库由复杂的数据库管理系统进行管理。数据库管理系统的一个实例是可从纽约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。因为恢本文档来自技高网...

【技术保护点】
一种用于恢复出故障的数据库数据集的设备,该设备包括: 一存储器设备,它存储有可执行的模块,该模块包括: 恢复工具,该工具带有: 一备份拷贝恢复工具,它配置成读取和恢复该数据库数据集的备份拷贝。 一变化累积管理器,它配置成与读取和恢复备份拷贝相并行地读取变化累积数据集,以获得详细记录;以及 一映像拷贝恢复工具,它配置成在读取和恢复前述备份拷贝期间将详细记录作用于该备份拷贝,以便创建被恢复的数据库数据集。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:DW穆尔
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1
相关领域技术
  • 暂无相关专利