18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 信息时代 > 数据库恢复(数据库)

数据库恢复(数据库)

时间:2022-11-16 10:30:01 | 来源:信息时代

时间:2022-11-16 10:30:01 来源:信息时代

    数据库恢复 : 把数据库从错误状态恢复到某一已知的正确状态的功能。尽管数据库系统中采取了各种保护措施来防止数据库的安全性和完整性被破坏,保证并发事务的正确执行,但是计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏仍是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此,数据库管理系统必须具有数据库恢复功能。
数据库恢复的技术涉及到两个关键问题,即如何建立冗余数据和如何利用这些冗余数据实施数据库恢复。建立冗余数据最常用的技术是数据转储(DBA定期进行)和登录日志文件(记录事务对数据库的更新操作)。在一个数据库系统中,这两种方法通常是一起使用的。
数据转储是数据库恢复中采用的基本技术。所谓转储即DBA定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。这些备用的数据文本称为后备副本或后援副本。转储可分为静态转储和动态转储。
静态转储是指在系统中无运行事务时进行的转储操作,即转储操作开始的时刻,数据库处于一致性状态,而转储期间不允许(或不存在)对数据库的任何存取、修改活动。显然,静态转储得到的一定是一个数据一致性的副本。静态转储比较简单,但转储必须等待正运行的用户事务结束才能进行。同样,新的事务必须等待转储结束才能执行。显然,这会降低数据库的可用性。
动态转储是指转储期间允许对数据库进行存取或修改,即转储和用户事务可以并发执行。动态转储可克服静态转储的缺点,它不用等待正在运行的用户事务结束,也不会影响新事务的运行。但是,转储结束时后援副本上的数据并不能保证正确有效。为此,必须把转储期间各事务对数据库的修改活动登记下来,建立日志文件(log file)。这样,后援副本加上日志文件就能把数据库恢复到某一时刻的正确状态。
转储还可以分为海量转储和增量转储两种方式。海量转储是指每次转储全部数据库;增量转储则指每次只转储上一次转储后更新过的数据。从恢复角度看,使用海量转储所得到的后备副本来进行恢复一般说来会更方便些。但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用、更有效。
转储是十分耗费时间和资源的,不能频繁进行。DBA应该根据数据库使用情况确定一个适当的转储周期。
日志文件是用来记录事务对数据库的更新操作的文件。不同数据库系统采用的日志文件格式并不完全一样。概括起来日志文件主要有两种格式: 以记录为单位的日志文件和以数据块为单位的日志文件。
日志文件在数据库恢复中起着非常重要的作用,可以用来进行事务故障恢复和系统故障恢复,并协助后备副本进行介质故障恢复。在数据库恢复中,日志的具体作用如下:
(1)事务故障恢复和系统故障恢复必须用日志文件。
(2)在动态转储方式中必须建立日志文件,后援副本和日志文件综合起来才能有效地恢复数据库。
(3)在静态转储方式中,也可以建立日志文件。当数据库毁坏后可重新装入后援副本把数据库恢复到转储结束时刻的正确状态,然后利用日志文件,把已完成的事务进行重做处理,对故障发生时尚未完成的事务进行撤销处理。这样不必重新运行那些已完成的事务程序就可把数据库恢复到故障前某一时刻的正确状态。
为保证数据库是可恢复的,登记日志文件时必须遵循两条原则:
(1)登记的次序严格按并发事务执行的时间次序。
(2)必须先写日志文件,后写数据库。把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。
当系统运行过程中发生故障,利用数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。通常使用如下策略恢复数据库:
(1)利用数据库后备副本重装数据库:通过搜索(正向或反向扫描)日志文件,确定并对事务进行重做(REDO)或撤销(UNDO)处理。
(2)检查点技术:利用日志技术进行数据库恢复时,恢复子系统必须搜索日志,确定哪些事务需要REDO,哪些事务需要UNDO。这样做有两个问题:一是搜索整个日志将耗费大量的时间; 二是很多需要REDO处理的事务实际上已经将它们的更新操作结果写到数据库中了,然而恢复子系统又重新执行了这些操作,浪费了大量时间。因此,发展了具有检查点的恢复技术。该技术在日志文件中增加一类新的记录——检查点(checkpoint)记录,增加一个重新开始文件,并让恢复子系统在登录日志文件期间动态地维护日志。
(3)数据库镜像技术:数据库镜像技术即自动地把整个数据库或其中的关键数据复制到另一个磁盘上,DBMS自动保证镜像数据与主数据的一致性。一旦出现介质故障,可由镜像磁盘继续提供使用,同时DBMS自动利用镜像磁盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本。在没有出现故障时,数据库镜像还可以用于并发操作。
不同故障其恢复策略和方法也不一样。其中事务故障的恢复由系统自动完成,系统故障的恢复由系统在重新启动时自动完成,介质故障的恢复需要DBA介入,但具体的恢复操作仍由DBMS完成。

74
73
25
news

版权所有© 亿企邦 1997-2022 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