《讲数据库恢复》PPT课件.ppt

上传人:wuy****n92 文档编号:72437574 上传时间:2023-02-11 格式:PPT 页数:30 大小:262.50KB
返回 下载 相关 举报
《讲数据库恢复》PPT课件.ppt_第1页
第1页 / 共30页
《讲数据库恢复》PPT课件.ppt_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《《讲数据库恢复》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《讲数据库恢复》PPT课件.ppt(30页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第十章第十章 数据库恢复技术数据库恢复技术 事务事务 故障的种类故障的种类 恢复的实现技术、策略恢复的实现技术、策略 具有检查点的恢复技术具有检查点的恢复技术设想网上购物的一次交易,付款设想网上购物的一次交易,付款过程包括以下过程包括以下DB操作:操作:1)更新所购商品的库存信息;)更新所购商品的库存信息;2)与银行系统交互,保存客户)与银行系统交互,保存客户付款信息;付款信息;3)生成订单)生成订单一、事务一、事务 事务事务(Transaction)是用户定义的一个数据库操是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不作序列,这些操作要么全做,要么全不做,是一个不可分

2、割的工作单位。可分割的工作单位。l 定义方式定义方式 BEGIN TRANSACTION BEGIN TRANSACTION SQL 语句语句1 SQL 语句语句1 SQL 语句语句2 SQL 语句语句2 。COMMIT ROLLBACK事务的特性事务的特性(ACID(ACID特性特性)l原子性(原子性(Atomicity)l一致性(一致性(Consistency)l隔离性(隔离性(Isolation)l持续性(持续性(Durability)1.1.原子性原子性l事务是数据库的逻辑工作单位,事务中包括的诸事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。操作要么都做,要么都不

3、做。2.2.一致性一致性l定义事务时,应保证事务执行的结果必使数据定义事务时,应保证事务执行的结果必使数据库从一个一致性状态变到另一个一致性状态库从一个一致性状态变到另一个一致性状态.例:银行转帐,从帐号例:银行转帐,从帐号A中取出一万元,存入帐号中取出一万元,存入帐号B。B=B+10000A=A-10000BA3.3.隔离性隔离性l对并发执行而言,一个事务的执行不能被其他事对并发执行而言,一个事务的执行不能被其他事务干扰。务干扰。T1的修改被T2覆盖了!读A=16AA-3写回A=13读A=16AA-1写回A=15T2T14.4.持续性持续性l一个事务一旦提交,它对数据库中数据的改变就一个事务

4、一旦提交,它对数据库中数据的改变就应该是永久性的。应该是永久性的。思考:破坏事务思考:破坏事务ACID特性的因素可能有哪些?特性的因素可能有哪些?回顾回顾l什么叫事务?什么叫事务?l如何用如何用SQL语句定义事务?语句定义事务?l事务的特性?事务的特性?l在哪些情况下事务的特性可能遭到破坏?在哪些情况下事务的特性可能遭到破坏?二、故障的种类二、故障的种类1.1.事务故障:事务故障:l事务在运行过程中被中断,没有达到事务在运行过程中被中断,没有达到预期的终点预期的终点。l例如:运算溢出,并发死锁而被撤销的事务例如:运算溢出,并发死锁而被撤销的事务l思考:事务故障带来的问题思考:事务故障带来的问题

5、2.2.系统故障:系统故障:l造成系统停止运转的事件,影响所有正在运行的事务。造成系统停止运转的事件,影响所有正在运行的事务。l例如:系统断电,例如:系统断电,CPUCPU故障,故障,OSOS故障等故障等l思考:系统故障带来的问题思考:系统故障带来的问题3.3.介质故障:介质故障:l硬故障,指外存故障,如磁盘损坏、磁场干扰等。硬故障,指外存故障,如磁盘损坏、磁场干扰等。4.4.计算机病毒计算机病毒三、恢复的实现技术三、恢复的实现技术l基本原理:冗余基本原理:冗余 当数据库被破坏或产生不正确的数据时,用存储当数据库被破坏或产生不正确的数据时,用存储在系统别处的冗余数据来重建。在系统别处的冗余数据

6、来重建。l 如何建立冗余数据?如何建立冗余数据?数据转储数据转储 登记日志文件登记日志文件1 1 数据转储数据转储l转储是指转储是指DBADBA定期地将整个数据库复制到另一个磁盘上定期地将整个数据库复制到另一个磁盘上保存起来的过程;备用数据称为副本。保存起来的过程;备用数据称为副本。l当数据库被破坏,可将副本重新装入。当数据库被破坏,可将副本重新装入。故障发生点故障发生点 转储转储 运行事务运行事务 正常运行正常运行 Ta Ta Tb Tb Tf Tf 重装后备副本重装后备副本 重新运行事务重新运行事务恢复恢复 转转储储和和恢恢复复:转储的分类转储的分类静态转储:转储过程中不允许运行事务。静态

7、转储:转储过程中不允许运行事务。动态转储:转储过程中允许运行事务。动态转储:转储过程中允许运行事务。思考:思考:转储得到的副本上的数据是否正确有效?转储得到的副本上的数据是否正确有效?海量转储:转储全部数据。海量转储:转储全部数据。增量转储:只转储上一次转储后更新过的数据。增量转储:只转储上一次转储后更新过的数据。思考:思考:用哪种转储方式得到的副本进行用哪种转储方式得到的副本进行恢复恢复更方便?更方便?如果数据库很大,使用哪种方式转储更有效?如果数据库很大,使用哪种方式转储更有效?利用静态转储副本进行恢复利用静态转储副本进行恢复 故障发生点故障发生点静态静态转储转储 运行事务运行事务 正常运

8、行正常运行 Ta Ta Tb Tb Tf Tf 重装后备副本重装后备副本 恢复恢复 利用动态转储副本进行恢复利用动态转储副本进行恢复 Ta Ta Tb Tb Tf Tf动态动态转储转储 运行事务运行事务 故障发生点故障发生点正常运行正常运行 登记日志文件登记日志文件 登记新日志文件登记新日志文件 转储日志文件转储日志文件 重装后备副本,然后利用转储的日志文件恢复重装后备副本,然后利用转储的日志文件恢复恢复到一恢复到一 致性状态致性状态转储方法小结转储方法小结转储状态转储状态动态转储动态转储静态转储静态转储转储转储方式方式海量转储海量转储动态海量转储动态海量转储静态海量转储静态海量转储增量转储增

9、量转储动态增量转储动态增量转储静态增量转储静态增量转储2 2 日志文件日志文件日志文件是用来记录事务对数据库的更新操作的文件日志文件是用来记录事务对数据库的更新操作的文件日志文件的内容,包括:事务开始标记、结束标记、日志文件的内容,包括:事务开始标记、结束标记、更新操作更新操作每个日志记录包括:每个日志记录包括:事务标识事务标识操作类型操作类型操作对象操作对象更新前数据的旧值更新前数据的旧值更新后数据的新值更新后数据的新值作用:事务故障和系统故障的恢复;作用:事务故障和系统故障的恢复;协助后备副本恢复数据库。协助后备副本恢复数据库。登记日志文件的原则:按时间次序登记;登记日志文件的原则:按时间

10、次序登记;先写日志文先写日志文件件,后写数据库,后写数据库 三、恢复策略三、恢复策略1 1 事务故障的恢复事务故障的恢复l由恢复子系统利用日志文件由恢复子系统利用日志文件撤消(撤消(UNDOUNDO)此事务已对此事务已对数据库进行的修改。数据库进行的修改。l事务故障的恢复由系统自动完成,不需要用户干预。事务故障的恢复由系统自动完成,不需要用户干预。l具体步骤:具体步骤:1 1)反向扫描反向扫描文件日志,查找该事务的更新操作;文件日志,查找该事务的更新操作;2 2)对该事务的更新操作执行)对该事务的更新操作执行逆操作逆操作。3 3)继续反向扫描日志文件,查找该事务的其他更新操作,并)继续反向扫描

11、日志文件,查找该事务的其他更新操作,并做同样处理;做同样处理;4 4)直至读到此事务的开始标记,事务故障恢复完成。)直至读到此事务的开始标记,事务故障恢复完成。2 2 系统故障的恢复系统故障的恢复l系统故障造成数据库不一致状态的原因系统故障造成数据库不一致状态的原因l一些一些未完成事务未完成事务对数据库的更新已写入数据库对数据库的更新已写入数据库l一些一些已提交事务已提交事务对数据库的更新还留在缓冲区没对数据库的更新还留在缓冲区没来得及写入数据库来得及写入数据库l恢复方法恢复方法l1.Undo 1.Undo 故障发生时未完成的事务故障发生时未完成的事务l2.Redo 2.Redo 已完成的事务

