第十章数据库恢复技术讲解.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十 章 数据库恢复技术 §10.1 事务的基本概念 §10.2 数据库恢复概述 §10.3 故障的种类 §10.4 恢复的实现技术 §10.5 恢复策略 §10.6 具有检查点的恢复技术 §10.7 数据库镜像 一、什么是事务 事务(Transaction) 是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位 事务和程序是两个概念 在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序 一个应用程序通常包含多个事务 事务是恢复和并发控制的基本单位,是访问并可能更新各种数据项的一个程序执行单元。 在事务执行过程中,数据库可能是不一致的. 当事务被提交时,数据库必须是一致的 二、如何定义事务 显式定义方式: 在SQL语言中,定义事务的语句有三条: BEGIN TRANSACTION COMMIT或ROLLBACK 隐式方式 当用户没有显式地定义事务时,DBMS按缺省规定自动划分事务 三、事务的特性 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持续性(Durability ) 这个四个特性也简称为ACID特性 保证事务ACID特性是事务处理的重要任务 1. 原子性 事务是数据库的逻辑工作单位 事务中包括的诸操作要么都做,要么都不做 原子性由恢复机制实现 2. 一致性 事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。因此当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态。 一致性状态: 数据库中只包含成功事务提交的结果 不一致状态: 数据库中包含失败事务的结果 一致性由用户负责 例:银行转帐:帐号A和帐号B,从帐号A中取出一万元,存入帐号B。 定义一个事务,该事务包括两个操作 这两个操作要么全做,要么全不做 全做或者全不做,数据库都处于一致性状态。 如果只做一个操作,数据库就处于不一致性状态。 一致性与原子性是密切相关的 3. 隔离性 一个事务的执行不能被其他事务干扰。一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。 例: 对任一两个事务 Ti 和 Tj , 在 Tj看来,Ti 或者在 Tj开始之前已经停止执行,或者在 Ti 完成之后开始执行. 隔离性由并发机制实现 4. 持续性 持续性也称永久性(Permanence) 指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。 接下来的其他操作或故障不应该对其执行结果有任何影响 持久性由恢复机制实现 破坏事务ACID特性的因素 保证事务ACID特性是事务处理的任务 破坏事务ACID特性的因素 多个事务并发运行时,不同事务的操作交叉执行 事务在运行过程中被强行停止 §10.2 数据库恢复概述 故障是不可避免的 计算机硬件故障、系统软件和应用软件的错误、操作员的失误、恶意的破坏 故障的影响 运行事务非正常中断、破坏数据库 数据库管理系统(恢复子系统)必须具有把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)的功能,这就是数据库的恢复。 恢复技术是衡量系统优劣的重要指标 §10.3 故障的种类 事务故障 系统故障 介质故障 计算机病毒 一、事务故障 事务故障 某个事务在运行过程中由于种种原因未运行至正常终止点就夭折了 事务故障的常见原因 输入数据有误 运算溢出 违反了某些完整性限制 某些应用程序出错 并行事务发生死锁 ….. 二、系统故障 系统故障 指造成系统停止运转的任何事件,使得系统要重新启动。例如,特定类型的硬件错误(CPU故障)、操作系统故障、DBMS代码错误、突然停电等等 系统故障的恢复 发生系统故障时,事务未提交 恢复策略:强行撤消(UNDO)所有未完成事务 发生系统故障时,事务已提交,但缓冲区中的信息尚未完全写回到磁盘上 恢复策略:重做(REDO)所有已提交的事务,将数据库真正恢复到一致状态 三、介质故障 介质故障称为硬故障(Hard Crash)。硬故障指外存故障,如磁盘损坏、磁头碰撞,瞬时强磁场干扰等。这类故障将破坏数据库或部分数据库,并影响正在存取这部分数据的所有事务。破坏性最大。 各类故障,对数据库的影响有两种可能性 一:数据库本身被破坏 二:数据库没有被破坏,但数据可能不正确,这是由于事务的运行被非正常终止造成的。 恢复操作的基本原理 恢复操作的基本原理:冗余 利用存储在系统其它地方的冗余数据来重建数据库中已被破坏或不正确的那部分数据 恢复的实现技术:复杂 一个大型数据库产品,恢复子系统的代码要占全部代码的10%以上 §10.4 恢复的实现技术 恢复机制涉及的关键问题 1. 如何建立冗余数据 建立冗余数据最常用的技术: 数据转

文档评论(0)

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

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

1亿VIP精品文档

相关文档