第13章数据库数据库恢复技术.ppt

上传人:王** 文档编号:185150 上传时间:2023-04-02 格式:PPT 页数:70 大小:1.34MB
下载 相关 举报
第13章数据库数据库恢复技术.ppt_第1页
第1页 / 共70页
第13章数据库数据库恢复技术.ppt_第2页
第2页 / 共70页
第13章数据库数据库恢复技术.ppt_第3页
第3页 / 共70页
第13章数据库数据库恢复技术.ppt_第4页
第4页 / 共70页
第13章数据库数据库恢复技术.ppt_第5页
第5页 / 共70页
第13章数据库数据库恢复技术.ppt_第6页
第6页 / 共70页
第13章数据库数据库恢复技术.ppt_第7页
第7页 / 共70页
第13章数据库数据库恢复技术.ppt_第8页
第8页 / 共70页
第13章数据库数据库恢复技术.ppt_第9页
第9页 / 共70页
第13章数据库数据库恢复技术.ppt_第10页
第10页 / 共70页
亲,该文档总共70页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第13章数据库数据库恢复技术.ppt》由会员分享,可在线阅读,更多相关《第13章数据库数据库恢复技术.ppt(70页珍藏版)》请在优知文库上搜索。

1、第第1313章章 数据库恢复技术数据库恢复技术o13.1 13.1 恢复的基本概念恢复的基本概念o13.2 13.2 数据库故障的种类数据库故障的种类o13.3 13.3 数据库恢复的类型数据库恢复的类型o13.4 13.4 恢复技术恢复技术o13.5 13.5 缓冲区管理缓冲区管理2023年4月2日9时29分1概述概述o计算机同其他任何设备一样,都有可计算机同其他任何设备一样,都有可能发生故障。能发生故障。o这这种种情况一旦发生,就有可能造成数情况一旦发生,就有可能造成数据丢失。据丢失。o数据库系统必须采取必要的措施,以数据库系统必须采取必要的措施,以保证不会或尽可能减少数据丢失。保证不会或

2、尽可能减少数据丢失。o数据库恢复数据库恢复是是DBMSDBMS必须提供的功能必须提供的功能。2023年4月2日9时29分213.113.1恢复的基本概念恢复的基本概念o数据库恢复是指当数据库发生故障时,数据库恢复是指当数据库发生故障时,将数据库恢复到正确(一致性)状态的将数据库恢复到正确(一致性)状态的过程。过程。o数据库恢复是基于事务的原子性特性。数据库恢复是基于事务的原子性特性。o数据库恢复过程通常遵循一个可预测的数据库恢复过程通常遵循一个可预测的方案。方案。o 恢复机制有恢复机制有两个关键问题两个关键问题:如何建立备份:如何建立备份数据;如何利用备份数据进行恢复。数据;如何利用备份数据进

3、行恢复。2023年4月2日9时29分3数据转储数据转储o数据库恢复采用的基本技术数据库恢复采用的基本技术:数据转储数据转储(也称为(也称为数据库备份数据库备份)。)。o转储就是定期地将整个数据库复制到辅转储就是定期地将整个数据库复制到辅助存储设备上,比如磁带、磁盘助存储设备上,比如磁带、磁盘。o数据转储数据转储只能将数据库恢复到转储时的只能将数据库恢复到转储时的状态。如果想恢复到故障发生时的状态状态。如果想恢复到故障发生时的状态,则必须利用转储之后的事务日志,则必须利用转储之后的事务日志。2023年4月2日9时29分4转储分类转储分类o静态转储静态转储n 在系统中无运行事务时进行。在系统中无运

4、行事务时进行。n 在转储期间不允许对数据库进行任何操在转储期间不允许对数据库进行任何操作。作。o动态转储动态转储n 不用等待正在运行的事务结束不用等待正在运行的事务结束。n 在转储在转储期间期间允许运行新的事务允许运行新的事务。2023年4月2日9时29分5静态与动态转储比较静态与动态转储比较o 静态转储静态转储n 实现简单,实现简单,n 静态转储得到的一定是数据库的一个一致性静态转储得到的一定是数据库的一个一致性副本。副本。n 转储期间转储期间但会降低数据库的可用性。但会降低数据库的可用性。o 动态转储动态转储n 不能保证转储结束后的数据库副本是正确的不能保证转储结束后的数据库副本是正确的n

5、 必须利用日志将数据库恢复到一致性状态必须利用日志将数据库恢复到一致性状态n 转储期间转储期间不会降低数据库的可用性不会降低数据库的可用性。2023年4月2日9时29分6转储内容分类转储内容分类o 海量转储海量转储:每次转储全部数据库,每次转储全部数据库,o 增量转储增量转储:每次只转储上一次转储之后修改每次只转储上一次转储之后修改过的数据。过的数据。o 从恢复的角度看,用海量转储的数据库副本从恢复的角度看,用海量转储的数据库副本进行恢复进行恢复更更方便,但如果数据量很大,事务方便,但如果数据量很大,事务处理又比较频繁,则增量转储处理又比较频繁,则增量转储会会更有效。更有效。o 海量转储和增量

