



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库恢复技术和并发控制一、数据库恢复技术1. 事务所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单元。2. 事务的特性事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability),简称为ACID特性。(1) 原子性事务是数据库的逻辑工作单位,事务中包含的诸操作要么都做,要么都不做。(2) 一致性事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。(3) 隔离性一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰(4) 持续性指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。事务是恢复和并发控制的基本单位。保证事务ACID特性是事务管理的重要任务。3. 故障种类数据库系统中可能发生的各种各样的故障,大致可以分为下几类:(1) 事务内部的故障有的可以通过事务程序本身发现,如转账时发现账户余额不足。更多的故障是非预期的,是不能由应用程序处理的,如运算溢出、并发事务发生死锁而被选中撤销该事务、违反了某些完整性限制等(2) 系统故障指造成系统停止运转的任何事件,使得系统要重新启动。例如:硬件错误(CPU故障)、操作系统故障、DBMS代码错误、系统断电等。这类故障影响正在运行的所有事务,但不破坏数据库。这时主存内容,尤其是数据库缓冲区(在内存)中的内容都被丢失,所有运行事务都非正常终止。发生故障时,一些尚未完成的事务的结果可能已送入物理数据库,从而造成数据库可能处于不正确的状态。恢复子系统必须在系统重新启动时让所有非正常终止的事务回滚,强行撤销(UNDO)所有未完成事务。另一方面,有些已完成的事务可能有一部分甚至全部留在缓冲区,尚未写回到磁盘上的物理数据库中,系统故障使得这些事务对数据库的修改部分或全部丢失,这也会使数据库处于不一致状态,因此应将这些事务已提交的结果重新写入数据库。所以系统重新启动后,恢复子系统除需要撤销所有未完成的事务,还需要重做(REDO)所有已提交的事务,以将数据库真正恢复到一致状态。(3) 介质故障也称硬故障,如磁盘损坏、磁头碰撞、强磁场干扰等。(4) 计算机病毒4. 恢复的实现技术恢复机制涉及的两个关键问题是:第一,如何建立冗余数据;第二,如何利用这些冗余数据实施数据库恢复。建立冗余数据最常用的技术是数据转储和登录日志文件。5. 恢复策略当系统运行过程中发生故障,利用数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。(1) 事务故障的恢复事务故障是指事务在运行至正常终止点前被终止,这时恢复子系统应利用日志文件撤销(UNDO)此事务已对数据库进行的修改。事务故障的恢复是由系统自动完成的,对用户是透明的。恢复步骤:1 反向扫描日志文件,查找该事务的更新操作2 对事务的更新操作执行逆操作3 继续查找该事务的其他更新操作,并做同样处理,直至读到该事务的开始标记,事务故障恢复就完成了。(2) 系统故障的恢复系统故障造成数据库不一致状态的原因有两个,一是未完成事务对数据库的更新可能已写入数据库,二是已提交事务对数据库的更新可能还留在缓冲区没来得及写入数据库。因此恢复操作就是要撤销故障发生时未完成的事务,重做已完成的事务。系统故障的恢复是由系统在重新启动时自动完成的,不需要用户干预。恢复步骤:1 正向扫描日志文件,找出在故障发生前已提交的事务(这些事务既有BEGIN TRANSACTION标记,也有COMMIT标记),将其事务标识记入重做(REDO)队列。同时找出故障发生时尚未完成的事务(这些事务只有BEGIN TRANSACTION标记,无相应的COMMIT标记),将其事务标识记入撤销队列。2 对撤销队列中的各个事务进行撤销(UNDO)处理。方法是,反向扫描日志文件,对每个UNDO事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库。3 对重做队列中的各个事务进行重做(REDO)处理。方法是,正向扫描日志文件,对每个REDO事务重新执行日志文件登记的操作,即将日志记录中“更新后的值”写入数据库。(3) 介质故障的恢复恢复方法是重装数据库,然后重做已完成的事务。二、并发控制1. 交叉并发方法:单处理机系统中的并发事务并没有真正地并行运行,但是减少了处理机的空闲时间,提高了系统的效率。2. 同时并发方法:多处理机系统中,每个处理机可以运行一个事务,多个处理机可以同时运行多个事务,实现多个事务真正的并发执行。3. 并发控制概述为了保证事务的隔离性和一致性,DBMS需要对并发操作进行正确调度。并发操作带来的数据不一致性主要包括丢失修改、不可重复读和读“脏”数据等。下面把事务读数据x记为R(x),把事务写数据x记为W(x)。三种数据不一致可以由下图表示:并发控制的主要技术有封锁(Locking)、时间戳(Timestamp)和乐观控制法。4. 封锁封锁是实现并发控制的一个非常重要的技术。所谓封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一下的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。确切的控制由封锁的类型决定。基本的封锁类型有两种:排它锁(Exclusive Locks,简称X锁)和共享锁(Share Locks,简称S锁)(1) 排它锁又称为写锁。若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。(2) 共享锁又称为读锁。若事务T对数据对象A加上S锁,则事
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 财产处理协议书
- 表5安全教育与培训
- 2024-2025学年七年级数学北师大版上册期末检测卷(含答案)
- 幼儿园《雨天的活动》科学教案
- 大班幼儿全面发展指南策略分析
- 2024-2025学年下学期高二生物人教版期末必刷常考题之生态系统的信息传递
- 森林之旅心理题目及答案
- 2025届河南省九师联盟高三下学期2月教学质量检测语文试题(解析版)
- 年底员工评价的评语
- 渣土车辆超速检讨书
- 2025年江苏徐州市泉山数据有限公司招聘笔试冲刺题(带答案解析)
- 重庆市大渡口区2023-2024学年四年级下学期数学期末测试卷(含答案)
- 2025年高考全国一卷写作范文4篇
- 全省一体化政务平台AI大模型应用方案
- 医院负面清单管理制度
- 11.3 一元一次不等式组 课件 2024-2025学年人教版初中数学七年级下册
- DZ/T 0220-2006泥石流灾害防治工程勘查规范
- 2025四川泸州交通物流集团有限公司及下属公司招聘12人笔试参考题库附带答案详解析
- 2025英语ab级考试试题及答案
- 广东省广州市越秀区2020-2021学年七年级下学期期末英语试题(含答案)
- 2025年人教版七年级下册生物期末检测试卷及答案
评论
0/150
提交评论