第七章数据库恢复-2ppt课件

上传人:资****亨 文档编号:145854723 上传时间:2020-09-23 格式:PPT 页数:93 大小:925KB
返回 下载 相关 举报
第七章数据库恢复-2ppt课件_第1页
第1页 / 共93页
第七章数据库恢复-2ppt课件_第2页
第2页 / 共93页
第七章数据库恢复-2ppt课件_第3页
第3页 / 共93页
第七章数据库恢复-2ppt课件_第4页
第4页 / 共93页
第七章数据库恢复-2ppt课件_第5页
第5页 / 共93页
点击查看更多>>
资源描述

《第七章数据库恢复-2ppt课件》由会员分享,可在线阅读,更多相关《第七章数据库恢复-2ppt课件(93页珍藏版)》请在金锄头文库上搜索。

1、,数据库系统原理,授课教师:吴岩 ,.,第七章 数据库恢复技术,7.1 事务的基本概念 7.2 故障的种类 7.3 恢复的实现技术 7.4 恢复策略 7.5 具有检查点的恢复技术 7.6 数据库镜像,数据库系统原理,.,学习目标 掌握事务的基本概念,了解故障的种类以及对每种不同的故障采取的不同恢复策略;掌握恢复的实现技术;理解事务与数据库恢复和并发控制的关系。 学习重点 恢复的实现技术 数据转储 登记日志文件,第七章 数据库恢复技术,数据库系统原理,.,第七章 数据库恢复技术,7.1 事务的基本概念 7.2 故障的种类 7.3 恢复的实现技术 7.4 恢复策略 7.5 具有检查点的恢复技术 7

2、.6 数据库镜像,数据库恢复技术,.,第一节 事务的基本概念,事务 定义事务 事务的特性 事务的状态,数据库恢复技术,.,第一节 事务的基本概念,一、事务 事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是数据库环境中的逻辑工作单位。 一个应用程序通常包含多个事务。 事务是恢复和并发控制的基本单位。,数据库恢复技术,.,二、定义事务,定义事务的两种方式 隐式方式 当用户没有显式地定义事务时,由DBMS按缺省规定自动划分事务。 显式方式 事务的开始由用户显式控制 事务结束由用户显式控制,数据库恢复技术,事务的基本概念(续),.,定义事务(续),1、隐式

3、事务 隐式事务是数据库管理系统为用户而做的事务,又称自动提交事务。 例7.1 在一个SQL批文件中,向数据表SC中插入数据,每条SQL语句都是一个隐式事务。,数据库恢复技术,系统在执行第3条插入语句后发现错误,自动回滚。,.,定义事务(续),2、显式定义事务 显式事务是一种由用户自己指定的事务。这种事务允许用户自己决定哪批工作必须成功完成,否则所有部分都不完成。 事务开始 BEGIN TRANSACTION 事务结束 COMMIT:事务提交,正常结束一个事务,使事务对数据库的更新永久生效。 ROLLBACK:事务回滚, 撤消该事务已进行的更新,回滚到事务开始的状态。,数据库恢复技术,.,显式事

4、务(续),例7.2 显式事务(回滚):在一个SQL批文件中,若在一个显式事务中删除数据表SC,然后回滚事务,其删除无效。,数据库恢复技术,.,例7.3 显式事务(提交):在一个SQL批文件中,若在一个显式事务中删除数据表SC,然后提交事务,其删除有效。,显式事务(续),数据库恢复技术,.,三、事务的特性,原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持续性(Durability ),事务的基本概念(续),数据库恢复技术,.,事务的特性(续),1、原子性 事务是数据库的逻辑工作单位,事务中包括 的诸操作要么都做,要么都不做。 2、一致性 事务执行的

5、结果必须是使数据库从一个一致 状态变到另一个一致状态。 一致性状态:数据库只包含成功事务提交的结果。 不一致状态:数据库包含失败事务的结果。,数据库恢复技术,.,账户A,账户B,-10000,+10000,定义一个事务,该事务包括两个操作: 第一个操作是从帐号A中减去一万元 第二个操作是向帐号B中加入一万元 两个操作 全做或者全不做,数据库都处于一致性状态。 只做一个操作,数据库就处于不一致性状态。,例7.4 银行转帐:,一致性(续),数据库恢复技术,.,事务的特性(续),3、隔离性 一个事务的执行不能被其他事务干扰。 4、持续性(永久性) 一个事务一旦提交,它对数据库中数据的改变就应该是永久