12、已完成的事务l系统故障的恢复由系统在系统故障的恢复由系统在重新启动时重新启动时自动完成,不自动完成,不需要用户干预需要用户干预l 具体步骤具体步骤1)正向扫描日志文件(即从头扫描日志文件)正向扫描日志文件(即从头扫描日志文件)lRedo队列队列:在故障发生前已经提交的事务在故障发生前已经提交的事务lUndo队列队列:故障发生时尚未完成的事务故障发生时尚未完成的事务2)对对Undo队列事务进行队列事务进行UNDO处理处理 反向扫描日志文件,对每个反向扫描日志文件,对每个UNDO事务的更新操作事务的更新操作执行逆操作执行逆操作3)对对Redo队列事务进行队列事务进行REDO处理处理 正向扫描日志文

13、件,对每个正向扫描日志文件,对每个REDO事务重新执行登事务重新执行登记过的操作记过的操作 3 3 介质故障的恢复介质故障的恢复l恢复步骤恢复步骤1)1)装入最新的数据库副本,使数据库恢复到装入最新的数据库副本,使数据库恢复到最近一最近一次转储时次转储时的一致性状态。的一致性状态。l对于对于静态转储静态转储的数据库副本,装入后数据库即的数据库副本,装入后数据库即处于一致性状态处于一致性状态l对于对于动态转储动态转储的数据库副本,还须同时装入转的数据库副本,还须同时装入转储时刻的日志文件副本,利用恢复系统故障的储时刻的日志文件副本,利用恢复系统故障的方法(即方法(即REDO+UNDOREDO+U

14、NDO),才能将数据库恢复到一),才能将数据库恢复到一致性状态。致性状态。2)2)装入相应的日志文件副本,重做已完成的事务。装入相应的日志文件副本,重做已完成的事务。1.1.事务的隔离性是由事务的隔离性是由DBMSDBMS的的()()A.A.恢复子系统出现恢复子系统出现 B.B.完整性子系统实现完整性子系统实现 C.C.安全性子系统实现安全性子系统实现 D.D.并发控制子系统实现并发控制子系统实现 2.2.在数据库系统中死锁属于在数据库系统中死锁属于()()A.A.系统故障系统故障B.B.程序故障程序故障C.C.事务故障事务故障D.D.介质故障介质故障3.3.若一个事务执行成功,则它的全部更新

