数据库系统概论AnIntroductiontoDatabaseSystem第十章数据-课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据库系统概论AnIntroductiontoDatabaseSystem第十章数据-课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 概论 AnIntroductiontoDatabaseSystem 第十 数据 课件
- 资源描述:
-
1、数据库系统概论数据库系统概论An Introduction to Database System第十章第十章 数据库恢复技术数据库恢复技术渤海大学信息科学与工程学院渤海大学信息科学与工程学院 College of Computer Science and EngineeringBohai University Spring 2019第十章第十章 数据库恢复技术数据库恢复技术10.1 事务的基本概念10.2 数据库恢复概述10.3 故障的种类10.4 恢复的实现技术10.5 恢复策略10.6 具有检查点的恢复技术10.7 数据库镜像10.8 小结10.1 事务的基本概念事务的基本概念一、什么是事
2、务二、如何定义事务三、事务的特性一、什么是事务一、什么是事务n事务(Transaction)是用户定义的一个数据库操作(更新)序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位n事务和程序是两个概念n在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序n一个应用程序通常包含多个事务二、如何定义事务二、如何定义事务n显式定义方式 BEGIN TRANSACTION BEGIN TRANSACTION SQL 语句1 SQL 语句1 SQL 语句2 SQL 语句2 。COMMIT ROLLBACKn隐式方式n当用户没有显式地定义事务时,DBMS按缺省规定自动划分事务。事
3、务结束事务结束COMMIT事务正常结束 提交事务的所有操作(读+更新)事务中所有对数据库的更新永久生效ROLLBACK事务异常终止n事务运行的过程中发生了故障,不能继续执行回滚事务的所有更新操作n事务滚回到开始时的状态三、事务的特性三、事务的特性事务的ACID特性:n原子性(Atomicity)n一致性(Consistency)n隔离性(Isolation)n持续性(Durability)1.原子性原子性n事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。2.一致性一致性n事务执行的结果必须是使数据库从一个 一致性状态变到另一个一致性状态n一致性状态:数据库中只包含成功事务提
4、交的结果n不一致状态:数据库中包含失败事务的结果,事务对数据库的修改只有一部分写入物理数据库。一致性与原子性一致性与原子性银行转帐:从帐号A中取出一万元,存入帐号B。n定义一个事务,该事务包括两个操作n这两个操作要么全做,要么全不做n全做或者全不做,数据库都处于一致性状态。n如果只做一个操作,数据库就处于不一致性状态。n一致性和原子性密切相关的。B=B+10000 B 30000 A=A-10000 A 10000 B 20000 A 200003.隔离性隔离性n一个事务的执行不能被其他事务干扰。n一个事务内部的操作及使用的数据对其他并发事务是隔离的。n并发执行的各个事务之间不能互相干扰。n例
5、如:T1的修改被的修改被T2覆盖了!覆盖了!读A=16 AA-1写回A=15 读A=16 AA-1 写回A=15 T2T14.持续性持续性n持续性也称永久性(Permanence)n一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。n接下来的其他操作或故障不应该对其执行结果有任何影响。事务的特性事务的特性 n事务是数据库恢复和并发控制的基本单位n事务处理的任务:保证事务ACID特性n破坏事务ACID特性的因素(1)多个事务并行运行时,不同事务的操作交叉执行。(2)事务在运行过程中被强行停止。第十章第十章 数据库恢复技术数据库恢复技术10.1 事务的基本概念10.2 数据库恢复概述10.
6、3 故障的种类10.4 恢复的实现技术10.5 恢复策略10.6 具有检查点的恢复技术10.7 数据库镜像10.8 小结10.210.2 数据库恢复概述数据库恢复概述n故障是不可避免的n计算机硬件故障n系统软件和应用软件的错误n操作员的失误n恶意的破坏n故障的影响n运行事务非正常中断n破坏数据库n数据库管理系统对故障的对策nDBMS提供恢复子系统n数据库恢复:DBMS保证故障发生后,能把数据库从错误状态恢复到某种逻辑一致的状态n保证事务ACIDn恢复技术是衡量系统优劣的重要指标nDBMS提供恢复子系统。10.210.2 数据库恢复概述数据库恢复概述第十章第十章 数据库恢复技术数据库恢复技术10
7、.1 事务的基本概念10.2 数据库恢复概述10.3 故障的种类10.4 恢复的实现技术10.5 恢复策略10.6 具有检查点的恢复技术10.7 数据库镜像10.8 小结10.3 故障的种类故障的种类n事务故障n系统故障n介质故障n计算机病毒一、事务故障一、事务故障n什么是事务故障n某个事务在运行过程中由于种种原因未运行至正常终止点就夭折了n可预期的:通过事务程序本身发现。n不可预期的:不能由事务程序处理。一、事务故障一、事务故障n银行转帐事务:BEGIN TRANSACTION 读帐户甲的余额BALANCE;BALANCE=BALANCE-AMOUNT;IF(BALANCE0)打印金额不足,
8、不能转帐;ROLLBACK;一、事务故障一、事务故障 ELSE 读帐户乙的余额BALANCE1;BALANCE1=BALANCE1+AMOUNT;写回BALANCE1;COMMIT;n 这个例子包括的两个更新操作要么都做,要么都不做。一、事务故障一、事务故障n事务故障的常见原因n输入数据有误n运算溢出n违反了某些完整性限制n某些应用程序出错n并行事务发生死锁n。n事务故障指这类非预期的。事务故障的恢复事务故障的恢复n事务故障意味着事务没有达到预期的终点(COMMIT或ROLLBACK),数据库可能处于不一致状态。n发生事务故障时,夭折的事务可能已把对数据库的部分修改写回磁盘。n事务故障的恢复:
9、撤消事务(UNDO)n强行回滚(ROLLBACK)该事务n清除该事务对数据库的所有修改,使得这个事务象根本没有启动过一样二、系统故障二、系统故障n什么是系统故障n造成系统停止运行的任何事件,使得系统要重新启动。n系统故障的常见原因n特定类型的硬件错误(如CPU故障)n操作系统或DBMS代码错误n操作员操作失误n突然停电二、系统故障二、系统故障n系统故障的影响:n所有正在运行的事务都非正常终止n内存中数据库缓冲区的信息全部丢失n外部存储设备上的数据未受影响二、系统故障二、系统故障n系统故障的恢复n清除尚未完成的事务对数据库的所有修改n系统重新启动时,恢复程序要强行撤消(UNDO)所有未完成事务n
10、将缓冲区中已完成事务提交的结果写入数据库n系统重新启动时,恢复程序需要重做(REDO)所有已提交的事务三、介质故障三、介质故障n系统故障称为软故障(soft crash),介质故障称为硬故障(hard crash)。n硬故障指外存故障,硬件故障使存储在外存中的数据部分丢失或全部丢失。n介质故障比前两类故障的可能性小得多,但破坏性大得多。三、介质故障三、介质故障n介质故障的常见原因:n硬件故障n磁盘损坏 磁头碰撞n操作系统的某种潜在错误n瞬时强磁场干扰三、介质故障三、介质故障n介质故障的恢复:n装入数据库发生介质故障前某个时刻的数据副本n重做自此时始的所有成功事务,将这些事务已提交的结果重新记入
11、数据库。第十章第十章 数据库恢复技术数据库恢复技术10.1 事务的基本概念10.2 数据库恢复概述10.3 故障的种类10.4 恢复的实现技术10.5 恢复策略10.6 具有检查点的恢复技术10.7 数据库镜像10.8 小结10.4 10.4 恢复的实现技术恢复的实现技术n10.4.1 数据转储n10.4.2 登记日志文件10.4 10.4 恢复的实现技术恢复的实现技术n故障对数据库的两类影响:(1)数据库本身被破坏(2)数据库没有被破坏,但数据可能不正确。因为事务被非正常终止。n恢复操作的基本原理:冗余n利用存储在系统其它地方的冗余数据来重建数据库中已被破坏或不正确的那部分数据10.4 恢复
12、的实现技术恢复的实现技术恢复机制涉及的关键问题1.如何建立冗余数据2.如何利用这些冗余数据实施数据库恢复建立冗余数据最常用的技术1.数据转储(backup)2.登录日志文件(logging)也可以两种方法一起使用。10.4.1 数据转储数据转储一、什么是转储二、转储与恢复三、转储方法一、什么是转储一、什么是转储n数据转储是数据库恢复中采用的基本技术。n数据转储是指DBA将整个数据库复制到磁带或另一个磁盘上保存起来的过程。n这些备用的数据文本称为后备副本或后援副本。二、转储与恢复二、转储与恢复 故障发生点故障发生点 转储转储 运行事务运行事务 正常运行正常运行 Ta Ta Tb Tb Tf Tf
13、 重装后备副本重装后备副本 重新运行事务重新运行事务恢复恢复 三、转储方法三、转储方法1静态转储与动态转储2海量转储与增量转储3转储方法小结(1)静态转储)静态转储n在系统中无运行事务时进行转储。n转储开始时数据库处于一致性状态。转储期间不允许对数据库的任何存取、修改活动。n静态转储得到的一定是一个数据一致性的副本。(1)静态转储)静态转储n优点:实现简单n缺点:降低了数据库的可用性n转储必须等用户事务结束n新的事务必须等转储结束(2)动态转储动态转储n转储期间允许对数据库进行存取或修改,转储操作与用户事务并发进行。n优点n不用等待正在运行的用户事务结束n不会影响新事务的运行n动态转储的缺点n
14、不能保证副本中的数据正确有效(2)动态转储)动态转储n利用动态转储得到的副本进行故障恢复n需要把动态转储期间各事务对数据库的修改活动登记下来,建立日志文件。n后备副本加上日志文件才能把数据库恢复到某一时刻的正确状态。2海量转储与增量转储海量转储与增量转储n海量转储:每次转储全部数据库。n增量转储:只转储上次转储后更新过的数据。n海量转储与增量转储比较n从恢复角度看,使用海量转储得到的后备副本进行恢复往往更方便。n但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。3转储方法小结转储方法小结n转储方法分类 转储状态转储状态动态转储动态转储静态转储静态转储转储转储方式方式海量转储海量
15、转储动态海量转储动态海量转储静态海量转储静态海量转储增量转储增量转储动态增量转储动态增量转储静态增量转储静态增量转储转储策略转储策略n应定期进行数据转储,制作后备副本。n但转储又是十分耗费时间和资源的,不能频繁进行。nDBA应该根据数据库使用情况确定适当的转储周期和转储方法。例:n每天晚上进行动态增量转储n每周进行一次动态海量转储n每月进行一次静态海量转储10.4 恢复的实现技术恢复的实现技术10.4.1 数据转储10.4.2 登记日志文件10.4.2 登记日志文件登记日志文件一、日志文件的内容二、日志文件的用途三、登记日志文件的原则一、日志文件的内容一、日志文件的内容1.什么是日志文件日志文
16、件(log)是用来记录事务对数据库的更新操作的文件。2.日志文件的格式以记录为单位的日志文件以数据块为单位的日志文件一、日志文件的内容(续)一、日志文件的内容(续)以记录为单位的日志文件内容n各个事务的开始标记(BEGIN TRANSACTION)n各个事务的结束标记(COMMIT或ROLLBACK)n各个事务的所有更新操作n与事务有关的内部更新操作均作为日志文件中的一个日志记录(log record)4.基于记录的日志文件基于记录的日志文件每条日志记录的内容n事务标识(标明是哪个事务)n操作类型(插入、删除或修改)n操作对象(记录ID、Block NO.)n更新前数据的旧值(对插入操作而言,
17、此项为空值)n更新后数据的新值(对删除操作而言,此项为空值)一、日志文件的内容(续)一、日志文件的内容(续)以数据块为单位的日志文件内容n事务标识n被更新的数据块n更新前和更新后的整个块都放入日志文件中,操作类型、对象不必放入日志记录中。二、日志文件的用途二、日志文件的用途1用途n进行事务故障恢复n进行系统故障恢复n协助后备副本进行介质故障恢复日志文件的用途(续)日志文件的用途(续)2具体作用:(1)事务故障恢复和系统故障恢复必须用日志文件。(2)在动态转储方式中,必须建立日志文件,后援副本和日志文件综合起来才能有效地恢复数据库。日志文件的用途(续)日志文件的用途(续)(3)在静态转储方式中也
展开阅读全文