- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 9.5.2 系统故障的恢复 系统故障造成数据库不一致状态的原因 未完成事务对数据库的更新可能已写入数据库 已提交事务对数据库的更新可能还留在缓冲区没来得及写入数据库 系统故障恢复方法 - Undo 故障发生时未完成的事务 - Redo 已完成的事务 注意:系统故障的恢复由系统在重新启动时 自动完成,不需要用户干预! * 9.5.2 事务故障的恢复 系统故障的恢复步骤 1)正向扫描日志文件(即从头扫描日志文件); - 构造重做队列(REDO-List) : 在故障发生前已经提交的事务 该类事务:BEGIN TRANSACTION + COMMIT - 构造撤销队列(UNDO-List):故障发生时尚未完成的事务 该类事务:BEGIN TRANSACTION 2)对撤销(UNDO)队列事务进行撤销(UNDO)处理 - 反向扫描日志文件,将“更新前的值”写入数据库 3)对重做(REDO)队列事务进行重做(REDO)处理 - 正向扫描日志文件,将“更新后的值”写入数据库 * 9.5.3 介质故障的恢复 介质故障是最严重的一种故障 重装副本 重做已完成的事务 恢复步骤 1) 恢复至离发生故障最近的一个副本 2)装入相应的日志文件副本(转储结束时刻) - 首先扫描日志文件,构造重做队列(REDO-List) - 正向扫描日志文件,重做事务,即将“更新后的值”写入数据库 需要DBA将相应文件进行装入,然后执行对应的命令 李宁 西北工业大学计算机学院 第九章 数据库恢复技术 * 第七章内容回顾 设计阶段 设计描述 数据 处理 规划 可行性分析报告、系统规划纲要 需求 分析 数据字典、全系统中数据、数据流、数据存储的描述 数据流图和判定表现(判定树)、数据字典中处理过程的描述 概念结构设计 概念模型(E-R图)、 数据字典 系统说明书: ①新系统要求、方案和概图 ②反映新系统信息流的数据流图 逻辑结构设计 依照某种数据模型,设计出数据结构及完整性约束 系统结构图(模块结构) 物理 设计 存储安排 存取方法选择 模块设计 实施 阶段 数据库编程 数据装载 应用程序编程、调试 运行 维护 性能监测、转储/恢复 数据库重组和重构 应用程序修正、改善和维护 * 本章目录 9.1 事务的基本概念 9.2 数据库恢复概述 9.3 故障的种类 9.4 恢复的实现技术 9.5 恢复策略 9.6 具有检查点的恢复技术 9.7 数据库镜像 9.8 小结 * 9.1 事务的基本概念 1.事务的概念 一个数据库操作序列 一个不可分割的工作单位(要么全做,要么全不做) 恢复和并发控制的基本单位 在关系数据库中的事务和程序: 一个事务可以是一条SQL语句,一组SQL语句或整个程序。 一个程序通常包含多个事务 * 9.1 事务的基本概念 如何定义事务? 显式定义方式 BEGIN TRANSACTION BEGIN TRANSACTION SQL 语句1 SQL 语句1 SQL 语句2 SQL 语句2 。。。。。 。。。。。 COMMIT ROLLBACK 隐式方式 当用户没有显式地定义事务时,DBMS按缺省规定自动划分事务。SQL Server中默认每条SQL语句是一个事务。 事务正常结束; 提交事务的所有操作; 事务中所有对数据库的更新写 回磁盘上的物理数据库中。 事务异常结束; 事务运行的过程中发生了故障, 不能继续执行; 系统将事务中对数据库的所有 已完成的操作全部撤销。 事务滚回到开始时的状态 * 9.1 事务的基本概念 2.事务的特性(ACID) 原子性( Atomicity) 一致性( Consistency) 隔离性( Isolation) 持续性( Durability ) 要么全做,要么全不做 事务执行的果必须是使数据库 从一个一致性状态变到 另一个一致性状态 一个事务的执行不能被 其他事务干扰 事务一旦提交,它对数据库中数据 的改变就应该是永久性的。 * 9.1 事务的基本概念 事务典型例子 --- 银行转帐: 从帐号A中取出100元,存入帐号B。 定义一个事务,该事务包括两个操作: ① 从帐户A减去一百元(A=A-100); ② 给帐户B加上一百元(B=B+100)
文档评论(0)