《数据库恢复》PPT课件
合集下载
数据库课件 第六章 数据库恢复
~ (续)
• 上图中:
– 系统在Ta时刻停止运行事务,进行数据库转储
– 在Tb时刻转储完毕,得到Tb时刻的数据库一致性 副本
– 系统运行到Tf时刻发生故障
– 为恢复数据库,首先由DBA重装数据库后备副本, 将数据库恢复至Tb时刻的状态
– 重新运行自Tb~Tf时刻的所有更新事务,把数据 库恢复到故障发生前的一致状态
高级数据库系统设计
日志文件的作用(续)
• 与静态转储后备副本配合进行介质故障恢复
– 静态转储的数据已是一致性的数据 – 如果静态转储完成后,仍能定期转储日志文件,
则在出现介质故障重装数据副本后,可以利用这 些日志文件副本对已完成的事务进行重做处理
– 这样不必重新运行那些已完成的事务程序就可把 数据库恢复到故障前某一时刻的正确状态
11
数据库恢复
4. 持续性
高级数据库系统设计
• 持续性也称永久性(Permanence)
– 一个事务一旦提交,它对数据库中数据的改变 就应该是永久性的。
– 接下来的其他操作或故障不应该对其执行结果 有任何影响。
12
数据库恢复
事务的特性
高级数据库系统设计
• 保证事务ACID特性是事务处理的任务 • 破坏事务ACID特性的因素
• 所有正在运行的事务都非正常终止
• 不破坏数据库
• 内存中数据库缓冲区的信息全部丢失
数据库恢复技术课件
未来数据库恢复技术将更加智能化和自动化,结合人工智能和大数据分析,提高恢复的效率和准确性。
数据库恢复技术的前景和挑战
数据库恢复技术在数据安全和业务连续性方面的重要性日益凸显,但同时也 面临着快速增长的数据量和复杂性带来的挑战。
基础恢复技术
包括数据备份和还原、数据镜像等技术,用于快速恢复数据库到某个时间点的状态。
日志恢复技术
通过数据库的事务日志,将数据库从断点处恢复到崩溃前的一致状态。
数据文件恢复技术
用于修复损坏或损失的数据库文件,以保证数据库的完整性和可用性。
备份和还原技术
数据备份
通过备份数据库,可以在数据丢失时恢复到备份点, 保证数据的安全性。
3
故障分析
定位故障原因,确定需要恢复的数据。
事务日志恢复
通过日志恢复操作,将数据库恢复到故 障前的一致状态。
数据库故障预防措施
监控和报警
定期检测数据库故障的迹象, 并设置及时的报警机制。
容灾和备份
建立容灾系统和定期进行数据 库备份,以防止数据丢失。
性能优化
优化数据库的性能,提升稳定 性和可靠性。
数据库恢复的未来发展趋势
数据库恢复技术ppt课件
本课件将介绍数据库恢复技术的全貌,包括分类、原理以及各种恢复技术的 应用等内容,帮助您更好地了解和掌握数据库恢复的关键知识。
什么是数据库恢复技术?
数据库恢复技术的前景和挑战
数据库恢复技术在数据安全和业务连续性方面的重要性日益凸显,但同时也 面临着快速增长的数据量和复杂性带来的挑战。
基础恢复技术
包括数据备份和还原、数据镜像等技术,用于快速恢复数据库到某个时间点的状态。
日志恢复技术
通过数据库的事务日志,将数据库从断点处恢复到崩溃前的一致状态。
数据文件恢复技术
用于修复损坏或损失的数据库文件,以保证数据库的完整性和可用性。
备份和还原技术
数据备份
通过备份数据库,可以在数据丢失时恢复到备份点, 保证数据的安全性。
3
故障分析
定位故障原因,确定需要恢复的数据。
事务日志恢复
通过日志恢复操作,将数据库恢复到故 障前的一致状态。
数据库故障预防措施
监控和报警
定期检测数据库故障的迹象, 并设置及时的报警机制。
容灾和备份
建立容灾系统和定期进行数据 库备份,以防止数据丢失。
性能优化
优化数据库的性能,提升稳定 性和可靠性。
数据库恢复的未来发展趋势
数据库恢复技术ppt课件
本课件将介绍数据库恢复技术的全貌,包括分类、原理以及各种恢复技术的 应用等内容,帮助您更好地了解和掌握数据库恢复的关键知识。
什么是数据库恢复技术?
第10章 数据库恢复技术(上课用)PPT课件
对并发执行而言 一个事务的执行不能被其他事务干扰 一个事务内部的操作及使用的数据对其他并发
事务是隔离的 并发执行的各个事务之间不能互相干扰
17.07.2020
数据库系统概论
13
T1
T2
① 读A=16
②
读A=16
③ A←A-1
写回 A=15
④
A←A-3 写回
A=13
T1的修改被T2覆盖了!
17.07.2020
数据库系统概论
14
4. 持续性
持续性也称永久性(Permanence)
一个事务一旦提交,它对数据库中数据的改 变就应该是永久性的。
接下来的其他操作或故障不应该对其执行结 果有任何影响。
17.07.2020
数据库系统概论
15
事务的特性
保证事务ACID特性是事务管理的任务 破坏事务ACID特性的因素
数据保护
安全性
完整性
并发控制
数据库恢复
17.07.2020
数据库系统概论
3
第十章 数据库恢复技术
10.1 事务的基本概念 10.2 数据库恢复概述 10.3 故障的种类 10.4 恢复的实现技术 10.5 恢复策略 10.6 具有检查点的恢复技术 10.7 数据库镜像 10.8 小结
多个事务并行运行时,不同事务的操作交叉执行 事务在运行过程中被强行停止
事务是隔离的 并发执行的各个事务之间不能互相干扰
17.07.2020
数据库系统概论
13
T1
T2
① 读A=16
②
读A=16
③ A←A-1
写回 A=15
④
A←A-3 写回
A=13
T1的修改被T2覆盖了!
17.07.2020
数据库系统概论
14
4. 持续性
持续性也称永久性(Permanence)
一个事务一旦提交,它对数据库中数据的改 变就应该是永久性的。
接下来的其他操作或故障不应该对其执行结 果有任何影响。
17.07.2020
数据库系统概论
15
事务的特性
保证事务ACID特性是事务管理的任务 破坏事务ACID特性的因素
数据保护
安全性
完整性
并发控制
数据库恢复
17.07.2020
数据库系统概论
3
第十章 数据库恢复技术
10.1 事务的基本概念 10.2 数据库恢复概述 10.3 故障的种类 10.4 恢复的实现技术 10.5 恢复策略 10.6 具有检查点的恢复技术 10.7 数据库镜像 10.8 小结
多个事务并行运行时,不同事务的操作交叉执行 事务在运行过程中被强行停止
数据库系统第10章 数据库恢复技术PPT课件
input(A)
A output(B)
提供原子性保护的系统组成部分是事务管理器(transaction manager),亦称事务处理监视器(transaction processing monitor 或TP monitor),COMMIT和ROLLBACK操作是其中的关键。
事务的概念-ACID准则
a)执行的原子性(Atomic) 这些操作要么都做,要么都不做。事务是一个不可分割的 工作单位。
write(X):把数据X从内存 缓冲区中写回磁盘的数据 库中
注:完成写操作后,数据可 能暂时放在内存中,而非直 接写进数据库。(延迟写)
数据库的恢复
存储器结构 恢复和原子性的联系 故障类型 恢复的基本原则
转储 日志
故障恢复方法 具有检查点的恢复技术
数据库恢复-存储器结构
1、存储器的类型 依据:访问速度、容量和恢复能力
INSERT INTO 选课 VALUE(‘002015111’,’高等数学’,null); ‘if any error occurred then go to undo
COMMIT; Go To Finish;
Undo: Rollback
Finish: Return;
事务-事务管理器
上述例子是一个原子操作-增加一个新的学生记录,但事实上对数据 库进行了两个更新操作,这两个操作之间的数据库是不一致的。
数据库恢复技术PPT课件
• 什么是日志文件 • 日志文件(log)是用来记录事务对数据库的更新操作的文件
• 日志文件中存储的一条条日志记录,每个记录包含以下内容: • 事务标识(标明是哪个事务) • 事务的开始、结束标志 • 操作类型(插入、删除或修改) • 操作对象(记录内部标识) • 更新前数据的旧值(对插入操作而言,此项为空值) • 更新后数据的新值(对删除操作而言, 此项为空值)
• 事务之间不能相互干扰,主要体现在一个事务正在访问的数 据其他事务不能访问。
• 保证隔离性由DBMS的并发控制子系统来实现。 • 持续性(Durability )
• 事务一旦提交,它对数据库的改变是有效的,即使发生故障 改变也不会改变。
• 持续性由DBMS的数据恢复子系统实现。
第5页/共26页
10.2 数据库恢复概述
• BEGIN TRANSACTION
CPU
R(A);
A=A-10000;
W(A); IF(A<0) ROOOBACK;
内存缓冲区
ELSE { R(B);
W(A)
R(A)
B=B+10000; W(B)
数据库
COMMIT;
第3页/共26页
10.1.3 事务的特性
事务的ACID特性: • 原子性(Atomicity)
• 由恢复子系统利用日志文件撤消(UNDO)此事务已对 数据库进行的修改
• 日志文件中存储的一条条日志记录,每个记录包含以下内容: • 事务标识(标明是哪个事务) • 事务的开始、结束标志 • 操作类型(插入、删除或修改) • 操作对象(记录内部标识) • 更新前数据的旧值(对插入操作而言,此项为空值) • 更新后数据的新值(对删除操作而言, 此项为空值)
• 事务之间不能相互干扰,主要体现在一个事务正在访问的数 据其他事务不能访问。
• 保证隔离性由DBMS的并发控制子系统来实现。 • 持续性(Durability )
• 事务一旦提交,它对数据库的改变是有效的,即使发生故障 改变也不会改变。
• 持续性由DBMS的数据恢复子系统实现。
第5页/共26页
10.2 数据库恢复概述
• BEGIN TRANSACTION
CPU
R(A);
A=A-10000;
W(A); IF(A<0) ROOOBACK;
内存缓冲区
ELSE { R(B);
W(A)
R(A)
B=B+10000; W(B)
数据库
COMMIT;
第3页/共26页
10.1.3 事务的特性
事务的ACID特性: • 原子性(Atomicity)
• 由恢复子系统利用日志文件撤消(UNDO)此事务已对 数据库进行的修改
数据库恢复技术 教学PPT课件
态变到另一个一致性状态。 目标:保证数据的正确性(有效相容) 示例:一个人的工龄不能大于年龄,工龄的增长 必须和年龄的增长相一致,配套修改、转账问题 技术:并发控制(保护临界资源)
9
事务的性质(ACID特性)
(3)隔离性(Isolation) 并发执行的各事务不能相互干扰。
目标:防止事务之间由于干扰出现并发错误或者 链式中断错误 技术:并发控制。DBMS根据设置的事务隔离级 别予以维护和保障。
15
故障的种类
2. 系统故障(system) 系统重启、OS故障、DBMS代码错误、掉电等。
发生系统故障时: (1)一些尚未完成的事务的结果可能已经写入数 据库。(UNDO) (2)有些已完成的事务的结果甚至驻留在缓冲区 中。 (REDO)
16
故障的种类 3. 介质故障(medium)
介质故障也称为硬故障。如:磁盘损坏等。 这类事故破坏数据库或部分数据库。
4. 计算机病毒(virus)
这类事故破坏数据库或不破坏数据库。
17
10.3.2 故障对数据库的可能影响
(1)数据库本身被破坏,使数据库中全部或部分 数据丢失。
如:介质故障、计算机病毒等。 (2)数据库没有被破坏,但因事务的运行被非正 常终止而使数据库数据失去一致性(正确性) 。
如:事务内部故障、系统故障、计算机病毒等。
13
10.2 数据库恢复概述
9
事务的性质(ACID特性)
(3)隔离性(Isolation) 并发执行的各事务不能相互干扰。
目标:防止事务之间由于干扰出现并发错误或者 链式中断错误 技术:并发控制。DBMS根据设置的事务隔离级 别予以维护和保障。
15
故障的种类
2. 系统故障(system) 系统重启、OS故障、DBMS代码错误、掉电等。
发生系统故障时: (1)一些尚未完成的事务的结果可能已经写入数 据库。(UNDO) (2)有些已完成的事务的结果甚至驻留在缓冲区 中。 (REDO)
16
故障的种类 3. 介质故障(medium)
介质故障也称为硬故障。如:磁盘损坏等。 这类事故破坏数据库或部分数据库。
4. 计算机病毒(virus)
这类事故破坏数据库或不破坏数据库。
17
10.3.2 故障对数据库的可能影响
(1)数据库本身被破坏,使数据库中全部或部分 数据丢失。
如:介质故障、计算机病毒等。 (2)数据库没有被破坏,但因事务的运行被非正 常终止而使数据库数据失去一致性(正确性) 。
如:事务内部故障、系统故障、计算机病毒等。
13
10.2 数据库恢复概述
数据库恢复课件
重装后援副本 利用日志文件恢复数据库 继续运行事务
故障恢复
>
登记日志文件
>
403教研室 韦素媛
数据库恢复课件
17
四、数据库故障恢复策略
1、事务故障恢复 事务故障是数据库在运行过程中,出现非预期的
情况,引起事务执行失败的一类故障。 ①结果: 只影响该事务所在的应用程序,事务没有达到预 期的终点,但可能修改了数据库 ②恢复策略:Undo ③恢复步骤
第7章 数据库保护技术
7.4 数据库恢复
数据库恢复课件
1
主要内容
数据库恢复 数据库转储 日志文件 数据库故障及其恢复策略 具有检查点的恢复技术
403教研室 韦素媛
数据库恢复课件
2
数据库的故障分类
1、事务故障 事务故障主要指数据库在运行过程中,出现的输
入数据错误、运算溢出、应用程序错误、并发 事务出现死锁等非预期的情况,而使事务未能 运行到正常结束就被夭折,导致事务非正常结 束的一类故障。 由于事务故障的非预期性,使得被夭折的事务对 数据库中数据的影响是难以预料的。
403教研室 韦素媛
数据库恢复课件
4
数据库的故障分类
3、介质故障 介质故障主要指数据库在运行过程中,由于磁头
碰撞、磁盘损坏、瞬时强磁场的干扰等情况, 使得数据库中数据部分或全部丢失的一类故障。
第七章 数据库恢复技术ppt课件
序处理的。 运算溢出 并发事务发生死锁而被选中撤销该事务 违反了某些完整性限制等 以后,事务故障仅指这类非预期的故障 事务故障的恢复:撤消事务(UNDO)
11 最新版整理ppt
7.3.2 系统故障
系统故障称为软故障,是指造成系统停止运转的 任何事件,使得系统要重新启动。
– 整个系统的正常运行突然被破坏 – 所有正在运行的事务都非正常终止 – 不破坏数据库 – 内存中数据库缓冲区的信息全部丢失
故障的影响 – 运行事务非正常中断 – 破坏数据库
数据库的恢复(Recovery) 把数据库从错误状态恢复到某一已知的正确状态 (亦称为一致状态或完整状态)
7 最新版整理ppt
7.3.1 事务内部的故障 事务内部的故障
有的是可以通过事务程序本身发现的(见转账 事 务的例子)
有的是非预期的
7.1.2 例1 BEGIN TRANSACTION UPDATE Course
SET Cno=‘2256’ WHERE Cno=‘1156’; UPDATE SC SET Cno=‘’2256 WHERE Cno=‘1156’; COMMIT
4 最新版整理ppt
例2
例如,银行转账事务,这个事务把一笔金额从一个账户甲转给另一个账户乙。
事务执行的结果必须是使数据库从一个一致性状态变到 另一个一致性状态。 隔离性(Isolation)
11 最新版整理ppt
7.3.2 系统故障
系统故障称为软故障,是指造成系统停止运转的 任何事件,使得系统要重新启动。
– 整个系统的正常运行突然被破坏 – 所有正在运行的事务都非正常终止 – 不破坏数据库 – 内存中数据库缓冲区的信息全部丢失
故障的影响 – 运行事务非正常中断 – 破坏数据库
数据库的恢复(Recovery) 把数据库从错误状态恢复到某一已知的正确状态 (亦称为一致状态或完整状态)
7 最新版整理ppt
7.3.1 事务内部的故障 事务内部的故障
有的是可以通过事务程序本身发现的(见转账 事 务的例子)
有的是非预期的
7.1.2 例1 BEGIN TRANSACTION UPDATE Course
SET Cno=‘2256’ WHERE Cno=‘1156’; UPDATE SC SET Cno=‘’2256 WHERE Cno=‘1156’; COMMIT
4 最新版整理ppt
例2
例如,银行转账事务,这个事务把一笔金额从一个账户甲转给另一个账户乙。
事务执行的结果必须是使数据库从一个一致性状态变到 另一个一致性状态。 隔离性(Isolation)
《数据库恢复》课件
根据故障类型选择合适的恢复
事务日志记录每个数据库操作,
据的可恢复性。
方法,将数据库恢复到正常状
支持故障时的数据恢复和回滚。
态。
常用的数据库恢复方法
1
回滚恢复
使用备份和事务日志恢复到故障发生之前的状态。
2
点恢复
从最近的备份中恢复数据库,再使用事务日志将其恢复到故障时的状态。
3
提交恢复
使用备份和事务日志将已提交的事务重新应用到故障数据库上。
《数据库恢复》PPT课件
通过本次PPT课件,深入了解数据库恢复的重要性、常见的故障类型以及备份
和恢复的基本概念。掌握常用的恢复方法和最佳实践,并通过案例分析进行
实际应用。欢迎参与总结和问题讨论。
数据库恢复的重要性
了解数据库恢复的重要性,包括避免数据丢失、保障数据完整性和持续的业务运行。
常见的数据库故障类型
及如何使用备份和恢复方法解决
事,通过简单的事故回忆法迅速
的最佳实践,以减少数据库恢复
问题。
恢复丢失的数据。
的需求。
总结和问题讨论
总结数据库恢复的重要性和基本概念,并提供问题讨论的机会,以加深对数据库恢复的理解。
数据库恢复的最佳实践
•
定期备份数据库,并将备份文件存储在安全的位置。
•
监控数据库性能和错误日志,及时发现并解决潜在的故障。
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9
如何定义事务(续)
显式定义事务(续)
2. 事务结束(2) ROLLBACK
事务异常终止 回滚事务的所有操作
在事务运行的过程中发生了某种故障, 事务不能继续执行
系统将事务中对数据库的所有已完成 的更新操作全部撤消,滚回到事务开 始时的状态
10
10.1 事务的基本概念
一、什么是事务 二、如何定义事务 三、事务的特性
事务的基本概念 数据库恢复概述 故障的种类 恢复的实现技术 恢复策略 具有检查点的恢复技术 数据库镜像 小结
19
10.2 数据库恢复概述
故障是不可避免的
计算机硬件故障 系统软件和应用软件的错误 操作员的失误 恶意的破坏
故障的影响
轻则造成运行事务非正常中断,影响数据库中数据的 正确性
重则破坏数据库,使数据库中数据部分或全部丢失。 例,银行转帐。
第十章 数据库恢复技术
10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8
事务的基本概念 数据库恢复概述 故障的种类 恢复的实现技术 恢复策略 具有检查点的恢复技术 数据库镜像 小结
1
第十章 数据库恢复技术
10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8
数据库中丢失了已提交事务对数据库的修改 (系统故障)
不同类型的故障应采用不同的恢复操作
35
故障的种类小结(续)
恢复操作的基本原理:简单 任何恢复操作的原理都是一样的 原理:利用存储在系统其它地方的冗余数据来重建数据库中已经被破坏 或已经不正确的那部分数据
恢复的实现技术:复杂 一般一个大型数据库产品,恢复子系统的代码要占全部代码的10%以上
静态转储与动态转储(续)
动态转储
动态转储是指转储操作与用户事务并发进行,转储期间允许对数据库进 行存取或修改。
动态转储的优点
不用等待正在运行的用户事务结束 不会影响新事务的运行
动态转储的缺点
不能保证副本中的数据正确有效
Βιβλιοθήκη Baidu53
静态转储与动态转储(续)
利用动态转储得到的副本进行故障恢复
数据库系统运行中发生故障,有些事务尚未 完成就被迫中断,这些未完成事务对数据库 所做的修改有一部分已写入物理数据库中
14
一致性(续)
一致性与原子性是密切相关的。
例:银行转帐:从帐号A中取出一万元,存入帐号B。 定义一个事务,该事务包括两个操作
第一个操作是从帐号A中减去一万元 第二个操作是向帐号B中加入一万元
10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8
事务的基本概念 数据库恢复概述 故障的种类 恢复的实现技术 恢复策略 具有检查点的恢复技术 数据库镜像 小结
22
10.3 故障的种类
事务故障 系统故障 介质故障
23
10.3 故障的种类
事务故障 系统故障 介质故障
16
4. 持续性
持续性也称永久性(Permanence) 一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。 接下来的其他操作或故障不应该对其执行结果有任何影响。
17
事务的特性(续)
保证事务ACID特性是事务处理的重要任务。 破坏事务ACID特性的因素
多个事务并行运行时,不同事务的操作交叉执行
恢复程序要在不影响其它事务运行的情况下, 强行回滚(ROLLBACK)该事务,即清除该事 务对数据库的所有修改,使得这个事务象根 本没有启动过一样
26
10.3 故障的种类
事务故障 系统故障 介质故障
27
二、系统故障
什么是系统故障
由于某种原因造成整个系统的正常运行突然停止,致使所有正在运行的 事务都以非正常方式终止。
如果DBMS无法确定哪些事务已更新过数据库,则系统重新启动后,恢 复程序要强行撤消(UNDO)所有未完成事务,使这些事务象没有运行 过一样。
2. 将缓冲区中已完成事务提交的结果写入数据库
如果DBMS无法确定哪些事务的提交结果尚未写入物理数据库,则系统 重新启动后,恢复程序需要重做(REDO)所有已提交的事务。
33
介质故障(续)
介质故障的恢复
装入数据库发生介质故障前某个时刻的数据副本 重做自此时始的所有成功事务,将这些事务已提交的结果重新记入数据
库
34
故障的种类小结
数据库系统中各类故障对数据库的影响 数据库本身被破坏(介质故障) 数据库处于不一致状态
数据库中包含了未完成事务对数据库的修改 (事务故障、系统故障)
30
10.3 故障的种类
事务故障 系统故障 介质故障
31
三、介质故障
什么是介质故障 硬件故障使存储在外存中的数据部分丢失或全部丢失 介质故障比前两类故障的可能性小得多,但破坏性最大。
32
介质故障(续)
介质故障的常见原因 硬件故障
磁盘损坏 磁头碰撞
操作系统的某种潜在错误 瞬时强磁场干扰
50
静态转储与动态转储(续)
利用静态转储得到的副本进行故障恢复
只需要把静态转储得到的后备副本装入,就 能把数据库恢复到转储时刻的正确状态
51
利用静态转储副本进行恢复
↓
正常运行
静态转储
故障发生点 运行事务
─┼───────┼─────────────
Ta
Tb
Tf
恢复
重装后备副本
━━━━━━┥
52
1.静态转储与动态转储
静态转储
静态转储是在系统中无运行事务时进行的转储操作
转储操作开始的时刻,数据库处于一致性状 态
转储期间不允许(或不存在)对数据库的任 何存取、修改活动
静态转储得到的一定是一个数据一致性的副本
49
静态转储与动态转储(续)
静态转储的优点
实现简单
静态转储的缺点
降低了数据库的可用性 转储必须等待用户事务结束才能进行 新的事务必须等待转储结束才能执行
DBMS必须保证多个事务的交叉运行不影响这些事务ACID特性,特别是 原子性和隔离性
事务在运行过程中被强行停止
DBMS必须保证被强行终止的事务对数据库和其他事务没有任何影响
这些就是DBMS中恢复机制和并发控制机制的责 任。
18
第十章 数据库恢复技术
10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8
36
第十章 数据库恢复技术
10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8
事务的基本概念 数据库恢复概述 故障的种类 恢复的实现技术 恢复策略 具有检查点的恢复技术 数据库镜像 小结
37
10.4 恢复的实现技术
恢复技术的原理
利用存储在系统其它地方的冗余数据来修复或重建 数据库中被破坏的或不正确的数据。
恢复机制涉及的关键问题
1. 如何建立冗余数据
数据转储 登记日志文件
2. 如何利用这些冗余数据实施数据库恢复
38
10.4 恢复的实现技术
10.4.1 数据转储 10.4.2 登记日志文件
39
10.4 恢复的实现技术
10.4.1 数据转储 10.4.2 登记日志文件
40
10.4.1 数据转储
发生系统故障时,内存中数据库缓冲区的信息全部丢失,但存储在外部 存储设备上的数据未受影响
28
系统故障(续)
系统故障的常见原因
操作系统或DBMS代码错误 操作员操作失误 特定类型的硬件错误(如CPU故障) 突然停电
29
系统故障(续)
系统故障的恢复
1. 清除尚未完成的事务对数据库的所有修改
隐式方式
当用户没有显式地定义事务时,由DBMS按缺 省规定自动划分事务
7
如何定义事务(续)
显式定义事务
1. 事务开始 BEGIN TRANSACTION
8
如何定义事务(续)
显式定义事务(续)
2. 事务结束(1) COMMIT
事务正常结束 提交事务的所有操作
使事务中所有对数据库的更新永久生 效(保存在物理数据库中)。
20
数据库恢复概述(续)
数据库管理系统对故障的对策
DBMS提供了恢复子系统,用来保证各种故障发生后,能把数据库中的数 据从错误状态恢复到某种逻辑一致的状态。即保证各个事务中的操作要 么全部完成,要么全部不做。
数据库系统所采用的恢复技术是否行之有效是衡 量系统性能优劣的重要指标。
21
第十章 数据库恢复技术
24
一、事务故障
什么是事务故障 某个事务在运行过程中由于种种原因未运行至正常终止点就夭折了
事务故障的常见原因 输入数据有误 运算溢出 违反了某些完整性限制 某些应用程序出错 并行事务发生死锁
25
事务故障(续)
事务故障的恢复
发生事务故障时,夭折的事务可能已把对数据库的部分修改写回磁盘。 事务故障的恢复:事务撤消(UNDO)
事务的基本概念 数据库恢复概述 故障的种类 恢复的实现技术 恢复策略 具有检查点的恢复技术 数据库镜像 小结
2
10.1 事务的基本概念
一、什么是事务 二、如何定义事务 三、事务的特性
3
10.1 事务的基本概念
一、什么是事务 二、如何定义事务 三、事务的特性
4
一、什么是事务
事务(Transaction)是用户定义的一个数据库操作 序列,这些操作要么全做,要么全不做,是一个 不可分割的工作单位。
44
二、转储的用途
用途:供介质故障恢复时使用
一旦系统发生介质故障,数据库遭到破坏,可以将后备副本重新装入, 把数据库恢复起来。
恢复的程度
重装后备副本只能将DB恢复到转储时的状态 要想恢复到故障发生时的状态,必须重新运行自转储以后的所有更新
事务
45
转储的用途(续)
例:
正常运行
故障发生点
转储
11
三、事务的特性(ACID特性)
事务的ACID特性:
原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持续性(Durability )
12
1. 原子性
事务是数据库的逻辑工作单位
事务中包括的诸操作要么都做,要么都不做
13
2. 一致性
事务执行的结果必须是使数据库从一个 一致性状态变到另一个一致性状态。 一致性状态:数据库中只包含成功事务提交的结果 不一致状态:数据库中包含失败事务的结果
事务和程序是两个概念
在关系数据库中,一个事务可以是一条SQL语句,一组 SQL语句或整个程序
一个应用程序通常包含多个事务
事务是恢复和并发控制的基本单位
5
10.1 事务的基本概念
一、什么是事务 二、如何定义事务 三、事务的特性
6
二、如何定义事务
定义事务的两种方式
显式方式
事务的开始由用户显式控制或DBMS自动隐含 事务结束由用户显式控制
一、什么是转储 二、转储的用途 三、转储方法
41
10.4.1 数据转储
一、什么是转储 二、转储的用途 三、转储方法
42
一、什么是转储
转储是指DBA将整个数据库复制到磁带或另一个磁 盘上保存起来的过程。
这些备用的数据文本称为后备副本或后援副本。
43
10.4.1 数据转储
一、什么是转储 二、转储的用途 三、转储方法
需要把动态转储期间各事务对数据库的修改 活动登记下来,建立日志文件
后备副本加上日志文件才能把数据库恢复到 某一时刻的正确状态
54
利用动态转储副本进行恢复
正常运行
Ta
Tb
Tf
动态转储
运行事务
故障发生点
─┼───────┼─────────────
登记日志文件 登记新日志文件
─────────┼─────────────
这两个操作要么全做,要么全不做
全做或者全不做,数据库都处于一致性状态。 如果只做一个操作则用户逻辑上就会发生错误,少了一万元,
这时数据库就处于不一致性状态。
15
3. 隔离性
一个事务的执行不能被其他事务干扰 一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行 的各个事务之间不能互相干扰。
转储日志文件
恢复到一 致性状态
重装后备副本,然后利用转储的日志文件恢复
━━━━━━┥
55
2.海量转储与增量转储
海量转储
每次转储全部数据库
增量转储
只转储上次转储后更新过的数据
海量转储与增量转储比较
从恢复角度看,使用海量转储得到的后备副本进行恢复往往更方便 但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有
效
56
3.转储方法小结
转储方法分类
运行事务
↓
─┼───────┼─────────────
Ta
Tb
Tf
恢复
重装后备副本 重新运行事务 ────────┴------------→
46
10.4.1 数据转储
一、什么是转储 二、转储的用途 三、转储方法
47
三、转储方法
1.静态转储与动态转储 2.海量转储与增量转储 3.转储方法小结
48
如何定义事务(续)
显式定义事务(续)
2. 事务结束(2) ROLLBACK
事务异常终止 回滚事务的所有操作
在事务运行的过程中发生了某种故障, 事务不能继续执行
系统将事务中对数据库的所有已完成 的更新操作全部撤消,滚回到事务开 始时的状态
10
10.1 事务的基本概念
一、什么是事务 二、如何定义事务 三、事务的特性
事务的基本概念 数据库恢复概述 故障的种类 恢复的实现技术 恢复策略 具有检查点的恢复技术 数据库镜像 小结
19
10.2 数据库恢复概述
故障是不可避免的
计算机硬件故障 系统软件和应用软件的错误 操作员的失误 恶意的破坏
故障的影响
轻则造成运行事务非正常中断,影响数据库中数据的 正确性
重则破坏数据库,使数据库中数据部分或全部丢失。 例,银行转帐。
第十章 数据库恢复技术
10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8
事务的基本概念 数据库恢复概述 故障的种类 恢复的实现技术 恢复策略 具有检查点的恢复技术 数据库镜像 小结
1
第十章 数据库恢复技术
10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8
数据库中丢失了已提交事务对数据库的修改 (系统故障)
不同类型的故障应采用不同的恢复操作
35
故障的种类小结(续)
恢复操作的基本原理:简单 任何恢复操作的原理都是一样的 原理:利用存储在系统其它地方的冗余数据来重建数据库中已经被破坏 或已经不正确的那部分数据
恢复的实现技术:复杂 一般一个大型数据库产品,恢复子系统的代码要占全部代码的10%以上
静态转储与动态转储(续)
动态转储
动态转储是指转储操作与用户事务并发进行,转储期间允许对数据库进 行存取或修改。
动态转储的优点
不用等待正在运行的用户事务结束 不会影响新事务的运行
动态转储的缺点
不能保证副本中的数据正确有效
Βιβλιοθήκη Baidu53
静态转储与动态转储(续)
利用动态转储得到的副本进行故障恢复
数据库系统运行中发生故障,有些事务尚未 完成就被迫中断,这些未完成事务对数据库 所做的修改有一部分已写入物理数据库中
14
一致性(续)
一致性与原子性是密切相关的。
例:银行转帐:从帐号A中取出一万元,存入帐号B。 定义一个事务,该事务包括两个操作
第一个操作是从帐号A中减去一万元 第二个操作是向帐号B中加入一万元
10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8
事务的基本概念 数据库恢复概述 故障的种类 恢复的实现技术 恢复策略 具有检查点的恢复技术 数据库镜像 小结
22
10.3 故障的种类
事务故障 系统故障 介质故障
23
10.3 故障的种类
事务故障 系统故障 介质故障
16
4. 持续性
持续性也称永久性(Permanence) 一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。 接下来的其他操作或故障不应该对其执行结果有任何影响。
17
事务的特性(续)
保证事务ACID特性是事务处理的重要任务。 破坏事务ACID特性的因素
多个事务并行运行时,不同事务的操作交叉执行
恢复程序要在不影响其它事务运行的情况下, 强行回滚(ROLLBACK)该事务,即清除该事 务对数据库的所有修改,使得这个事务象根 本没有启动过一样
26
10.3 故障的种类
事务故障 系统故障 介质故障
27
二、系统故障
什么是系统故障
由于某种原因造成整个系统的正常运行突然停止,致使所有正在运行的 事务都以非正常方式终止。
如果DBMS无法确定哪些事务已更新过数据库,则系统重新启动后,恢 复程序要强行撤消(UNDO)所有未完成事务,使这些事务象没有运行 过一样。
2. 将缓冲区中已完成事务提交的结果写入数据库
如果DBMS无法确定哪些事务的提交结果尚未写入物理数据库,则系统 重新启动后,恢复程序需要重做(REDO)所有已提交的事务。
33
介质故障(续)
介质故障的恢复
装入数据库发生介质故障前某个时刻的数据副本 重做自此时始的所有成功事务,将这些事务已提交的结果重新记入数据
库
34
故障的种类小结
数据库系统中各类故障对数据库的影响 数据库本身被破坏(介质故障) 数据库处于不一致状态
数据库中包含了未完成事务对数据库的修改 (事务故障、系统故障)
30
10.3 故障的种类
事务故障 系统故障 介质故障
31
三、介质故障
什么是介质故障 硬件故障使存储在外存中的数据部分丢失或全部丢失 介质故障比前两类故障的可能性小得多,但破坏性最大。
32
介质故障(续)
介质故障的常见原因 硬件故障
磁盘损坏 磁头碰撞
操作系统的某种潜在错误 瞬时强磁场干扰
50
静态转储与动态转储(续)
利用静态转储得到的副本进行故障恢复
只需要把静态转储得到的后备副本装入,就 能把数据库恢复到转储时刻的正确状态
51
利用静态转储副本进行恢复
↓
正常运行
静态转储
故障发生点 运行事务
─┼───────┼─────────────
Ta
Tb
Tf
恢复
重装后备副本
━━━━━━┥
52
1.静态转储与动态转储
静态转储
静态转储是在系统中无运行事务时进行的转储操作
转储操作开始的时刻,数据库处于一致性状 态
转储期间不允许(或不存在)对数据库的任 何存取、修改活动
静态转储得到的一定是一个数据一致性的副本
49
静态转储与动态转储(续)
静态转储的优点
实现简单
静态转储的缺点
降低了数据库的可用性 转储必须等待用户事务结束才能进行 新的事务必须等待转储结束才能执行
DBMS必须保证多个事务的交叉运行不影响这些事务ACID特性,特别是 原子性和隔离性
事务在运行过程中被强行停止
DBMS必须保证被强行终止的事务对数据库和其他事务没有任何影响
这些就是DBMS中恢复机制和并发控制机制的责 任。
18
第十章 数据库恢复技术
10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8
36
第十章 数据库恢复技术
10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8
事务的基本概念 数据库恢复概述 故障的种类 恢复的实现技术 恢复策略 具有检查点的恢复技术 数据库镜像 小结
37
10.4 恢复的实现技术
恢复技术的原理
利用存储在系统其它地方的冗余数据来修复或重建 数据库中被破坏的或不正确的数据。
恢复机制涉及的关键问题
1. 如何建立冗余数据
数据转储 登记日志文件
2. 如何利用这些冗余数据实施数据库恢复
38
10.4 恢复的实现技术
10.4.1 数据转储 10.4.2 登记日志文件
39
10.4 恢复的实现技术
10.4.1 数据转储 10.4.2 登记日志文件
40
10.4.1 数据转储
发生系统故障时,内存中数据库缓冲区的信息全部丢失,但存储在外部 存储设备上的数据未受影响
28
系统故障(续)
系统故障的常见原因
操作系统或DBMS代码错误 操作员操作失误 特定类型的硬件错误(如CPU故障) 突然停电
29
系统故障(续)
系统故障的恢复
1. 清除尚未完成的事务对数据库的所有修改
隐式方式
当用户没有显式地定义事务时,由DBMS按缺 省规定自动划分事务
7
如何定义事务(续)
显式定义事务
1. 事务开始 BEGIN TRANSACTION
8
如何定义事务(续)
显式定义事务(续)
2. 事务结束(1) COMMIT
事务正常结束 提交事务的所有操作
使事务中所有对数据库的更新永久生 效(保存在物理数据库中)。
20
数据库恢复概述(续)
数据库管理系统对故障的对策
DBMS提供了恢复子系统,用来保证各种故障发生后,能把数据库中的数 据从错误状态恢复到某种逻辑一致的状态。即保证各个事务中的操作要 么全部完成,要么全部不做。
数据库系统所采用的恢复技术是否行之有效是衡 量系统性能优劣的重要指标。
21
第十章 数据库恢复技术
24
一、事务故障
什么是事务故障 某个事务在运行过程中由于种种原因未运行至正常终止点就夭折了
事务故障的常见原因 输入数据有误 运算溢出 违反了某些完整性限制 某些应用程序出错 并行事务发生死锁
25
事务故障(续)
事务故障的恢复
发生事务故障时,夭折的事务可能已把对数据库的部分修改写回磁盘。 事务故障的恢复:事务撤消(UNDO)
事务的基本概念 数据库恢复概述 故障的种类 恢复的实现技术 恢复策略 具有检查点的恢复技术 数据库镜像 小结
2
10.1 事务的基本概念
一、什么是事务 二、如何定义事务 三、事务的特性
3
10.1 事务的基本概念
一、什么是事务 二、如何定义事务 三、事务的特性
4
一、什么是事务
事务(Transaction)是用户定义的一个数据库操作 序列,这些操作要么全做,要么全不做,是一个 不可分割的工作单位。
44
二、转储的用途
用途:供介质故障恢复时使用
一旦系统发生介质故障,数据库遭到破坏,可以将后备副本重新装入, 把数据库恢复起来。
恢复的程度
重装后备副本只能将DB恢复到转储时的状态 要想恢复到故障发生时的状态,必须重新运行自转储以后的所有更新
事务
45
转储的用途(续)
例:
正常运行
故障发生点
转储
11
三、事务的特性(ACID特性)
事务的ACID特性:
原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持续性(Durability )
12
1. 原子性
事务是数据库的逻辑工作单位
事务中包括的诸操作要么都做,要么都不做
13
2. 一致性
事务执行的结果必须是使数据库从一个 一致性状态变到另一个一致性状态。 一致性状态:数据库中只包含成功事务提交的结果 不一致状态:数据库中包含失败事务的结果
事务和程序是两个概念
在关系数据库中,一个事务可以是一条SQL语句,一组 SQL语句或整个程序
一个应用程序通常包含多个事务
事务是恢复和并发控制的基本单位
5
10.1 事务的基本概念
一、什么是事务 二、如何定义事务 三、事务的特性
6
二、如何定义事务
定义事务的两种方式
显式方式
事务的开始由用户显式控制或DBMS自动隐含 事务结束由用户显式控制
一、什么是转储 二、转储的用途 三、转储方法
41
10.4.1 数据转储
一、什么是转储 二、转储的用途 三、转储方法
42
一、什么是转储
转储是指DBA将整个数据库复制到磁带或另一个磁 盘上保存起来的过程。
这些备用的数据文本称为后备副本或后援副本。
43
10.4.1 数据转储
一、什么是转储 二、转储的用途 三、转储方法
需要把动态转储期间各事务对数据库的修改 活动登记下来,建立日志文件
后备副本加上日志文件才能把数据库恢复到 某一时刻的正确状态
54
利用动态转储副本进行恢复
正常运行
Ta
Tb
Tf
动态转储
运行事务
故障发生点
─┼───────┼─────────────
登记日志文件 登记新日志文件
─────────┼─────────────
这两个操作要么全做,要么全不做
全做或者全不做,数据库都处于一致性状态。 如果只做一个操作则用户逻辑上就会发生错误,少了一万元,
这时数据库就处于不一致性状态。
15
3. 隔离性
一个事务的执行不能被其他事务干扰 一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行 的各个事务之间不能互相干扰。
转储日志文件
恢复到一 致性状态
重装后备副本,然后利用转储的日志文件恢复
━━━━━━┥
55
2.海量转储与增量转储
海量转储
每次转储全部数据库
增量转储
只转储上次转储后更新过的数据
海量转储与增量转储比较
从恢复角度看,使用海量转储得到的后备副本进行恢复往往更方便 但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有
效
56
3.转储方法小结
转储方法分类
运行事务
↓
─┼───────┼─────────────
Ta
Tb
Tf
恢复
重装后备副本 重新运行事务 ────────┴------------→
46
10.4.1 数据转储
一、什么是转储 二、转储的用途 三、转储方法
47
三、转储方法
1.静态转储与动态转储 2.海量转储与增量转储 3.转储方法小结
48