15、被提交;若一个若一个事务执行成功,则它的全部更新被提交;若一个事务执行失败,则事务执行失败,则DBDB中被其更新过的数据恢复原状,就象中被其更新过的数据恢复原状,就象这些更新从未发生过,这保持了数据库处于()这些更新从未发生过,这保持了数据库处于()A.A.安全性状态安全性状态 B.B.一致性状态一致性状态 C.C.完整性状态完整性状态 D.D.可靠性状态可靠性状态 练习:练习:四、具有检查点的恢复技术四、具有检查点的恢复技术1 1 利用日志进行数据库恢复时遇到的问题:利用日志进行数据库恢复时遇到的问题:l搜索整个日志将耗费大量的时间搜索整个日志将耗费大量的时间lREDOREDO处理:重新执行

16、,浪费大量时间处理:重新执行,浪费大量时间2 2 解决方案:具有检查点的恢复技术解决方案:具有检查点的恢复技术n在日志文件中增加在日志文件中增加检查点记录检查点记录(checkpointcheckpoint)n增加增加重新开始文件重新开始文件3 具有检查点的日志文件和重新开始文件:具有检查点的日志文件和重新开始文件:周期性执行如下操作:周期性执行如下操作:1.将当前日志缓冲区中的所有日志记录写入磁盘的将当前日志缓冲区中的所有日志记录写入磁盘的日志日志文件上;文件上;2.在日志文件中写入一个在日志文件中写入一个检查点检查点记录;记录;3.将当前数据缓冲区的所有数据记录写入磁盘的将当前数据缓冲区的

17、所有数据记录写入磁盘的数据库数据库中;中;4.把检查点记录在日志文件中的地址写入把检查点记录在日志文件中的地址写入重新开始文件重新开始文件。4 利用检查点的恢复策略利用检查点的恢复策略当事务当事务T在一个检查点之前提交,在一个检查点之前提交,T对数据库所做的对数据库所做的修改一定已写入数据库修改一定已写入数据库在进行恢复处理时,没有必要对事务在进行恢复处理时,没有必要对事务T执执REDO操作操作Tc(检查点检查点)Tf(系统故障系统故障)REDOUNDOUNDOREDOT2T3T4T5不要不要REDOT15 使用检查点方法进行恢复的步骤使用检查点方法进行恢复的步骤1 1)从重新开始文件中找到)

18、从重新开始文件中找到最后一个检查点记录最后一个检查点记录在日志在日志文件中的地址,由该地址在日志文件中找到最后一个文件中的地址,由该地址在日志文件中找到最后一个检查点记录;检查点记录;2 2)由该检查点记录得到检查点建立时刻所有正在执行)由该检查点记录得到检查点建立时刻所有正在执行的的事务清单事务清单ACTIVE-LISTACTIVE-LISTl建立两个事务队列建立两个事务队列lUNDO-LIST UNDO-LIST lREDO-LIST REDO-LIST l把把ACTIVE-LISTACTIVE-LIST暂时放入暂时放入UNDO-LISTUNDO-LIST队列,队列,REDOREDO队列队

