数据库系统概论(八)课件.ppt
《数据库系统概论(八)课件.ppt》由会员分享,可在线阅读,更多相关《数据库系统概论(八)课件.ppt(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第十章 数据库恢复技术 10.1 事务的基本概念10.2 数据库恢复概述10.3 恢复的实现10.4 恢复策略10.5 具有检查点的恢复技术10.6 数据库镜像10.7 SQL Server 的恢复技术2/13/20231第十章 数据库恢复技术 10.1 事务的基本概念 什么是事务?事务的基本操作与状态 系统赋予事务的特性2/13/20232第十章 数据库恢复技术 10.1.1 什么是事务?典型事务,如银行转帐:帐户A 10000元;帐户B+10000元。Read(A);A:=A-10000;Write(A);Read(B);B:=B+10000;Write(B);begin transact
2、ion;Read(A);A:=A-10000;Write(A);Read(B);B:=B+10000;Write(B);commit transaction;1、定义 为了完成某个任务所执行的一个数据库读、写操作序列。2、显式定义方式 BEGIN TRANSACTION SQL 语句1 SQL 语句2 。COMMIT(或 ROLLBACK)3、隐式方式 当用户没有显式地定义事务时,DBMS按缺省规定自动划分事务。2/13/20233第十章 数据库恢复技术 10.1.2 事务的基本操作与状态1)事务开始(begin transaction):开始执行。2)事务读写(read/write):进行数
3、据库操作。3)事务结束(end transaction):完成所有操作。4)事务交付(commit):完成所有操作,并保存所有结果。5)事务撤消(rollback):执行途中出现异常,系统或用户撤消事务。活跃部分交付交付撤消终止事务开始事务结束交付撤消读写操作事务的起点事务的终点2/13/20234第十章 数据库恢复技术 10.1.3 系统赋予事务的特性(ACID)为了保证事务并发、有效、正确地执行,保证数据库的正确性,系统必须赋予事务一些特性。1)原子性原子性(Atomicity):最基本特性事务的所有操作要么全部完成,要么均不执行。原子性在于保证正确性。由DBMS的恢复子系统来保证原子性。
4、2)一致性一致性(Consistency):事务必须将数据库从一种一致状态转换为另一种一致状态。由DBMS和程序开发者共同保证数据库的一致性。3)隔离性隔离性(Isolation):任何事务不能访问到其他未交付事务的中间结果。由DBMS的并发控制子系统来保证事务的隔离性。4)持久性持久性(Durability):保证已交付事务的结果不丢失,且与以后的故障无关。由DBMS的恢复子系统负责确保事务的持久性。2/13/20235第十章 数据库恢复技术 10.2 数据库恢复概述1、引入“恢复”技术的原因 事务故障、系统故障、介质故障计算机病毒2、恢复的基本原理冗余3、恢复的含义所谓数据库的恢复就是利用
5、存储在系统其他地方的冗余数据来修复数据库中被破坏的或不正确的数据,使数据库从错误状态恢复到某一已知的正确状态。(1)数据库本身被破坏(2)数据库没有被破坏,但数据可能不正确2/13/20236第十章 数据库恢复技术 10.3 恢复的实现技术恢复机制涉及的两个关键问题:如何建立冗余数据如何利用冗余数据实施数据库恢复数据转储数据转储登记日志文件登记日志文件不同故障的恢复不同故障的恢复策略有所不同策略有所不同2/13/20237第十章 数据库恢复技术 10.3.1 数据转储1、含义DBA定期地将整个数据库复制到磁带或另一个磁盘上形成后备副本保存起来的过程。2、利用转储方法进行恢复的过程 3、转储状态
6、静态转储动态转储 4、转储方式海量转储增量转储 TaTbTf正常运行正常运行转储转储运行事务运行事务故障发生点故障发生点重装后备副本重装后备副本重新运行事务重新运行事务恢复恢复2/13/20238第十章 数据库恢复技术 10.3.2 登记日志文件 日志文件的格式和内容 日志文件的作用 登记日志文件2/13/20239第十章 数据库恢复技术 一、日志文件的格式和内容什么是日志文件日志文件(log)是用来记录事务对数据库的更新操作的文件。日志文件的格式以记录为单位的日志文件以数据块为单位的日志文件2/13/202310第十章 数据库恢复技术 日志文件的格式和内容(续)以记录为单位的日志文件内容各个
7、事务的开始标记(BEGIN TRANSACTION)各个事务的结束标记(COMMIT或ROLLBACK)各个事务的所有更新操作以上均作为日志文件中的一个日志记录日志记录(log record)每条日志记录的内容事务标识(标明是哪个事务)操作类型(插入、删除或修改)操作对象(记录内部标识)更新前数据的旧值(对插入操作而言,此项为空值)更新后数据的新值(对删除操作而言,此项为空值)2/13/202311第十章 数据库恢复技术 日志文件的格式和内容(续)以数据块为单位的日志文件,每条日志记录的内容事务标识(标明是那个事务)被更新的数据块2/13/202312第十章 数据库恢复技术 二、日志文件的作用
8、 进行事务故障恢复 进行系统故障恢复 协助后备副本进行介质故障恢复2/13/202313第十章 数据库恢复技术 利用静态转储副本和日志文件进行恢复TaTbTf正常运行正常运行转储转储运行事务运行事务故障发生点故障发生点登记日志文件登记日志文件重装后备副本重装后备副本利用日志文件恢复事务利用日志文件恢复事务恢复恢复登记日志文件登记日志文件继续运行继续运行2/13/202314第十章 数据库恢复技术 三、登记日志文件基本原则登记的次序严格按并行事务执行的时间次序必须先写日志文件,后写数据库写日志文件操作:把表示这个修改的日志记录 写到日志文件写数据库操作:把对数据的修改写到数据库中2/13/202
9、315第十章 数据库恢复技术 10.4 恢复策略事务分类基本的恢复操作不同故障的恢复策略2/13/202316第十章 数据库恢复技术 10.4.1 事务分类圆满事务 指日志文件中记录了事务的 commit 标识,说明日志中已经完整地记录下事务所有的更新活动。夭折事务 指日志文件中只有事务的开始标识,而无commit标识,说明对事务更新活动的记录是不完整的,无法根据日志来重现事务。为保证事务的原子性,应该撤销这样的事务。2/13/202317第十章 数据库恢复技术 10.4.2 基本的恢复操作:Redo和UndoRedo和Undo是针对事务的某一次更新操作。Redo是重新执行这次操作。其处理的方
10、法是,正向扫描日志文件,将日志记录中“更新后的值”重新写入数据库。Undo是消除这次操作的影响,将事务执行点回退到这次操作之前。其处理的方法是,反向扫描日志文件,将日志记录中“更新前的值”重新写入数据库。在利用日志文件进行恢复的过程中,对已结束的事务中的更新操作进行Redo,对未结束的事务中的更新操作进行Undo。2/13/202318第十章 数据库恢复技术 10.4.3 不同故障的恢复策略 事务故障的恢复 系统故障的恢复 介质故障的恢复2/13/202319第十章 数据库恢复技术 思考题在SQL语言中,定义事务控制的语句主要有_、_ 和 _。事务具有四个特性:它们是_、_、_ 和 _。这个四
11、个特性也简称为_特性。_和_是数据库恢复的基本技术。如何进行事务故障的恢复?系统故障的恢复?介质故障恢复?2/13/202320第十章 数据库恢复技术 10.5 具有检查点的恢复技术 问题的提出 检查点技术 利用检查点的恢复策略2/13/202321第十章 数据库恢复技术 10.5.1 问题的提出两个问题搜索整个日志将耗费大量的时间REDO处理:重新执行,浪费了大量时间2/13/202322第十章 数据库恢复技术 解决方案具有检查点(checkpoint)的恢复技术在日志文件中增加检查点记录(checkpoint)增加重新开始文件恢复子系统在登录日志文件期间动态地维护日志2/13/202323
12、第十章 数据库恢复技术 10.5.2 检查点技术检查点记录的内容1.建立检查点时刻所有正在执行的事务清单2.这些事务最近一个日志记录的地址重新开始文件的内容记录各个检查点记录在日志文件中的地址2/13/202324第十章 数据库恢复技术 动态维护日志文件的方法动态维护日志文件的方法周期性地执行如下操作:建立检查点,保存数据库状态。具体步骤是:1.将当前日志缓冲区中的所有日志记录写入磁盘的日志文件上2.在日志文件中写入一个检查点记录3.将当前数据缓冲区的所有数据记录写入磁盘的数据库中4.把检查点记录在日志文件中的地址写入一个重新开始文件2/13/202325第十章 数据库恢复技术 建立检查点恢复
13、子系统可以定期或不定期地建立检查点,保存数据库状态 定期按照预定的一个时间间隔,如每隔一小时建立一个检查点 不定期按照某种规则,如日志文件已写满一半建立一个检查点2/13/202326第十章 数据库恢复技术 10.5.3 利用检查点的恢复策略Tc (检查点检查点)Tf (系统故障系统故障)UNDOUNDO REDO REDOT2T3T4T5不要不要REDOT12/13/202327第十章 数据库恢复技术 利用检查点的恢复步骤 1.从重新开始文件中找到最后一个检查点记录在日志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。2.由该检查点记录得到检查点建立时刻所有正在执行的事务清单ACT
14、IVE-LIST建立两个事务队列UNDO-LIST REDO-LIST 把ACTIVE-LIST暂时放入UNDO-LIST队列,REDO队列暂为空。2/13/202328第十章 数据库恢复技术 利用检查点的恢复策略(续)3.从检查点开始正向扫描日志文件,直到日志文件结束如有新开始的事务Ti,把Ti暂时放入UNDO-LIST队列如有提交的事务Tj,把Tj从UNDO-LIST队列移到REDO-LIST队列4.对UNDO-LIST中的每个事务执行UNDO操作 对REDO-LIST中的每个事务执行REDO操作2/13/202329第十章 数据库恢复技术 10.6 数据库镜像介质故障是对系统影响最为严重
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 概论 课件
限制150内