6、转储可以是动态的,也可以海量转储和增量转储可以是动态的,也可以是静态的。是静态的。2023年4月2日9时29分713.2 13.2 数据库故障的种类数据库故障的种类o数据库故障是指导致数据库值出现错数据库故障是指导致数据库值出现错误描述状态的情况,误描述状态的情况,o影响数据库运行的故障有多种影响数据库运行的故障有多种:n 事务内部的故障事务内部的故障n 系统故障系统故障n 其它故障其它故障2023年4月2日9时29分8事务内部的故障事务内部的故障o可预期的可预期的n 这这类类故障可通过事务程序本身发现。故障可通过事务程序本身发现。n 如银行转账事务中,如果如银行转账事务中,如果A A账户金额

7、不账户金额不足,则不能进行转账。足,则不能进行转账。o非预期性的非预期性的n 这类这类故障不能由应用程序来处理。故障不能由应用程序来处理。n 如运算溢出或因死锁而被撤销的事务如运算溢出或因死锁而被撤销的事务。2023年4月2日9时29分9事务故障事务故障o事务故障意味着事务没有达到终点,数事务故障意味着事务没有达到终点,数据库可能处于不正确的状态。据库可能处于不正确的状态。o数据库的恢复机制要在不影响其他事务数据库的恢复机制要在不影响其他事务运行的情况下,强行撤销该事务中的全运行的情况下,强行撤销该事务中的全部操作,使该事务就像没发生过一样。部操作,使该事务就像没发生过一样。o这类恢复操作称为

8、这类恢复操作称为事务撤销事务撤销(UNDOUNDO)。)。2023年4月2日9时29分10系统故障系统故障o是指造成系统停止运转、系统要重启是指造成系统停止运转、系统要重启的故障。例如的故障。例如:n 硬件错误(硬件错误(CPUCPU故障)故障)n 操作系统故障操作系统故障n 突然停电等。突然停电等。o这这类类故障会影响正在运行的所有事务故障会影响正在运行的所有事务,但不破坏数据库。,但不破坏数据库。2023年4月2日9时29分11系统故障产生的结果系统故障产生的结果o一些未完成事务的结果可能已经送入物一些未完成事务的结果可能已经送入物理数据库中,从而造成数据库可能处于理数据库中,从而造成数据

9、库可能处于不正确状态;不正确状态;o有些已经提交的事务可能有一部分结果有些已经提交的事务可能有一部分结果还保留在缓冲区中,尚未写到物理数据还保留在缓冲区中,尚未写到物理数据库中,库中,因此因此会丢失这些事务对数据的修会丢失这些事务对数据的修改,使数据库处于不一致状态。改,使数据库处于不一致状态。2023年4月2日9时29分12系统故障恢复方法系统故障恢复方法o恢复子系统在系统重新启动时必须恢复子系统在系统重新启动时必须:n 撤销所有未完成的事务撤销所有未完成的事务n 重做所有已提交的事务重做所有已提交的事务o从而从而保证将数据库恢复到一致状态。保证将数据库恢复到一致状态。2023年4月2日9时

10、29分13其他故障其他故障o 介质故障或由计算机病毒引起的故障或介质故障或由计算机病毒引起的故障或破坏,破坏,均均归为其归为其他他故障。故障。o 介质故障介质故障指外存故障,如磁盘损坏等。指外存故障,如磁盘损坏等。这类故障会对数据库造成破坏,并影响这类故障会对数据库造成破坏,并影响正在操作的数据库的所有事务。这类故正在操作的数据库的所有事务。这类故障虽然发生的可能性很小,但破坏性很障虽然发生的可能性很小,但破坏性很大。大。o 计算机病毒计算机病毒的破坏性很大,而且极易传的破坏性很大,而且极易传播,它也可以对数据库造成毁灭性的破播,它也可以对数据库造成毁灭性的破坏。坏。2023年4月2日9时29

11、分14故障对数据库的影响故障对数据库的影响o 有两种可能性:有两种可能性:n 一种是数据库本身的破坏;一种是数据库本身的破坏;n 另一种是数据库没有破坏,但数据可能不正确另一种是数据库没有破坏,但数据可能不正确(因事务非正常终止)。(因事务非正常终止)。o 数据库恢复就是保证数据库的正确和一致数据库恢复就是保证数据库的正确和一致,其原理是:,其原理是:冗余冗余。n 即数据库中任何一部分被破坏的或不正确的数即数据库中任何一部分被破坏的或不正确的数据均可根据冗余数据来重建。据均可根据冗余数据来重建。o 恢复的原理很简单,但实现的技术细节却很复杂恢复的原理很简单,但实现的技术细节却很复杂2023年4

