数据库原理-7 数据库恢复技术要领.pptVIP

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库原理原理(第7章) 计算机学院 张天庆 2005.11 第七章 数据库恢复技术 数据库恢复机制是数据库管理系统的重要组成部分。数据库恢复是基于事务的,所以必须先弄清楚事务的 概念。 事务(最早为了解决多个用户同时使用数据库的并发问题而引入) 事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。在关系数据库中,一个事务可以是 一条SQL语句,一组SQL语句或整个程序。 7.1 事务的的基本概念 事务的开始与结束可以由用户显式控制, 或由DBMS按缺省自动划分。在SQL语言中, 定义事务的语句有三条: BEGIN TRANSACTION COMMIT ROLLBACK 事务的特性(ACID) 原子性(Atomicity) 最小工作单位 一致性(Consistency) 一个正确状态到另一个正确状态 隔离性(Isolation) 事务不相互干扰 持续性(Durability) 事务提交对数据库影响是永久性的 事务是恢复和并发控制的基本单位。 保证事务ACID特性是事务处理的重要 任务。 7.2 数据库恢复概述 尽管数据库系统中采取了各种保护措施来防止数据库的安全性和完整性被破坏,保证并发事务的正确执行,但是计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏仍是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此数据库管理系统必须具有把数据库从错误状态恢复到某一已知的正确状态的功能,这就是数据库的恢复。 恢复子系统是数据库管理系统的一个重要组成部分,恢复技术是否行之有效,是衡量系统性能优劣的重要指标。 7.3 故障的种类 根据不同故障的不同特点,采用不同的恢复策略。 一. 事务内部的故障 (UNDO) 事务故障意味着事务没有达到预期的终点(COMMIT或ROLLBACK),从而数据库可能处于不正确状态。此时必须强行回滚(ROLLBACK)该事务。这类恢复操作称为事务撤消(UNDO)。 二. 系统故障 (UNDO + REDO) 系统故障是指造成系统停止运转的任何事件,使得系统要重新启动。如硬件故障、操作系统故障、DBMS代码错误、突然停电等。系统重新启动时,恢复子系统需要撤消所有未完成(非正常终止)的事务,并重做(REDO)所有已提交的事务。 三. 介质故障 系统故障称为软故障,介质故障称为硬故障。硬故障指外存故障,如磁盘损坏等。这类故障将破坏数据库或部分数据库。这类故障发生的可能性很小,但破坏性最大。 四. 计算机病毒或恶意攻击 这是一种人为的故障或破坏。 7.4 恢复的实现技术 恢复的原理 ——冗余 恢复机制涉及两个关键问题: (1)如何建立冗余数据 (2)如何利用这些冗余数据实施数据库 恢复。 建立冗余数据最常用的技术是数据转储(DBA定期进行)和登录日志文件(记录事务对数据库的更新操作)。通常在一个数据库系统中,这两种方法是一起使用的。 7.4.1 转储 静态转储 转储时系统无事务运行。 动态转储 转储时系统有事务运行。 海量转储 转储全部数据。 增量转储 仅转储更新数据。 7.4.2 日志文件 日志文件的格式和内容 以记录为单位的 以数据块为单位的 二. 日志文件的作用 事务故障和系统故障的恢复 动态转储时必须建立日志文件 静态转储时,利用日志文件可以REDO 三. 登记日志文件 登记严格按并发事务执行的时间顺序 先写日志文件,再写数据库 想想为什么要先写日志文件? 7.5 恢复策略 总原则 当系统运行过程中发生故障,利用数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。 (1) 利用数据库(转储)后备副本重装数据库。 (2) 通过搜索(正向或反向扫描)日志文件, 确定并对事务进行REDO或UNDO处理。 不同故障其恢复策略和方法也不一样。 7.5.1 事务故障的恢复 UNDO 系统自动完成 反向扫描日志文件,查找未完成事务的更新操作。 对该事务的更新操作做逆操作。 继续反向扫描,查找该事务的其他更新操作,并做同样处理。 直至该事务的开始标记为止。 7.5.2 系统故障的恢复 UNDO+REDO 系统自动进行 正向扫描日志文件,将已提交事务(故障发生前已COMMIT)标志记入REDO队列,未完成事务,将其事务标志记入UNDO队列。 对UNDO队列中的事务进行UNDO处理。 对RE

文档评论(0)

xiaofei2001128 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档