数据库第七章幻灯片.ppt
《数据库第七章幻灯片.ppt》由会员分享,可在线阅读,更多相关《数据库第七章幻灯片.ppt(71页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库第七章数据库第七章第1页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术2第七章第七章 数据库恢复技术数据库恢复技术7.1 事务的基本概念事务的基本概念7.2 故障的种类故障的种类7.3 恢复的实现技术恢复的实现技术7.4 恢复策略恢复策略7.5 具有检查点的恢复技术具有检查点的恢复技术7.6 数据库镜像数据库镜像7.7 SQL Server的恢复技术的恢复技术7.8小结小结第2页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术37.1 事务的基本概念事务的基本概念一、什么是事务一、什么是事务n事务事务(Transaction)是用户定
2、义的一个数据库操作序列,这是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单些操作要么全做,要么全不做,是一个不可分割的工作单位。位。n事务和程序是两个概念事务和程序是两个概念n在关系数据库中,一个事务可以是一条在关系数据库中,一个事务可以是一条SQL语句,一组语句,一组SQL语句或整个程序语句或整个程序n一个应用程序通常包含多个事务一个应用程序通常包含多个事务n事务事务是恢复和并发控制的基本单位是恢复和并发控制的基本单位第3页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术4事务的基本概念事务的基本概念(续续)二、如何定义事务二、如
3、何定义事务n定义事务的两种方式定义事务的两种方式n显式方式显式方式n事务的开始由用户显式控制事务的开始由用户显式控制n事务结束由用户显式控制事务结束由用户显式控制n隐式方式隐式方式n当用户没有显式地定义事务时,由当用户没有显式地定义事务时,由DBMS按缺省规定按缺省规定自动划分事务自动划分事务第4页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术5如何定义事务如何定义事务(续续)n显式定义事务显式定义事务(SQL)n事务开始事务开始BEGIN TRANSACTIONn事务结束事务结束COMMITROLLBACKnCOMMIT正常结束一个事务正常结束一个事务,使事务对数
4、据库的更使事务对数据库的更新永久生效新永久生效nROLLBACK回卷回卷(非正常终止非正常终止)一个事务一个事务,撤消该事撤消该事务已进行的更新务已进行的更新,滚回到事务开始的状态滚回到事务开始的状态第5页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术6事务的基本概念事务的基本概念(续续)三、事务的特性三、事务的特性n事务的事务的ACID特性:特性:1.原子性(原子性(Atomicity)2.一致性(一致性(Consistency)3.隔离性(隔离性(Isolation)4.持续性(持续性(Durability)第6页,共71页,编辑于2022年,星期六11四月20
5、23第七章 数据库恢复技术7事务的特性事务的特性(续续)1.原子性原子性:事务是数据库的逻辑工作单位事务是数据库的逻辑工作单位事务中包括的诸操作要么都做,要么都不做事务中包括的诸操作要么都做,要么都不做2.一致性一致性:事务执行的结果必须是使数据库从一个一致状事务执行的结果必须是使数据库从一个一致状态变到另一个一致状态态变到另一个一致状态n一致性状态一致性状态:数据库中只包含成功事务提交的结果:数据库中只包含成功事务提交的结果n不一致状态不一致状态:数据库中包含失败事务的结果:数据库中包含失败事务的结果数据库系统运行中发生故障,有些事务尚未完成就被数据库系统运行中发生故障,有些事务尚未完成就被
6、迫中断迫中断,这些未完成事务对数据库所做的修改有一部这些未完成事务对数据库所做的修改有一部分已写入物理数据库中分已写入物理数据库中第7页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术8一致性一致性(续续)n一致性与原子性是密切相关的一致性与原子性是密切相关的例:例:银行转帐:银行转帐:从帐号从帐号A中取出一万元,存入帐号中取出一万元,存入帐号B。n定义一个事务,该事务包括两个操作定义一个事务,该事务包括两个操作n第一个操作是从帐号第一个操作是从帐号A中减去一万元中减去一万元n第二个操作是向帐号第二个操作是向帐号B中加入一万元中加入一万元n这两个操作要么全做,要么全不
7、做这两个操作要么全做,要么全不做n全做或者全不做,数据库都处于一致性状态。全做或者全不做,数据库都处于一致性状态。n如果只做一个操作则用户逻辑上就会发生错误,少如果只做一个操作则用户逻辑上就会发生错误,少了一万元,这时数据库就处于不一致性状态。了一万元,这时数据库就处于不一致性状态。第8页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术9事务的特性事务的特性(续续)3.隔离性隔离性:一个事务的执行不能被其他事务干扰一个事务的执行不能被其他事务干扰一个事务内部的操作及使用的数据对其他并发事务是隔一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间
8、不能互相干扰离的,并发执行的各个事务之间不能互相干扰4.持续性持续性也称永久性(也称永久性(Permanence)n一个事务一旦提交,它对数据库中数据的改变就应该一个事务一旦提交,它对数据库中数据的改变就应该是永久性的是永久性的n接下来的其他操作或故障不应该对其执行结果有任何接下来的其他操作或故障不应该对其执行结果有任何影响影响第9页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术10事务的特性事务的特性(续续)n保证事务保证事务ACID特性是事务处理的重要任务特性是事务处理的重要任务,是是DBMS中恢中恢复机制和并发控制机制的责任复机制和并发控制机制的责任n破坏事务
9、破坏事务ACID特性的因素特性的因素n多个事务并行运行时,不同事务的操作交叉执行多个事务并行运行时,不同事务的操作交叉执行nDBMS必须保证多个事务的交叉运行不影响这些事必须保证多个事务的交叉运行不影响这些事务务ACID特性,特别是原子性和隔离性特性,特别是原子性和隔离性n事务在运行过程中被强行停止事务在运行过程中被强行停止nDBMS必须保证被强行终止的事务对数据库和其他必须保证被强行终止的事务对数据库和其他事务没有任何影响事务没有任何影响第10页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术11事务的状态事务的状态第11页,共71页,编辑于2022年,星期六11四
10、月2023第七章 数据库恢复技术12第七章第七章 数据库恢复技术数据库恢复技术7.1 事务的基本概念事务的基本概念7.2 故障的种类故障的种类7.3 恢复的实现技术恢复的实现技术7.4 恢复策略恢复策略7.5 具有检查点的恢复技术具有检查点的恢复技术7.6 数据库镜像数据库镜像7.7 SQL Server的恢复技术的恢复技术7.8小结小结第12页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术137.2 故障的种类故障的种类n故障是不可避免的故障是不可避免的n计算机硬件故障计算机硬件故障n系统软件和应用软件的错误系统软件和应用软件的错误n操作员的失误操作员的失误n恶意
11、的破坏恶意的破坏n故障的影响故障的影响n轻则造成运行事务非正常中断,影响数据库中数据的正轻则造成运行事务非正常中断,影响数据库中数据的正确性确性n重则破坏数据库,使数据库中数据部分或全部丢失。例,重则破坏数据库,使数据库中数据部分或全部丢失。例,银行转帐。银行转帐。第13页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术14数据库恢复概述数据库恢复概述n数据库管理系统对故障的对策数据库管理系统对故障的对策nDBMS提供了恢复子系统,用来保证各种故障发生后,提供了恢复子系统,用来保证各种故障发生后,能把数据库中的数据从错误状态恢复到某种逻辑一致的能把数据库中的数据从错误
12、状态恢复到某种逻辑一致的状态。即保证各个事务中的操作要么全部完成,要么全状态。即保证各个事务中的操作要么全部完成,要么全部不做。部不做。n数据库系统所采用的恢复技术是否行之有效是衡量系统性数据库系统所采用的恢复技术是否行之有效是衡量系统性能优劣的重要指标。能优劣的重要指标。第14页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术157.2 故障的种类故障的种类n故障的种类故障的种类:事务故障事务故障,系统故障系统故障,介质故障介质故障一、事务故障一、事务故障n什么是事务故障什么是事务故障n某个事务在运行过程中由于种种原因未运行至正常终止某个事务在运行过程中由于种种原因
13、未运行至正常终止点就夭折了点就夭折了n事务故障的常见原因事务故障的常见原因n输入数据有误输入数据有误n运算溢出运算溢出n违反了某些完整性限制违反了某些完整性限制n某些某些应用程序应用程序出错出错n并行事务发生死锁并行事务发生死锁第15页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术16事务故障事务故障(续续)n事务故障的恢复事务故障的恢复n发生事务故障时,夭折的事务可能已把对数据库的部分发生事务故障时,夭折的事务可能已把对数据库的部分修改写回磁盘。修改写回磁盘。n事务故障的恢复:事务故障的恢复:事务撤消(事务撤消(UNDO)n恢复程序要在不影响其它事务运行的情况下,
14、强行恢复程序要在不影响其它事务运行的情况下,强行回滚(回滚(ROLLBACK)该事务,即清除该事务对数据)该事务,即清除该事务对数据库的所有修改,使得这个事务象根本没有启动过一库的所有修改,使得这个事务象根本没有启动过一样样第16页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术17故障的种类故障的种类(续续)二、系统故障二、系统故障n什么是系统故障什么是系统故障n由于某种原因造成整个系统的正常运行突然停止,致使由于某种原因造成整个系统的正常运行突然停止,致使所有正在运行的事务都以非正常方式终止。所有正在运行的事务都以非正常方式终止。n发生系统故障时,内存中数据库缓冲
15、区的信息全部丢失,发生系统故障时,内存中数据库缓冲区的信息全部丢失,但存储在外部存储设备上的数据未受影响但存储在外部存储设备上的数据未受影响n系统故障的常见原因系统故障的常见原因n操作系统或操作系统或DBMS代码错误代码错误n操作员操作失误操作员操作失误n特定类型的硬件错误(如特定类型的硬件错误(如CPU故障)故障)n突然停电突然停电第17页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术18系统故障系统故障(续续)n系统故障的恢复系统故障的恢复1.清除尚未完成的事务对数据库的所有修改清除尚未完成的事务对数据库的所有修改n如果如果DBMS无法确定哪些事务已更新过数据库
16、,则无法确定哪些事务已更新过数据库,则系统重新启动后,恢复程序要强行撤消系统重新启动后,恢复程序要强行撤消(UNDO)所所有未完成事务有未完成事务,使这些事务象没有运行过一样。使这些事务象没有运行过一样。2.将缓冲区中已完成事务提交的结果写入数据库将缓冲区中已完成事务提交的结果写入数据库n如果如果DBMS无法确定哪些事务的提交结果尚未写入无法确定哪些事务的提交结果尚未写入物理数据库,则系统重新启动后,恢复程序需要重物理数据库,则系统重新启动后,恢复程序需要重做做(REDO)所有已提交的事务。所有已提交的事务。第18页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术19
17、故障的种类故障的种类(续续)三、介质故障三、介质故障n什么是介质故障什么是介质故障n硬件故障使存储在外存中的数据部分丢失或全部丢失硬件故障使存储在外存中的数据部分丢失或全部丢失n介质故障比前两类故障的可能性小得多,但破坏性最大。介质故障比前两类故障的可能性小得多,但破坏性最大。n介质故障的常见原因介质故障的常见原因n硬件故障硬件故障n磁盘损坏磁盘损坏n磁头碰撞磁头碰撞n操作系统的某种潜在错误操作系统的某种潜在错误n瞬时强磁场干扰瞬时强磁场干扰第19页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术20故障的种类故障的种类(续续)n介质故障的恢复介质故障的恢复n装入装入
18、数据库发生介质故障前某个时刻的数据数据库发生介质故障前某个时刻的数据副本副本n重做自此时始的所有重做自此时始的所有成功事务成功事务,将这些事务已提交的结,将这些事务已提交的结果重新记入数据库果重新记入数据库四四.计算机病毒计算机病毒第20页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术21故障的种类小结故障的种类小结n数据库系统中各类故障对数据库的影响数据库系统中各类故障对数据库的影响n数据库本身被破坏数据库本身被破坏(介质故障)(介质故障)n数据库处于不一致状态数据库处于不一致状态n数据库中包含了未完成事务对数据库的修改(事务数据库中包含了未完成事务对数据库的修改
19、(事务故障、系统故障)故障、系统故障)n数据库中丢失了已提交事务对数据库的修改(系统数据库中丢失了已提交事务对数据库的修改(系统故障)故障)n不同类型的故障应采用不同的恢复操作不同类型的故障应采用不同的恢复操作第21页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术22故障的种类小结故障的种类小结(续续)n恢复操作的基本原理:简单恢复操作的基本原理:简单n任何恢复操作的原理都是一样的任何恢复操作的原理都是一样的n原理:利用存储在系统其它地方的原理:利用存储在系统其它地方的冗余数据冗余数据来重建数据来重建数据库中已经被破坏或已经不正确的那部分数据库中已经被破坏或已经不正
20、确的那部分数据n恢复的实现技术:复杂恢复的实现技术:复杂n一般一个大型数据库产品,恢复子系统的代码要占全部一般一个大型数据库产品,恢复子系统的代码要占全部代码的代码的10%以上以上第22页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术23第七章第七章 数据库恢复技术数据库恢复技术7.1 事务的基本概念事务的基本概念7.2 故障的种类故障的种类7.3 恢复的实现技术恢复的实现技术7.4 恢复策略恢复策略7.5 具有检查点的恢复技术具有检查点的恢复技术7.6 数据库镜像数据库镜像7.7 SQL Server的恢复技术的恢复技术7.8小结小结第23页,共71页,编辑于20
21、22年,星期六11四月2023第七章 数据库恢复技术247.3 恢复的实现技术恢复的实现技术n恢复技术的原理恢复技术的原理n利用存储在系统其它地方的冗余数据来修复或重建数利用存储在系统其它地方的冗余数据来修复或重建数据库中被破坏的或不正确的数据。据库中被破坏的或不正确的数据。n恢复机制涉及的关键问题恢复机制涉及的关键问题1.如何建立冗余数据如何建立冗余数据n数据转储数据转储n登录日志文件登录日志文件2.如何利用这些冗余数据实施数据库恢复如何利用这些冗余数据实施数据库恢复第24页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术257.3.1 数据转储数据转储n什么是转储
22、什么是转储转储是指转储是指DBA将整个数据库复制到磁带或另一个磁盘上保将整个数据库复制到磁带或另一个磁盘上保存起来的过程。存起来的过程。这些备用的数据文本称为这些备用的数据文本称为后备副本或后援副本后备副本或后援副本n转储的用途:供故障恢复时使用转储的用途:供故障恢复时使用一旦系统发生故障,数据库遭到破坏,可以将后备副本重一旦系统发生故障,数据库遭到破坏,可以将后备副本重新装入,把数据库恢复起来。新装入,把数据库恢复起来。第25页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术26数据转储数据转储(续续)n恢复的程度恢复的程度n重装后备副本只能将重装后备副本只能将DB
23、恢复到恢复到转储时转储时的状态的状态n要想恢复到故障发生时的状态,必须重新运行自转要想恢复到故障发生时的状态,必须重新运行自转储以后的所有更新事务储以后的所有更新事务例例 故障发生点故障发生点 转储转储 运行事务运行事务 正常运行正常运行 Ta Ta Tb Tb Tf Tf 重装后备副本重装后备副本 重新运行事务重新运行事务恢复恢复 第26页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术27数据转储数据转储(续续)n转储方法转储方法:n静态转储与动态转储静态转储与动态转储n海量转储与增量转储海量转储与增量转储n静态转储静态转储:是在系统中无运行事务时进行的转储操作是
24、在系统中无运行事务时进行的转储操作转储操作开始的时刻,数据库处于转储操作开始的时刻,数据库处于一致性状态一致性状态转储期间不允许(或不存在)对数据库的任何存取、转储期间不允许(或不存在)对数据库的任何存取、修改活动修改活动静态转储得到的静态转储得到的一定是一定是一个数据一致性的副本一个数据一致性的副本第27页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术28静态转储静态转储(续续)n静态转储的优点静态转储的优点n实现简单实现简单n静态转储的缺点静态转储的缺点n降低了数据库的可用性降低了数据库的可用性n转储必须等待用户事务结束才能进行转储必须等待用户事务结束才能进行n
25、新的事务必须等待转储结束才能执行新的事务必须等待转储结束才能执行n利用静态转储得到的副本进行故障恢复利用静态转储得到的副本进行故障恢复n只需要把静态转储得到的后备副本装入,就能把数只需要把静态转储得到的后备副本装入,就能把数据库恢复到转储时刻的正确状态据库恢复到转储时刻的正确状态第28页,共71页,编辑于2022年,星期六11四月2023第七章 数据库恢复技术29静态转储与动态转储静态转储与动态转储(续续)n动态转储动态转储:动态转储是指转储操作与用户事务并发进行,动态转储是指转储操作与用户事务并发进行,转储期间允许对数据库进行存取或修改。转储期间允许对数据库进行存取或修改。n动态转储的优点动
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 第七 幻灯片
限制150内