故障恢复技术讲述.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
故障恢复技术讲述

灾难性故障恢复 恢复机制 将数据库和系统日志周期性复制。当故障发生时,将数据库副本重新装入磁盘。并且根据备份日志,重做已提交的事务操作,重构出故障发生前数据库的最近状态。 关键技术:数据库备份 利用静态转储副本进行恢复 静态转储 运行事务 正常运行 ─┼───────┼──────────|─── Ta    Tb Tf 重装副本 继续运行 恢复 -─┼────后备─── ┼─ ─ ─ ─ ┈ ┈ ┈ ┈ ┈ ↓ 利用静态转储副本和日志文件进行恢复 静态转储 运行事务 正常运行 ─┼───────┼───────────── Ta    Tb Tf └──────────── 重装副本 利用日志文件恢复 继续运行 恢复 ─┼ ─ ───后备──┼┈ ┈ ┈ ┈ ┈ ┈ ┈ ┈ ┼──── 登记日志文件 ↓ Oracle 备份 Oracle 有多种方式完成对数据库的备份 逻辑备份 物理备份 实验1 数据导入导出 Exp, Imp, 绪论 * 实验2:恢复与备份 备份: 还原: A表示数据库中的数据项。 * 1个串行执行,2个并行(保持了隔离性,一个未保持) * 绪论 绪论 绪论 绪论 绪论 绪论 绪论 绪论 绪论 绪论 绪论 绪论 绪论 绪论 数据库恢复技术 李玉蓉 西南财经大学信息工程学院 主要内容 事务的概念及ACID特性 故障恢复策略 oracle恢复的技术 transaction * 转账 从账户A转账50000元到账户B: 1. read(A) 2. A := A – 50000 3. write(A) 4. read(B) 5. B := B + 50000 6. write(B) 故障类型 故障类型 事务故障 由于事务逻辑错误,事务未运行到正常终点就中止了 系统故障 介质故障 事务 事务的概念 用户定义的一个数据库操作序列,这些操作构成一个不可分割的工作单元。 事务通过read和write操作访问和更新数据库 事务的结果 要么全部执行。即提交事务 要么全不执行。即取消事务 事务ACID特性 原子性 事务中操作是一个不可分割的逻辑单元,要么都执行,要么都不执行 一致性 事务应保持一致性,使得数据库从一个一致性状态转换到另一个一致性状态。 隔离性 事务的执行不受其它并非事务的干扰。 持久性 已提交的事务必须持久留在数据库中 事务的状态 transaction * 绪论 * A B C 数据库恢复 数据库恢复 当数据库发生故障,重构该数据库的过程称之数据库恢复,即将数据库从错误状态恢复到故障发生前的某一个一致性状态。 恢复策略 首先确定故障类型,然后针对该类型设计算法以保证数据库的原子性和一致性。 非灾难性故障 数据库没有遭受物理型破坏, 如系统故障和事务故障 灾难性故障 导致大部分数据遭受严重破坏。 如介质故障。 典型的恢复策略 非灾难性故障 识别导致数据库不一致的任何改变,通过重做事务的某些操作或撤销事务的写操作。 两种主要技术 延迟更新 即时更新 参考:《数据库系统 概念》第17章系统恢复 read(A) A := A – 50000 write(A) read(B) B := B + 50000 write(B) T0 start T0 , A, 150000 T0 , B, 52000 T0 commit 事务T0 : 与T0 有关的日志 执行前A、B的值为200000,2000, 执行后,A、B的值为 150000,52000 read(A) A := A – 50000 write(A) read(B) B := B + 50000 write(B) T0 start T0 , A, 150000 事务T0 : 与T0 有关的日志 执行前A、B的值为100000,2000, 执行后,A、B的值为 ?? 执行前A、B的值为200000,2000, 恢复策略:?? read(A) A := A – 50000 write(A) read(B) B := B + 50000

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档