- 1、本文档共79页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 数据库保护 主讲:吕震宇 5.4 恢复 故障是不可避免的 计算机硬件故障 系统软件和应用软件的错误 操作员的失误 恶意的破坏 故障的影响 运行事务非正常中断 破坏数据库 5.4.1 恢复的原理 恢复技术是衡量系统优劣的重要指标 运行过程中可能发生的故障 事务故障 系统故障 介质故障 数据库管理系统对故障的对策 DBMS提供恢复子系统 保证故障发生后,能把数据库中的数据从错误状态恢复到某种逻辑一致的状态 保证事务ACID ① 事务故障 什么是事务故障 某个事务在运行过程中由于种种原因未运行至正常终止点就夭折了 事务故障的常见原因 输入数据有误 运算溢出 违反了某些完整性限制 某些应用程序出错 并行事务发生死锁 …… 事务故障的恢复 发生事务故障时,夭折的事务可能已把对数据库的部分修改写回磁盘 事务故障的恢复: 撤消事务(UNDO) 强行回滚(ROLLBACK)该事务 清除该事务对数据库的所有修改,使得这个事务象根本没有启动过一样 ② 系统故障 什么是系统故障 整个系统的正常运行突然被破坏 所有正在运行的事务都非正常终止 内存中数据库缓冲区的信息全部丢失 外部存储设备上的数据未受影响 系统故障的常见原因 操作系统或DBMS代码错误 操作员操作失误 特定类型的硬件错误(如CPU故障) 突然停电 系统故障的恢复 清除尚未完成的事务对数据库的所有修改 系统重新启动时,恢复程序要强行撤消(UNDO)所有未完成事务 将缓冲区中已完成事务提交的结果写入数据库 系统重新启动时,恢复程序需要重做(REDO)所有已提交的事务 ③ 介质故障 硬件故障使存储在外存中的数据部分丢失或全部丢失 介质故障比前两类故障的可能性小得多,但破坏性大得多 介质故障的常见原因 硬件故障 磁盘损坏 磁头碰撞 操作系统的某种潜在错误 瞬时强磁场干扰 介质故障的恢复 装入数据库发生介质故障前某个时刻的数据副本 重做自此时始的所有成功事务,将这些事务已提交的结果重新记入数据库 恢复操作的基本原理 恢复操作的基本原理:冗余 利用存储在系统其它地方的冗余数据来重建数据库中已被破坏或不正确的那部分数据 恢复的实现技术:复杂 一个大型数据库产品,恢复子系统的代码要占全部代码的10%以上 5.4.2 恢复的实现技术 恢复: 就是利用存储在系统其它地方的冗余数据来修复数据库中被破坏的或不正确的数据。 恢复机制涉及的关键问题 1. 如何建立冗余数据 数据转储(backup) 登录日志文件(logging) 2. 如何利用这些冗余数据实施数据库恢复 5.4.2.1 数据转储 转储是指DBA将整个数据库复制到磁带或另一个磁盘上保存起来的过程。 这些备用的数据文本称为后备副本或后援副本。 要想恢复到故障发生时的状态,还必须重新运行自转储以后所有更新事务。 转储方法 ① 静态转储与动态转储 ② 海量转储与增量转储 ③ 转储方法小结 ① 静态转储 在系统中无运行事务时进行转储 转储开始时数据库处于一致性状态 转储期间不允许对数据库的任何存取、修改活动 优点:实现简单 缺点:降低了数据库的可用性 转储必须等用户事务结束 新的事务必须等转储结束 动态转储 转储操作与用户事务并发进行 转储期间允许对数据库进行存取或修改 优点 不用等待正在运行的用户事务结束 不会影响新事务的运行 动态转储的缺点 不能保证副本中的数据正确有效 利用动态转储得到的副本进行故障恢复 需要把动态转储期间各事务对数据库的修改活动登记下来,建立日志文件 后备副本加上日志文件才能把数据库恢复到某一时刻的正确状态 ② 海量转储与增量转储 海量转储: 每次转储全部数据库 增量转储: 只转储上次转储后更新过的数据 海量转储与增量转储比较 从恢复角度看,使用海量转储得到的后备副本进行恢复往往更方便 但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效 ③ 转储方法小结 转储方法分类 转储策略 应定期进行数据转储,制作后备副本。 DBA应该根据数据库使用情况确定适当的转储周期和转储方法。 例: 每天晚上进行动态增量转储 每周进行一次动态海量转储 每月进行一次静态海量转储 5.4.2.2 登记日志文件(Logging) 日志文件(Log) 是用来记录事务对数据库的更新操作的文件 日志文件的格式 以记录为单位的日志文件 以数据块为单位的日志文件 以记录为单位的日志文件 日志文件内容 各个事务的开始标记(BEGIN TRANSACTION) 各个事务的结束标记(COMMIT或ROLLBACK) 各个事务的所有更新操作 日志记录 (log record) 事务标识 操作类型(插入、删除或修改) 操作对象(记录ID、Block NO.) 更新前数据的旧值(对插入操作而言,
您可能关注的文档
- 第九章 甘肃省临夏中学高三《世界近现代史》下册检测试题.doc
- 八上英语单词课件.doc
- 第五章 普美开关智能电工工程安装说明.ppt
- 人机工程学综合习题要领.doc
- 一级计算机练习教材.doc
- 思科ASA系列防火墙NAT解析要领.doc
- 第十一章 超级好用强烈推荐mybase操作手册.doc
- 人力资源岗位分析要领.doc
- 第十一章 常用计算公式.doc
- 节能插座技术手册13.8.28学习.doc
- 1.3.1 等比数列及其通项公式 教学设计-2024-2025学年高二上学期数学湘教版(2019)选择性必修第一册.docx
- 5.5.1两角和与差的正弦、余弦和正切公式(4)教学设计-2023-2024学年高一上学期数学人教A版(2019)必修第一册.docx
- 9《这些是大家的》教学设计-2023-2024学年道德与法治二年级上册统编版.docx
- 第八章 第七节 澳大利亚(习题教学设计)2023-2024学年七年级下册地理课时通(湘教版).docx
- 粤教B版小学信息技术 五年级上册 5《幸运大转盘》教学设计.docx
- Module 3 模块语法专练2024-2025学年九年级上册英语配套教学设计(外研版).docx
- 1《白鹭》第一课时 教学设计-2024-2025学年语文五年级上册统编版.docx
- Unit 4 There are seven days in a week. Lesson 19(教案)-2023-2024学年人教精通版英语四年级下册.docx
- 9.1 电荷 教学设计-2023-2024学年高二上学期物理人教版(2019)必修第三册.docx
- 第15课 十月革命的胜利与苏联的社会主义实践 教学设计--2023-2024学年高中历史统编版2019必修中外历史纲要下册.docx
文档评论(0)