6、性的。 接下来的其他操作或故障不应该对其执行结果有任何影响。,数据库恢复技术,.,事务的特性(续),保证事务ACID特性是事务处理的重要任务, 是DBMS中恢复机制和并发控制机制的责任。 破坏事务ACID特性的因素 多个事务并行运行时,不同事务的操作交叉执行 DBMS必须保证多个事务的交叉运行不影响这些事务ACID特性,特别是原子性和隔离性。 事务在运行过程中被强行停止 DBMS必须保证被强行终止的事务对数据库和其他事务没有任何影响。,数据库恢复技术,.,四、事务的状态,事务的基本概念(续),数据库恢复技术,事务执行时处于的状态,事务不能正常执行的状态,事务回滚并恢复到事务开始前的状态,事务中

7、最后一条语句自动执行后的状态,事务成功完成,.,第七章 数据库恢复技术,7.1 事务的基本概念 7.2 故障的种类 7.3 恢复的实现技术 7.4 恢复策略 7.5 具有检查点的恢复技术 7.6 数据库镜像,数据库恢复技术,.,第二节 故障的种类,事务内部故障 系统故障 介质故障 计算机病毒,数据库恢复技术,.,1、事务内部故障 某个事务在运行过程中由于种种原因未运行至正常终止点就夭折了。 2、事务内部故障类型 可预期的事务内部故障 可通过事务程序本身发现 非预期的事务内部故障 运算溢出 违反了某些完整性限制 某些应用程序出错 并行事务发生死锁,一、事务内部故障,数据库恢复技术,.,事务内部故

8、障(续),例7.5,银行转账事务: Begin Transaction 读账户甲的余额Balance; Balance=Balance-Amount If (Balance0)Then 打印金额不足,不能转账; RollBack;(撤销刚才的修改,恢复事务) Else 读账户乙的余额Balance1; Balance1=Balance1+Amount; 写回Balance1; Commit;,此事务故障通过事务程序本身发现,数据库恢复技术,.,3、事务故障的恢复 发生事务故障时,夭折的事务可能已把对数据库的部分修改写回磁盘。 事务故障的恢复:事务撤消(UNDO) 恢复程序要在不影响其它事务运行

9、的情况下,强行回滚(ROLLBACK)该事务,即清除该事务对数据库的所有修改。,数据库恢复技术,事务内部故障(续),.,二、系统故障,1、系统故障 造成整个系统的正常运行突然停止的任何事件,使得系统要重新启动。 2、系统故障的常见原因 特定类型的硬件错误(如CPU故障) 操作系统故障 DBMS代码错误 突然停电,数据库恢复技术,.,系统故障(续),3、系统故障的恢复 清除尚未完成的事务对数据库的所有修改 如果DBMS无法确定哪些事务已更新过数据库,则系统重新启动后,恢复程序要强行撤消(UNDO)所有未完成事务, 使这些事务象没有运行过一样。 将缓冲区中已完成事务提交的结果写入数据库 如果DBM

10、S无法确定哪些事务的提交结果尚未写入物理数据库,则系统重新启动后,恢复程序需要重做(REDO)所有已提交的事务。,数据库恢复技术,.,三、介质故障,1、介质故障 硬件故障使存储在外存中的数据部分丢失或全部丢失。 介质故障比前两类故障的可能性小得多,但破坏性最大。 2、介质故障的常见原因 硬件故障 磁盘损坏 磁头碰撞 瞬时强磁场干扰,数据库恢复技术,.,介质故障(续),3、介质故障的恢复 装入数据库发生介质故障前某个时刻的数据副本。 重做自此时始的所有成功事务,将这些事务已提交的结果重新记入数据库。,数据库恢复技术,.,四、计算机病毒,计算机病毒是一种人为的故障或破坏,是一种可以自我复制和传播的

11、计算机程序。 例如: “SQL Slammer”病毒 该病毒利用SQL SERVER 2000的解析端口1434的缓冲区溢出漏洞对其服务进行攻击。2003年1月25日爆发,全球共有50万台服务器被攻击 “恐怖数据库”病毒 当用户打开Access数据库文件以后,系统随即被关闭,重启后Windows操作系统无法启动。,数据库恢复技术,.,故障的种类小结,数据库系统中各类故障对数据库的影响 数据库本身被破坏(介质故障 计算机病毒) 数据库处于不一致状态 数据库中包含了未完成事务对数据库的修改(事务故障、系统故障) 数据库中丢失了已提交事务对数据库的修改(系统故障) 不同类型的故障应采用不同的恢复操作

