数据库恢复技术课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据库恢复技术课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 恢复 技术 课件
- 资源描述:
-
1、2022-12-131数据库原理数据库恢复技术数据库恢复技术 第第7章章n 事务的基本概念事务的基本概念n 数据库恢复概述数据库恢复概述n 故障的种类故障的种类n 恢复的技术实现恢复的技术实现n 恢复策略恢复策略n 具有检查点的恢复技术具有检查点的恢复技术n 数据库镜像数据库镜像n OracleOracle的恢复技术的恢复技术2022-12-132数据库原理第三篇第三篇 系统篇系统篇n数据库系统中的数据是由数据库系统中的数据是由DBMSDBMS统一管理和控制的,统一管理和控制的,为了适应数据共享的环境,为了适应数据共享的环境,DBMSDBMS必须提供必须提供数据保数据保护护能力,以保证数据库中
2、数据的能力,以保证数据库中数据的安全可靠安全可靠和和正确正确有效有效。n数据保护数据保护p 安全性安全性p 完整性完整性p 并发控制并发控制p 数据库恢复数据库恢复第七章第七章 数据库恢复技术数据库恢复技术第八章第八章 并发控制并发控制第九章第九章 数据库安全性数据库安全性第十章第十章 数据库完整性数据库完整性2022-12-133数据库原理7.1 7.1 事务的基本概念事务的基本概念n 什么是事务什么是事务n 如何定义事务如何定义事务n 事务的特性事务的特性2022-12-134数据库原理什么是事务什么是事务2022-12-135数据库原理n显式定义方式显式定义方式 BEGIN TRANSA
3、CTION BEGIN TRANSACTIONBEGIN TRANSACTION BEGIN TRANSACTION SQL SQL 语句语句1 1 SQL SQL 语句语句1 1 SQL SQL 语句语句2 2 SQL SQL 语句语句2 2 。COMMIT ROLLBACKCOMMIT ROLLBACKn隐式方式隐式方式当用户没有显式地定义事务时,当用户没有显式地定义事务时,DBMSDBMS按缺省规定自动划分事务。按缺省规定自动划分事务。如何定义事务如何定义事务2022-12-136数据库原理COMMITCOMMITp 事务正常结束事务正常结束 p 提交事务的所有操作提交事务的所有操作p
4、事务中所有对数据库的更新写回到磁盘物理数据库事务中所有对数据库的更新写回到磁盘物理数据库ROLLBACKROLLBACKp 事务异常终止事务异常终止p 事务运行的过程中发生了故障,不能继续执行事务运行的过程中发生了故障,不能继续执行p 将事务中对数据库的所有已完成的操作全部撤销将事务中对数据库的所有已完成的操作全部撤销p 事务滚回到开始时的状态事务滚回到开始时的状态2022-12-137数据库原理事务的特性事务的特性n原子性原子性(AtomicityAtomicity)n一致性一致性(ConsistencyConsistency)n隔离性隔离性(IsolationIsolation)n持续性持
5、续性(Durability Durability)事务是数据库的逻辑工作单位,事务是数据库的逻辑工作单位,事务中包括的事务中包括的诸操作要么都做,要么都不做。诸操作要么都做,要么都不做。2022-12-138数据库原理一致性一致性n事务执行的结果必须是使数据库从一个一致性状态事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态变到另一个一致性状态一致性状态:一致性状态:数据库中只包含成功事务提交的结果数据库中只包含成功事务提交的结果不一致状态:不一致状态:数据库中包含失败事务的结果数据库中包含失败事务的结果2022-12-139数据库原理银行转帐:从帐号银行转帐:从帐号A A中取出
6、一万元,存入帐号中取出一万元,存入帐号B B。n定义一个事务,该事务包括两个操作定义一个事务,该事务包括两个操作n这两个操作要么全做,要么全不做。这两个操作要么全做,要么全不做。p 全做或者全不做,数据库都处于一致性状态。全做或者全不做,数据库都处于一致性状态。p 如果只做一个操作,数据库就处于不一致性状如果只做一个操作,数据库就处于不一致性状态。态。2022-12-1310数据库原理隔离性隔离性n一个事务的执行不能被其他事务干扰一个事务的执行不能被其他事务干扰n一个事务内部的操作及使用的数据对其他并发一个事务内部的操作及使用的数据对其他并发事务是隔离的事务是隔离的n并发执行的各个事务之间不能
7、互相干扰并发执行的各个事务之间不能互相干扰2022-12-1311数据库原理T T1 1的修改被的修改被T T2 2覆盖了!覆盖了!2022-12-1312数据库原理持久性持久性n持续性也称永久性(持续性也称永久性(PermanencePermanence)p 一个事务一旦提交,它对数据库中数据的一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。改变就应该是永久性的。p 接下来的其他操作或故障不应该对其执行接下来的其他操作或故障不应该对其执行结果有任何影响。结果有任何影响。2022-12-1313数据库原理n保证事务保证事务ACIDACID特性是事务处理的任务特性是事务处理的任务n破坏
8、事务破坏事务ACIDACID特性的因素特性的因素p 多个事务并行运行时,不同事务的操作多个事务并行运行时,不同事务的操作交叉交叉执行执行p 事务在运行过程中被事务在运行过程中被强行停止强行停止2022-12-1314数据库原理7.2 7.2 数据库恢复概述数据库恢复概述n故障是不可避免的故障是不可避免的p 计算机硬件故障计算机硬件故障p 系统软件和应用软件的错误系统软件和应用软件的错误p 操作员的失误操作员的失误p 恶意的破坏恶意的破坏n故障的影响故障的影响p 运行事务非正常中断运行事务非正常中断p 破坏数据库破坏数据库2022-12-1315数据库原理n数据库管理系统对故障的对策数据库管理系
9、统对故障的对策p DBMSDBMS提供恢复子系统提供恢复子系统p 保证故障发生后,能把数据库中的数据从错误保证故障发生后,能把数据库中的数据从错误状态恢复到某种逻辑一致的状态。状态恢复到某种逻辑一致的状态。p 保证事务保证事务ACIDACIDn恢复技术是衡量系统优劣的重要指标恢复技术是衡量系统优劣的重要指标2022-12-1316数据库原理7.3 7.3 故障的种类故障的种类 数据库运行过程中可能发生的故障主要有:数据库运行过程中可能发生的故障主要有:p 事务内部故障事务内部故障p 系统故障系统故障p 介质故障介质故障p 计算机病毒计算机病毒各类故障,对数据库的影响有两种可能性:各类故障,对数
10、据库的影响有两种可能性:u 数据库本身被破坏数据库本身被破坏;u 数据库没有破坏,但数据库没有破坏,但数据可能不正确数据可能不正确。2022-12-1317数据库原理事务内部的故障事务内部的故障n什么是事务故障什么是事务故障p 某个事务在运行过程中由于种种原因未运行至正某个事务在运行过程中由于种种原因未运行至正常终止点就夭折了常终止点就夭折了n事务故障的常见原因事务故障的常见原因p 输入数据有误输入数据有误p 运算溢出运算溢出p 违反了某些完整性限制违反了某些完整性限制p 某些应用程序出错某些应用程序出错p 并行事务发生死锁并行事务发生死锁p。2022-12-1318数据库原理n发生事务故障时
11、,夭折的事务可能已把对数据库的发生事务故障时,夭折的事务可能已把对数据库的部分修改写回磁盘。部分修改写回磁盘。n事务故障的恢复:撤消事务(事务故障的恢复:撤消事务(UNDOUNDO)n强行回滚(强行回滚(ROLLBACKROLLBACK)该事务)该事务n清除该事务对数据库的所有修改,使得这个事务象清除该事务对数据库的所有修改,使得这个事务象根本没有启动过一样。根本没有启动过一样。事务故障的恢复事务故障的恢复2022-12-1319数据库原理系统故障系统故障n什么是系统故障什么是系统故障p 整个系统的正常运行突然被破坏整个系统的正常运行突然被破坏p 所有正在运行的事务都非正常终止所有正在运行的事
12、务都非正常终止p 内存中数据库缓冲区的信息全部丢失内存中数据库缓冲区的信息全部丢失p 外部存储设备上的数据未受影响外部存储设备上的数据未受影响2022-12-1320数据库原理系统故障的常见原因系统故障的常见原因n操作系统或操作系统或DBMSDBMS代码错误代码错误n操作员操作失误操作员操作失误n特定类型的硬件错误(如特定类型的硬件错误(如CPUCPU故障)故障)n突然停电突然停电2022-12-1321数据库原理n 清除尚未完成的事务对数据库的所有修改清除尚未完成的事务对数据库的所有修改p系统重新启动时,恢复程序要强行撤消(系统重新启动时,恢复程序要强行撤消(UNDOUNDO)所有未完成事务
13、。所有未完成事务。n将缓冲区中已完成事务提交的结果写入数据库将缓冲区中已完成事务提交的结果写入数据库p系统重新启动时,恢复程序需要重做(系统重新启动时,恢复程序需要重做(REDOREDO)所)所有已提交的事务。有已提交的事务。系统故障的恢复系统故障的恢复2022-12-1322数据库原理介质故障介质故障n硬件故障使存储在外存中的数据部分丢失或全部硬件故障使存储在外存中的数据部分丢失或全部丢失丢失n介质故障比前两类故障的可能性小得多,但破坏介质故障比前两类故障的可能性小得多,但破坏性大得多。性大得多。2022-12-1323数据库原理n硬件故障硬件故障p 磁盘损坏磁盘损坏p 磁头碰撞磁头碰撞p
14、操作系统的某种潜在错误操作系统的某种潜在错误p 瞬时强磁场干扰瞬时强磁场干扰介质故障的常见原因介质故障的常见原因2022-12-1324数据库原理介质故障的恢复介质故障的恢复n装入数据库发生介质故障前某个时刻的数据副本装入数据库发生介质故障前某个时刻的数据副本n重做自此时始的所有成功事务,将这些事务已提交重做自此时始的所有成功事务,将这些事务已提交的结果重新记入数据库。的结果重新记入数据库。2022-12-1325数据库原理恢复操作的基本原理恢复操作的基本原理n恢复操作的基本原理:冗余恢复操作的基本原理:冗余p利用存储在系统其它地方的冗余数据来重建利用存储在系统其它地方的冗余数据来重建数据库中
15、已被破坏或不正确的那部分数据数据库中已被破坏或不正确的那部分数据n恢复的实现技术:复杂恢复的实现技术:复杂p一个大型数据库产品,恢复子系统的代码要一个大型数据库产品,恢复子系统的代码要占全部代码的占全部代码的10%10%以上。以上。2022-12-1326数据库原理7.4 7.4 恢复的实现技术恢复的实现技术恢复机制涉及的关键问题恢复机制涉及的关键问题1.1.如何建立冗余数据如何建立冗余数据p 数据转储数据转储(backupbackup)p 登录日志文件登录日志文件(logginglogging)2.2.如何利用这些冗余数据实施数据库恢复如何利用这些冗余数据实施数据库恢复2022-12-132
16、7数据库原理7.47.4.1.1 数据转储数据转储n转储是指转储是指DBADBA将整个数据库复制到磁带或另一个磁盘将整个数据库复制到磁带或另一个磁盘上保存起来的过程。上保存起来的过程。n这些备用的数据文本称为后备副本或后援副本。这些备用的数据文本称为后备副本或后援副本。故障发生点故障发生点 转储转储 运行事务运行事务 正常运行正常运行 Ta Ta Tb Tb Tf Tf 重装后备副本重装后备副本 重新运行事务重新运行事务恢复恢复 2022-12-1328数据库原理转储的方法转储的方法p 静态转储与动态转储静态转储与动态转储p 海量转储与增量转储海量转储与增量转储p 转储方法小结转储方法小结20
17、22-12-1329数据库原理n在系统中无运行事务时进行转储在系统中无运行事务时进行转储n转储开始时数据库处于一致性状态转储开始时数据库处于一致性状态n转储期间不允许对数据库的任何存取、修改活动转储期间不允许对数据库的任何存取、修改活动n优点:实现简单优点:实现简单n缺点:降低了数据库的可用性缺点:降低了数据库的可用性p 转储必须等用户事务结束转储必须等用户事务结束p 新的事务必须等转储结束新的事务必须等转储结束静态转储静态转储2022-12-1330数据库原理 故障发生点故障发生点 静态静态转储转储 运行事务运行事务 正常运行正常运行 Ta Ta Tb Tb Tf Tf 重装后备副本重装后备
18、副本 恢复恢复 2022-12-1331数据库原理n转储操作与用户事务并发进行转储操作与用户事务并发进行n转储期间允许对数据库进行存取或修改转储期间允许对数据库进行存取或修改n优点优点p 不用等待正在运行的用户事务结束不用等待正在运行的用户事务结束p 不会影响新事务的运行不会影响新事务的运行n缺点:不能保证副本中的数据正确有效缺点:不能保证副本中的数据正确有效动态转储动态转储n利用动态转储得到的副本进行故障恢复利用动态转储得到的副本进行故障恢复p 需要把动态转储期间各事务对数据库的修改活动需要把动态转储期间各事务对数据库的修改活动登记下来,建立日志文件。登记下来,建立日志文件。p 后备副本加上
19、日志文件才能把数据库恢复到某一后备副本加上日志文件才能把数据库恢复到某一时刻的正确状态时刻的正确状态2022-12-1332数据库原理 运行事务运行事务 故障发生点故障发生点 动态动态转储转储 运行事务运行事务 正常运行正常运行 Ta Ta Tb Tb Tf Tf重装后备副本重装后备副本 利用日志文件恢复利用日志文件恢复恢复恢复 2022-12-1333数据库原理 Ta Ta Tb Tb Tf Tf 动态动态转储转储 运行事务运行事务 故障发生点故障发生点正常运行正常运行 登记日志文件登记日志文件 登记新日志文件登记新日志文件 转储日志文件转储日志文件 重装后备副本,然后利用转储的日志文件恢复
20、重装后备副本,然后利用转储的日志文件恢复恢复到一恢复到一 致性状态致性状态2022-12-1334数据库原理海量转储、增量转储海量转储、增量转储n海量转储海量转储:每次转储全部数据库每次转储全部数据库n增量转储增量转储:只转储上次转储后更新过的数据只转储上次转储后更新过的数据n海量转储与增量转储比较海量转储与增量转储比较p从恢复角度看,使用海量转储得到的后备副本进从恢复角度看,使用海量转储得到的后备副本进行恢复往往更方便。行恢复往往更方便。p但如果数据库很大,事务处理又十分频繁,则增但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。量转储方式更实用更有效。2022-12-133
21、5数据库原理转储方法小结转储方法小结 转储状态转储状态动态转储动态转储静态转储静态转储转储转储方式方式海量转储海量转储动态海量转储动态海量转储静态海量转储静态海量转储增量转储增量转储动态增量转储动态增量转储静态增量转储静态增量转储表表7.1 7.1 数据转储的分类数据转储的分类2022-12-1336数据库原理n应定期进行数据转储,制作后备副本。应定期进行数据转储,制作后备副本。n但转储又是十分耗费时间和资源的,不能频繁进行。但转储又是十分耗费时间和资源的,不能频繁进行。nDBADBA应该根据数据库使用情况确定适当的转储周期和应该根据数据库使用情况确定适当的转储周期和转储方法。例:转储方法。例
22、:p 每天晚上进行动态增量转储每天晚上进行动态增量转储p 每周进行一次动态海量转储每周进行一次动态海量转储p 每月进行一次静态海量转储每月进行一次静态海量转储转储策略转储策略2022-12-1337数据库原理7.47.4.2.2 登记日志文件登记日志文件n日志文件的内容日志文件的内容n日志文件的用途日志文件的用途n登记日志文件的原则登记日志文件的原则2022-12-1338数据库原理日志文件的内容日志文件的内容1.1.什么是日志文件什么是日志文件 日志文件日志文件(log)(log)是用来记录事务对数据库的更新操作的是用来记录事务对数据库的更新操作的文件文件2.2.日志文件的格式日志文件的格式
23、p 以以记录记录为单位的日志文件为单位的日志文件p 以以数据块数据块为单位的日志文件为单位的日志文件3.3.日志文件内容日志文件内容p 各个事务的开始标记各个事务的开始标记(BEGIN TRANSACTION)(BEGIN TRANSACTION)p 各个事务的结束标记各个事务的结束标记(COMMIT(COMMIT或或ROLLBACK)ROLLBACK)p 各个事务的所有更新操作各个事务的所有更新操作 日志文件中的一个日志记录日志文件中的一个日志记录 (log record)(log record)2022-12-1339数据库原理每条日志记录的内容每条日志记录的内容p事务标识事务标识p操作类
24、型(插入、删除或修改)操作类型(插入、删除或修改)p操作对象(记录的内部标识)操作对象(记录的内部标识)p更新前数据的旧值(对插入操作而言,此项为空值)更新前数据的旧值(对插入操作而言,此项为空值)p更新后数据的新值(对删除操作而言更新后数据的新值(对删除操作而言,此项为空值)此项为空值)4.4.基于记录的日志文件基于记录的日志文件2022-12-1340数据库原理每条日志记录的内容每条日志记录的内容p事务标识(标明是那个事务)事务标识(标明是那个事务)p更新前数据所在的整个数据块的值(对插入操作更新前数据所在的整个数据块的值(对插入操作而言,此项为空值)而言,此项为空值)p更新后整个数据块的
展开阅读全文