19、列暂为空。暂为空。3 3)从检查点开始从检查点开始正向扫描日志文件,直到日志文件正向扫描日志文件,直到日志文件结束结束l如有如有新开始的新开始的事务事务T Ti i,把,把T Ti i暂时放入暂时放入UNDO-LISTUNDO-LIST队列队列l如有如有提交的提交的事务事务T Tj j,把,把T Tj j从从UNDO-LISTUNDO-LIST队列移到队列移到REDO-LISTREDO-LIST队列队列4 4)对)对UNDO-LISTUNDO-LIST中的每个事务执行中的每个事务执行UNDOUNDO操作操作,对对REDO-LISTREDO-LIST中的每个事务执行中的每个事务执行REDORED

20、O操作操作五、数据库镜像五、数据库镜像l 许多许多DBMS提供数据库镜像功能用于数据库恢复。提供数据库镜像功能用于数据库恢复。小结小结l事务是数据库的逻辑工作单位事务是数据库的逻辑工作单位lDBMS保证系统中一切事务的保证系统中一切事务的ACID特性特性l恢复的基本原理:利用存储在后备副本、日志文件和数据库恢复的基本原理:利用存储在后备副本、日志文件和数据库镜像中的冗余数据来重建数据库镜像中的冗余数据来重建数据库l常用恢复技术常用恢复技术l事务故障的恢复:事务故障的恢复:UNDOl系统故障的恢复:系统故障的恢复:UNDO+REDOl介质故障的恢复介质故障的恢复l重装备份并恢复到一致性状态重装备

21、份并恢复到一致性状态+REDOl提高恢复效率的技术提高恢复效率的技术l检查点技术检查点技术l可以提高系统故障的恢复效率可以提高系统故障的恢复效率l镜像技术镜像技术l镜像技术可以改善介质故障的恢复效率镜像技术可以改善介质故障的恢复效率练习:练习:设有四个事务设有四个事务:Tl,T2,T3,T4;:Tl,T2,T3,T4;在系统崩溃之前,系统在日志中记录了在系统崩溃之前,系统在日志中记录了如下内容如下内容:Start-Transaction,Tl;Read-Item,T1,A;Read-ItemStart-Transaction,Tl;Read-Item,T1,A;Read-Item,T1,D;T

22、1,D;White-Item,T1,D,20;Commit,T1;White-Item,T1,D,20;Commit,T1;CheckpointCheckpoint;Start-TransactionStart-Transaction,T2;Read-Item,T2,B;Write-ltem,T2,B,l2;T2;Read-Item,T2,B;Write-ltem,T2,B,l2;Start-TransactionStart-Transaction,T4;Read-Item,T4,B;Write-Item,T4,B,l5;T4;Read-Item,T4,B;Write-Item,T4,B,l5

23、;Start-Transaction,T3;Read-Item,T3,A;Write-Item,T3,A,30;Start-Transaction,T3;Read-Item,T3,A;Write-Item,T3,A,30;Read-Item,T4,A;Write-Item,T4,A,20;Commit,T4;Read-Item,T4,A;Write-Item,T4,A,20;Commit,T4;Read-Item,T2,D;Write-Item,T2,D,25Read-Item,T2,D;Write-Item,T2,D,25如果系统采用立即修改的恢复技术和检查点机制,当系统重启后,如果系统采用

24、立即修改的恢复技术和检查点机制,当系统重启后,哪些事务需要哪些事务需要Redo?Redo?哪些事务需要哪些事务需要Undo?Undo?在数据库恢复时,对尚未完成的事务执行在数据库恢复时,对尚未完成的事务执行()。A.UNDO操作操作B.REDO操作操作C.COMMIT操作操作D.ROLLBACK操作操作关系模式关系模式R中若没有非主属性,则(中若没有非主属性,则()A.R属于属于2NF但不一定属于但不一定属于3NFB.R属于属于3NF但不一定属于但不一定属于BCNFC.R属于属于BCNF但不一定属于但不一定属于4NFD.R属于属于4NF任何一个满足任何一个满足2NF但不满足但不满足3NF的关系模式都不存在(的关系模式都不存在()A.主属性对候选键的部分依赖主属性对候选键的部分依赖B.非主属性对候选键的部分依赖非主属性对候选键的部分依赖C.主属性对候选键的传递依赖主属性对候选键的传递依赖D.非主属性对候选键的传递依赖非主属性对候选键的传递依赖ABB学习目标学习目标l理解并掌握事务的概念及特性理解并掌握事务的概念及特性l掌握数据库恢复的基本概念掌握数据库恢复的基本概念l掌握数据库恢复的基本实现技术掌握数据库恢复的基本实现技术l了解数据库恢复的基本策略了解数据库恢复的基本策略

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com