第6章+数据库恢复技术+V1.2.pptx

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1 2019年5月24日星期五 《数据库原理及应用》 第6章 数据库恢复 2 本章内容 3 产生不一致的结果 调价:故障可能使部分价格调整而另一部分价格没有调整。 并发执行的错误 并行执行应用程序可以提高性能 但可能数据相互覆盖 例如:程序1将A提价10%,程序2将A涨价10元。 何时更新数据库 读数据库:将数据库中的数据先从磁盘读入内存,然后再将值赋予一个变量。 写数据库:先将变量的值写入内存,然后再由内存写入磁盘。 减少磁盘I/O操作与防止数据不一致的权衡(内存中数据的存放时间) 事务 问题提出 4 事务 事务状态 5 事务的显式定义 BEGIN TRANSACTION BEGIN TRANSACTION SQL 语句1 SQL 语句1 SQL 语句2 SQL 语句2 … … COMMIT ROLLBACK END TRANSACTION END TRANSACTION 没有显式地定义事务时,DBMS按缺省为自动划分事务 事务 定义 6 原子性(Atomicity) 事务的所有操作在数据库中要么全部正确反映,要么全部不反映。 解决不一致问题。 在系统崩溃后,DBMS将恢复或撤销系统崩溃时处于活动状态的事务对数据库产生的影响,从而保证事务的原子性。 事务原子性由事务管理部件(Transaction-Management Component)处理。 一致性(Consistency) 是指当事务完成时,必须使所有数据都具有一致的状态。 主要由应用开发人员来确保。 事务 特性(ACID) 7 隔离性(Isolation) 当多个事务并发执行时,一个事务的执行不能被其他事务干扰。 解决前面提到的并发执行带来的错误问题。 由于性能的原因,需要对事务进行交叉调度,但交错调度的效果应该和某个串行调度的结果是一致的。 隔离性通过数据库系统中的并发控制部件(Concurrency-Control Component)处理。 持续性(Durability) 一个事务一旦提交,它对数据库中数据的改变应该是永久性的,即使系统可能出现故障。 持续性由数据库系统中的恢复管理部件(Recovery-Management Component)的软件部件负责。 事务 特性(ACID) 8 本章内容 9 数据库系统对付故障的两种措施 尽可能提高系统的可靠性; 在系统发生故障后,把数据库恢复到一致状态。 恢复机制涉及两个关键问题 如何建立冗余数据 如何利用冗余数据实施数据库恢复 恢复技术是衡量数据库管理系统优劣的重要指标 恢复概述 10 本章内容 11 恢复机制常用的技术 记录日志文件 数据转储 恢复实现 12 日志是DBMS用来记录事务对数据库的更新操作的文件,是日志记录的序列 日志记录描述内容主要包括: 事务标识符:执行写操作事务的唯一标识符。 数据项标识符:事务操作对象的唯一标识符。 前像(BI):更新前数据的旧值。 后像(AI):更新后数据的新值。 日志记录形式包括: T START:表示事务T已开始。 T COMMIT:表示事务T已提交。 T ABORT:表示事务T不能成功完成,已中止。 T,X,V1,V2:表示事务T对数据项X执行写操作。写之前的旧值为V1,写之后的新值为V2。 恢复实现 日志 日志内容 13 日志要求 每次事务执行写操作,必须在数据库修改前建立此次写操作的日志记录 日志必须存储在稳定存储器上 稳定存储器中的日志记录顺序必须与写入日志缓冲区中的日志记录顺序完全一样(块写) 先写日志规则 在主存中的数据块输出到数据库前,所有与该数据块中数据有关的日志记录必须已输出到稳定存储器上 恢复实现 日志 日志规则 14 事务的执行时,后像(AI)在事务提交后才写入数据库 日志中记录所有的数据库修改 一个事务的所有写操作延迟到事务的操作结束时才执行,以保证事务的原子性。 事务恢复 忽略未完成的事务;重复已提交事务的影响 恢复过程Redo(Ti):将事务Ti更新的所有数据项的值设为新值 简化日志内容结构 日志记录T,X,V1:事务T对数据项X执行写操作,写入新值V1 恢复实现 日志 后像后写 事务T的执行步骤 在T开始执行前,向日志中写入记录T START T的一次write(X)操作导致向日志中写入一条新记录 最后,当T全部操作结束,向日志中写入记录T COMMIT 15 举例:后像后写 药品价格调整:设T1事务中,药品A上调10%,药品B下浮5%。 恢复实现 日志 后像后写 16 恢复管理器执行步骤:

文档评论(0)

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

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

1亿VIP精品文档

相关文档