12、月2日9时29分1513.3 13.3 数据库恢复的类型数据库恢复的类型o无论出现何种类型的故障,都必须终无论出现何种类型的故障,都必须终止或提交事务,以维护数据完整性。止或提交事务,以维护数据完整性。o事务的恢复事务的恢复类型:类型:n 向前恢复。向前恢复。n 向后恢复。向后恢复。o介质故障恢复介质故障恢复。2023年4月2日9时29分1613.3.1 13.3.1 向前恢复向前恢复o也称为也称为重做重做(REDOREDO)o用于物理损坏情形的恢复过程用于物理损坏情形的恢复过程。如:如:n 磁盘损坏磁盘损坏n 向数据库缓冲区写入数据时的故障向数据库缓冲区写入数据时的故障n 将缓冲区中的信息传

13、输到磁盘时出现将缓冲区中的信息传输到磁盘时出现的故障的故障2023年4月2日9时29分17永久生效的更新永久生效的更新o事务的中间结果被写入到数据库缓冲区事务的中间结果被写入到数据库缓冲区中,数据在缓冲区和数据库的物理存储中,数据在缓冲区和数据库的物理存储之间进行传输。之间进行传输。o当缓冲区的数据被传输到物理存储器后当缓冲区的数据被传输到物理存储器后,更新操作才是永久性的。,更新操作才是永久性的。2023年4月2日9时29分18缓冲区缓冲区重做事务重做事务o 如果在写入缓冲区和传输缓冲数据到物如果在写入缓冲区和传输缓冲数据到物理存储器过程中发生故障,则恢复管理理存储器过程中发生故障,则恢复管

14、理器必须确定故障发生时执行器必须确定故障发生时执行WRITEWRITE操作的操作的事务的状态事务的状态:n 如果事务已经执行了如果事务已经执行了COMMITCOMMIT语句,则恢复管语句,则恢复管理器将理器将重做重做(也称为前滚)事务的操作(也称为前滚)事务的操作并并将将事务的更新结果保存到数据库中。事务的更新结果保存到数据库中。o 向前恢复保证了事务的持久性。向前恢复保证了事务的持久性。2023年4月2日9时29分19向前恢复过程向前恢复过程o 首先读取最新的数据库转储和修改数据首先读取最新的数据库转储和修改数据的事务日志。的事务日志。o 然后读取日志记录,从数据库转储之后然后读取日志记录,

15、从数据库转储之后的第一个记录开始,一直读到物理损坏的第一个记录开始,一直读到物理损坏前的最后一次记录。前的最后一次记录。(从后向前读从后向前读)o 对于每一条日志记录,把数据库转储中对于每一条日志记录,把数据库转储中相关的数据值修改为日志记录中修改后相关的数据值修改为日志记录中修改后的值,使数据库中的值是事务执行完成的值,使数据库中的值是事务执行完成后的最终结果。后的最终结果。2023年4月2日9时29分20重做示意图重做示意图2023年4月2日9时29分2113.3.2 13.3.2 向后恢复向后恢复o向后恢复向后恢复(也称为撤销,(也称为撤销,UNDOUNDO)用)用于数据库正常操作过程中

16、发生错误时于数据库正常操作过程中发生错误时的恢复过程。的恢复过程。o这种错误可能是人为键入的数据,或这种错误可能是人为键入的数据,或是程序异常结束而留下的未完成的数是程序异常结束而留下的未完成的数据库修改。据库修改。2023年4月2日9时29分22向后恢复(续)向后恢复(续)o如果在故障发生时事务尚未提交,则如果在故障发生时事务尚未提交,则将导致数据库的不一致性。将导致数据库的不一致性。o因此恢复管理器必须撤销(回滚)事因此恢复管理器必须撤销(回滚)事务对数据库的所有影响。务对数据库的所有影响。o向后恢复保证了事务的原子性。向后恢复保证了事务的原子性。2023年4月2日9时29分23向后恢复过程向后恢复过程o从数据库的当前状态和事务日志的最从数据库的当前状态和事务日志的最后一条记录开始,按后一条记录开始,按从前向后从前向后的顺序的顺序读取日志,读取日志,o将数据库中已更新的数据值改为记录将数据库中已更新的数据值改为记录在日志中的更新前的值(前像),直在日志中的更新前的值(前像),直至错误发生点。至错误发生点。2023年4月2日9时29分24回滚示意图回滚示意图2023年4月2日9时29

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 数据库

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!