12、。,数据库恢复技术,.,故障的种类小结(续),恢复操作的基本原理(简单) 原理:利用存储在系统其它地方的冗余数据来重建数据库中已经被破坏或已经不正确的那部分数据。 恢复的实现技术(复杂) 一般一个大型数据库产品,恢复子系统的代码要占全部代码的10%以上。,数据库恢复技术,.,第七章 数据库恢复技术,7.1 事务的基本概念 7.2 故障的种类 7.3 恢复的实现技术 7.4 恢复策略 7.5 具有检查点的恢复技术 7.6 数据库镜像,数据库恢复技术,.,第三节 恢复的实现技术,恢复技术的原理 数据转储 登记日志文件,.,一、恢复技术的原理,利用存储在系统其它地方的冗余数据来修复或重建数据库中被破

13、坏的或不正确的数据。 恢复机制涉及的关键问题 如何建立冗余数据 数据转储 登录日志文件 如何利用这些冗余数据实施数据库恢复,数据库恢复技术,.,二、数据转储,1、什么是数据转储 数据转储是指DBA将整个数据库复制到磁带 或另一个磁盘上保存起来的过程。这些备用的数 据文本称为后备副本或后援副本。 数据转储的用途: 一旦数据库遭到破坏,可以将后备副本重新 装入,来恢复数据库。,数据库恢复技术,.,数据转储(续),2、数据恢复的程度 重装后备副本只能将DB恢复到转储时的状态。 要想恢复到故障发生时的状态,必须重新运行自转储以后的所有更新事务。,故障发生点 转储 运行事务 正常运行 Ta Tb Tf

14、重装后备副本 重新运行事务 恢复 ,数据库恢复技术,.,3、转储状态 静态转储与动态转储 (1)静态转储 是在系统中无运行事务时进行的转储操作。 转储期间不允许(或不存在)对数据库的任何存取、修改活动。,数据库恢复技术,数据转储(续),静态转储 运行事务 故障发生点 正常运行 Ta Tb Tf 重装后备副本 恢复 ,.,(2)动态转储 动态转储是指转储操作与用户事务并发进行,转储期间允许对数据库进行存取或修改。 动态转储的优点 不用等待正在运行的用户事务结束 不会影响新事务的运行 动态转储的缺点 不能保证副本中的数据正确有效,数据库恢复技术,转储状态(续),.,动态转储(续),利用动态转储得到

15、的副本进行故障恢复 需要把动态转储期间各事务对数据库的修改活动登记下来,建立日志文件。 后备副本加上日志文件才能把数据库恢复到某一时刻的正确状态。,数据库恢复技术,故障发生点 动态转储运行事务 运行事务 正常运行 Ta Tb Tf 重装后备副本 利用日志文件恢复 继续运行 恢复 ,登记日志文件,Tc,Td,登记日志文件,.,数据转储(续),4、转储方式 海量转储:每次转储全部数据库。 增量转储:每次只转储上次转储后更新过的数据。 海量转储与增量转储比较 从恢复角度看,使用海量转储得到的后备副本进行恢复往往更方便。 但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。,数据库恢复技

16、术,.,数据转储(续),5、转储方法,数据库恢复技术,.,三、登记日志文件,1、日志文件的格式和内容 日志文件(log):是用来记录事务对数据库的更新操作的文件。 日志文件的格式 以记录为单位的日志文件 以数据块为单位的日志文件 日志文件内容 各个事务的开始标记(BEGIN TRANSACTION) 各个事务的结束标记(COMMIT或ROLLBACK) 各个事务的所有更新操作,数据库恢复技术,.,日志文件的内容(续),(1)基于记录的日志文件 每条日志记录的内容 事务标识(标明是哪个事务) 操作类型(插入、删除或修改) 操作对象 更新前数据的旧值(对插入操作而言,此项为空值) 更新后数据的新值(对删除操作而言, 此项为空值),数据库恢复技术,.,日志文件的内容(续),(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号