数据库系统第10章 数据库恢复技术PPT课件
合集下载
数据库第10章数据库恢复技术
可编辑ppt
7
二、系统故障
什么是系统故障
– 由于某种原因造成整个系统的正常运行突然 停止,致使所有正在运行的事务都以非正常 方式终止。
– 发生系统故障时,内存中数据库缓冲区的信 息全部丢失,但存储在外部存储设备上的数 据未受影响
可编辑ppt
8
系统故障(续)
系统故障的常见原因
– 操作系统或DBMS代码错误 – 操作员操作失误 – 特定类型的硬件错误(如CPU故障) – 突然停电
– DBMS提供了恢复子系统,用来保证各种故 障发生后,能把数据库中的数据从错误状态 恢复到某种逻辑一致的状态。即保证各个事 务中的操作要么全部完成,要么全部不做。
数据库系统所采用的恢复技术是否行之有效是 衡量系统性能优劣的重要指标。
可编辑ppt
2
数据库恢复技术
10.1 恢复的原理 10.2 恢复的实现技术 10.3 ORACLE的恢复技术 10.4 数据库镜像
可编辑ppt
9
系统故障(续)
系统故障的恢复
– 1. 清除尚未完成的事务对数据库的所有修改
• 如果DBMS无法确定哪些事务已更新过数据库, 则系统重新启动后,恢复程序要强行撤消 (UNDO)所有未完成事务,使这些事务象没有 运行过一样。
– 2. 将缓冲区中已完成事务提交的结果写入数据库
• 如果DBMS无法确定哪些事务的提交结果尚未写
可编辑ppt
19
10.2.1 数据转储
一、什么是转储 二、转储的用途 三、转储方法
可编辑ppt
20
一、什么是转储
转储是指DBA将整个数据库复制到磁带或另一 个磁盘上保存起来的过程。
这些备用的数据文本称为后备副本或后援副本。
数据库备份与恢复PPT课件( 35页)
归档模式与非归档模式
进行数据库备份时,归档模式下可以进行完 全备份和部分备份,备份可以是一致性备份 也可以是不一致性备份,也可以进行热备份 和冷备份。在非归档模式下只能进行完全的、 一致性的备份。
– 【例题10-1】将数据库ZCGL由非归档模式设置 为归档模式。
– 【例题10-2】将数据库ZCGL由归档模式设置为 非归档模式。
RMAN备份应用举例
3. 备份表空间
– 在RMAN中对一个或者多个表空间进行备份时, 首先启动RMAN连接到目标数据库,在RMAN提 示符下输入BACKUP TABLESPACE命令即可进 行备份,此时目标数据库需要是加载或者打开状 态。
– 【 例 题 10-13】 备 份 数 据 库 ZCGL 的 表 空 间 SYSTEM。
24
31.05.2019
Java Web开发技术数据库应用与 开发案例教程
RMAN备份应用举例
1. BACKUP命令 使用RMAN进行备份的命令格式如下所示:
– BACKUP [FULL| INCREMENTAL] (backup_type option);
– 说明: – 1)FULL:表示完全备份; – 2)INCREMENTAL:表示增量备份; – 3)backup_type:备份对象
17
31.05.2019
Java Web开发技术数据库应用与 开发案例教程
RMAN常用命令
1. RMAN命令分类 RMAN的命令分为独立命令与作业命令两种。 独立命令:
– RMAN> CONNECT TARGET zcgl_oper/admin@zcgl
作业命令是以RUN命令开头包含在{}中的一系列RMAN命令。
《数据库恢复》PPT课件
数据库系统运行中发生故障,有些事务尚未 完成就被迫中断,这些未完成事务对数据库 所做的修改有一部分已写入物理数据库中
14
一致性(续)
一致性与原子性是密切相关的。
例:银行转帐:从帐号A中取出一万元,存入帐号B。 定义一个事务,该事务包括两个操作
第一个操作是从帐号A中减去一万元 第二个操作是向帐号B中加入一万元
11
三、事务的特性(ACID特性)
事务的ACID特性:
原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持续性(Durability )
12
1. 原子性
事务是数据库的逻辑工作单位
事务中包括的诸操作要么都做,要么都不做
13
2. 一致性
事务执行的结果必须是使数据库从一个 一致性状态变到另一个一致性状态。 一致性状态:数据库中只包含成功事务提交的结果 不一致状态:数据库中包含失败事务的结果
9
如何定义事务(续)
显式定义事务(续)
2. 事务结束(2) ROLLBACK
事务异常终止 回滚事务的所有操作
在事务运行的过程中发生了某种故障, 事务不能继续执行
系统将事务中对数据库的所有已完成 的更新操作全部撤消,滚回到事务开 始时的状态
10
10.1 事务的基本概念
一、什么是事务 二、如何定义事务 三、事务的特性
16
4. 持续性
持续性也称永久性(Permanence) 一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。 接下来的其他操作或故障不应该对其执行结果有任何影响。
17
事务的特性(续)
保证事务ACID特性是事务处理的重要任务。 破坏事务ACID特性的因素
14
一致性(续)
一致性与原子性是密切相关的。
例:银行转帐:从帐号A中取出一万元,存入帐号B。 定义一个事务,该事务包括两个操作
第一个操作是从帐号A中减去一万元 第二个操作是向帐号B中加入一万元
11
三、事务的特性(ACID特性)
事务的ACID特性:
原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持续性(Durability )
12
1. 原子性
事务是数据库的逻辑工作单位
事务中包括的诸操作要么都做,要么都不做
13
2. 一致性
事务执行的结果必须是使数据库从一个 一致性状态变到另一个一致性状态。 一致性状态:数据库中只包含成功事务提交的结果 不一致状态:数据库中包含失败事务的结果
9
如何定义事务(续)
显式定义事务(续)
2. 事务结束(2) ROLLBACK
事务异常终止 回滚事务的所有操作
在事务运行的过程中发生了某种故障, 事务不能继续执行
系统将事务中对数据库的所有已完成 的更新操作全部撤消,滚回到事务开 始时的状态
10
10.1 事务的基本概念
一、什么是事务 二、如何定义事务 三、事务的特性
16
4. 持续性
持续性也称永久性(Permanence) 一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。 接下来的其他操作或故障不应该对其执行结果有任何影响。
17
事务的特性(续)
保证事务ACID特性是事务处理的重要任务。 破坏事务ACID特性的因素
《数据库》第十讲数据的备份、恢复与传输.ppt资料
2018年10月21日
锁的对象
资源 RID Key Page Extent 说明 以记录(Row)为单位作锁定 已设置为索引的字段 数据页或索引页(8KB大小的页面) 8个连续的Page(分配内存给数据页时的 单位) 整个数据表(包含其中所有数据及索引) 整个数据库
2018年10月21日
Table DB
@savepoint_variable
是用户定义的、含有有效保存点名称的变量的名称。必须用 char、varchar、 nchar 或 nvarchar 数据类型声明该变量。 BEGIN TRAN„„ SAVE TRAN TempTran„„ IF(@@ERROR<>0) BEGIN ROLLBACK TRAN TempTran –-回滚到事务保存点 „„ /*失败时所使用的变通方案*/ END...IF(...) COMMIT ELSE ROLLBACK
锁的方法
独占式锁(Exclusive Lock):Exclusive锁可禁 止其他事务对数据作存取或锁定操作 共享式锁(Shared Lock):Shared锁可将数据设成 只读,并禁止其他事务对该数据作Exclusive锁定, 但却允许其他事务对数据再作Shared锁定。 更改式锁(Update Lock):Update锁可以和Shared 锁共存,但禁止其他的Update锁或Exclusive锁。
2018年10月21日
分布式事务
如果要在事务中存取多个数据库服务器中的数据(包含执行存储过程), 就必须使用“分布式事务”(Distributed Transaction) Begin Distributed tran Insert into CourseInfo(CourseID,CourseName) values('A00232','TestName') If @@ERROR<>0 GOTO ERRORPROC INSERT INTO AnotherServer.DatabaseName.dbo.tablename (FieldName1,FieldName2) values('Values1','Values2') ERRORPROC: IF @@ERROR<>0 ROLLBACK ELSE COMMIT
第10章 数据库恢复技术(上课用)PPT课件
17.07.2020
数据库系统概论
20
10.3 故障的种类
事务内部故障 系统故障 介质故障 计算机病毒
17.07.2020
数据库系统概论
21
一、事务内部故障
什么是事务故障
某个事务在运行过程中由于种种原因未运行至正常 运行终点。
事务故障的常见原因
输入数据有误 运算溢出 违反了某些完整性限制 某些应用程序出错 并行事务发生死锁
数据保护
安全性
完整性
并发控制
数据库恢复
17.07.2020
数据库系统概论
3
第十章 数据库恢复技术
10.1 事务的基本概念 10.2 数据库恢复概述 10.3 故障的种类 10.4 恢复的实现技术 10.5 恢复策略 10.6 具有检查点的恢复技术 10.7 数据库镜像 10.8 小结
9
1. 原子性
事务是数据库的逻辑工作单位
事务中包括的诸操作要么都做,要么都不做
17.07.2020
数据库系统概论
10
2. 一致性
事务执行的结果必须是使数据库从一个 一致性状态变到另一个一致性状态
一致性状态: 数据库中只包含成功事务提交的结果 不一致状态: 数据库中包含失败事务的结果
17.07.2020
对并发执行而言 一个事务的执行不能被其他事务干扰 一个事务内部的操作及使用的数据对其他并发
事务是隔离的 并发执行的各个事务之间不能互相干扰
17.07.2020
数据库系统概论
13
T1
T2
① 读A=16
②
读A=16
③ A←A-1
写回 A=15
④
A←A-3 写回
A=13
数据库恢复技术 教学PPT课件
例如转账业务,不能因为后期系统瘫痪故障,恢 复后转账就无效了
➢不受干扰
10.1 事务的基本概念
1. 事务(Transaction)
【定义】用户定义的一个对数据库读写操作序列, 是一个不可分割的工作单位。 (1)在关系数据库中,事务可以是一条、一组SQL 语句,或整个程序。 (2)数据库系统中通常有多个事务并行运行。 (3)数据库恢复和并发控制的基本单位。
15
故障的种类
2. 系统故障(system) 系统重启、OS故障、DBMS代码错误、掉电等。
发生系统故障时: (1)一些尚未完成的事务的结果可能已经写入数 据库。(UNDO) (2)有些已完成的事务的结果甚至驻留在缓冲区 中。 (REDO)
16
故障的种类 3. 介质故障(medium)
介质故障也称为硬故障。如:磁盘损坏等。 这类事故破坏数据库或部分数据库。
14
10.3 故障的种类及其影响
10.3.1 故障的种类
1. 事务内部故障
事务在运行至正常终止点(commit或rollback)前
被终止。
预期故障
包括(预期的、非预期的)
能由事务所在程序处理的,如条件不满足等。
不能由事务所在程序处理的,如运算溢出等(主要
讨论的)。
这类恢复操作称为事务撤消。
非预期故障
6
commit用法
• oracle数据库 • update,delete,insert 需要执行commit; • • create,drop,alter 不需要执行commit; • mysql数据库 • 不需要执行commit; • set autocommit=0/1 (禁止/开启自动提交)
10
事务的性质(ACID特性)
➢不受干扰
10.1 事务的基本概念
1. 事务(Transaction)
【定义】用户定义的一个对数据库读写操作序列, 是一个不可分割的工作单位。 (1)在关系数据库中,事务可以是一条、一组SQL 语句,或整个程序。 (2)数据库系统中通常有多个事务并行运行。 (3)数据库恢复和并发控制的基本单位。
15
故障的种类
2. 系统故障(system) 系统重启、OS故障、DBMS代码错误、掉电等。
发生系统故障时: (1)一些尚未完成的事务的结果可能已经写入数 据库。(UNDO) (2)有些已完成的事务的结果甚至驻留在缓冲区 中。 (REDO)
16
故障的种类 3. 介质故障(medium)
介质故障也称为硬故障。如:磁盘损坏等。 这类事故破坏数据库或部分数据库。
14
10.3 故障的种类及其影响
10.3.1 故障的种类
1. 事务内部故障
事务在运行至正常终止点(commit或rollback)前
被终止。
预期故障
包括(预期的、非预期的)
能由事务所在程序处理的,如条件不满足等。
不能由事务所在程序处理的,如运算溢出等(主要
讨论的)。
这类恢复操作称为事务撤消。
非预期故障
6
commit用法
• oracle数据库 • update,delete,insert 需要执行commit; • • create,drop,alter 不需要执行commit; • mysql数据库 • 不需要执行commit; • set autocommit=0/1 (禁止/开启自动提交)
10
事务的性质(ACID特性)
DB10数据库恢复技术.ppt
主要目的:建立数据库备份结构,允许1小时的数据损失。
次要目的:允许数据库在一定的情况下及时被恢复,允许用 户在高峰使用期间以一种有效的方式继续工作。
请问,下列哪种建议方案可达到主要目的和次要目的。
A. 每天执行4次数据库的完全备份。
B. 非高峰使用的小时内执行数据库的完全备份,每小时进行 一次把事务日志备份到磁带的操作。
A. 崩溃恢复。
C. 将数据从一种处理器结构转移到另一种。
B. 数据的历史档案。D. 将数据从一个服务器转移到另一个。
2. 建立备份并且从中恢复的备份设备类型有哪些? A. 磁带设备 B. 空设备 C. 命名管理设备 D. 本地磁盘设备
3. SQL Server 备份是动态备份,对于一名系统管理员,这意味 着什么?
• 每条日志记录的内容
– 事务标识(标明是哪个事务) – 操作类型(插入、删除或修改) – 操作对象(记录内部标识) – 更新前数据的旧值(对插入操作而言,此项为空值) – 更新后数据的新值(对删除操作而言, 此项为空值)
2020年4月17日
数据库恢复技术
8
日志文件的格式和内容(续)
• 以数据块为单位的日志文件,每条日志记 录的内容
C. 非高峰使用的小时内执行数据库的完全备份。每小时进行 一次把事务日志备份到磁盘的操作。
2020年4月17日
数据库恢复技术
32
5、SQL Server现在有三种方法备份数据库中的数据,分别是
【 】备份、【
】备份和【 】备份。
6、下列哪项不是你应该定期维护的SQL Server数据库备份?
① msdb ② master ③ distribtion
• 日志文件的格式
– 以记录为单位的日志文件 – 以数据块为单位的日志文件
10数据库的备份与恢复32页PPT
● 日志内容包括:记录名、旧记录值、新记录值、 事务标识符、操作标识符等。
– 基本的恢复操作:
对圆满事务所做过的修改操作应执行redo操作, 即重新执行该操作,修改对象被赋予新记录 值。
对夭折事务所做过的修改操作应执行undo操 作,即撤消该操作,修改对象被赋予旧记录 值。
– 先写日志的原则(WAL) 对于尚未提交的事务,在将DB缓冲区写到外 存之前,必须先将日志缓冲区内容写到外存 去。
检查点
故障点
REDO
撤消
数据库恢复(小结)
- 定义
● 恢复是把数据库从错误状态恢复到某一正确状态 的功能,从而确保数据库的一致性。
● 恢复的基本原理是冗余,即数据库中任一部分的 数据可以根据存储在系统别处的冗余数据来重建。
- 日志
● 日志文件是用来记录数据库的每一次更新活动的 文件,由系统自动记录。
恢复子系统可以定期或不定期地建立检查点保存 数据库状态。检查点可以按照预定的一个时间间隔建 立。如,每隔一小时建立一个检查点;也可以按照某 种规则建立检查点,如日志文件已写满一半建立一个 检查点。
使用检查点方法可以改善恢复效率。当事务T在 一个检查点之前提交,T对数据库所做的修改一定都 已写入数据库,写入时间是在这个检查点建立之前或 在这个检查点建立之时。这样,在进行恢复处理时, 没有必要对事务T执行Redo操作。
每个日志记录的内容主要包括: 事务标识 (标明是哪个事务) 操作的类型(插入、删除或修改) 操作对象(记录内部标识) 更新前数据的旧值 (对插入操作而言,此项为空值) 更新后数据的新值 (对删除操作而,此项为空值)
日志文件的作用:
正常运行
故障点 登记日志文件
数据库恢复
利用日志文件恢复事务 继续运行 登记日志文件
– 基本的恢复操作:
对圆满事务所做过的修改操作应执行redo操作, 即重新执行该操作,修改对象被赋予新记录 值。
对夭折事务所做过的修改操作应执行undo操 作,即撤消该操作,修改对象被赋予旧记录 值。
– 先写日志的原则(WAL) 对于尚未提交的事务,在将DB缓冲区写到外 存之前,必须先将日志缓冲区内容写到外存 去。
检查点
故障点
REDO
撤消
数据库恢复(小结)
- 定义
● 恢复是把数据库从错误状态恢复到某一正确状态 的功能,从而确保数据库的一致性。
● 恢复的基本原理是冗余,即数据库中任一部分的 数据可以根据存储在系统别处的冗余数据来重建。
- 日志
● 日志文件是用来记录数据库的每一次更新活动的 文件,由系统自动记录。
恢复子系统可以定期或不定期地建立检查点保存 数据库状态。检查点可以按照预定的一个时间间隔建 立。如,每隔一小时建立一个检查点;也可以按照某 种规则建立检查点,如日志文件已写满一半建立一个 检查点。
使用检查点方法可以改善恢复效率。当事务T在 一个检查点之前提交,T对数据库所做的修改一定都 已写入数据库,写入时间是在这个检查点建立之前或 在这个检查点建立之时。这样,在进行恢复处理时, 没有必要对事务T执行Redo操作。
每个日志记录的内容主要包括: 事务标识 (标明是哪个事务) 操作的类型(插入、删除或修改) 操作对象(记录内部标识) 更新前数据的旧值 (对插入操作而言,此项为空值) 更新后数据的新值 (对删除操作而,此项为空值)
日志文件的作用:
正常运行
故障点 登记日志文件
数据库恢复
利用日志文件恢复事务 继续运行 登记日志文件
《数据库的恢复》课件
优化备份策略 根据业务需求和数据量,选择合 适的备份策略,如全量备份、增 量备份或差异备份,以减少恢复 时间。
数据库恢复案例研究
#O1
企业数据丢失恢复案例
总结词
企业数据丢失恢复案例通常涉及重要业务数据的恢复,需 要快速、准确地进行操作。
详细描述
某大型企业因硬盘故障导致数据库崩溃,数据无法访问。 经过技术团队紧急恢复,成功找回所有数据,确保业务正 常运行。
5
添加标题
数据库管理工具
6
添加标题
使用数据库管理工具进行数据库的日常
管理和维护。
恢复服务
1 2
数据备份服务 提供定期的数据备份服务,确保数据安全可靠。
数据恢复服务 提供专业的数据恢复服务,帮助客户快速恢复数 据库。
3
数据库维护服务 提供数据库的日常维护和监控服务,确保数据库 的稳定运行。
05
数据库恢复的挑战与解决方案
总结词
企业数据丢失恢复案例中,数据恢复的及时性和准确性至 关重要。
详细描述
某金融机构在数据库故障后,由于数据恢复操作失误, 导致部分数据损坏。经过多次尝试和修复,最终才成功 恢复所有数据。
总结词
对于企业数据丢失恢复案例,预防措施和备份策略的制 定至关重要。
详细描述
某大型电商企业为防止数据丢失,定期进行数据备份和 测试。在一次数据库故障中,由于备份可用,数据恢复 迅速完成,业务影响最小化。
完整备份
将数据库的所有数据和文件进行备份,包括数据表、索引、存储过程等。
差异备份
只备份自上次完整备份以来发生变化的数据库部分,以减少备份时间和存储空间。
增量备份
只备份自上次备份(无论是完整备份还是差异备份)以来发生变化的数据库部分。
数据库恢复案例研究
#O1
企业数据丢失恢复案例
总结词
企业数据丢失恢复案例通常涉及重要业务数据的恢复,需 要快速、准确地进行操作。
详细描述
某大型企业因硬盘故障导致数据库崩溃,数据无法访问。 经过技术团队紧急恢复,成功找回所有数据,确保业务正 常运行。
5
添加标题
数据库管理工具
6
添加标题
使用数据库管理工具进行数据库的日常
管理和维护。
恢复服务
1 2
数据备份服务 提供定期的数据备份服务,确保数据安全可靠。
数据恢复服务 提供专业的数据恢复服务,帮助客户快速恢复数 据库。
3
数据库维护服务 提供数据库的日常维护和监控服务,确保数据库 的稳定运行。
05
数据库恢复的挑战与解决方案
总结词
企业数据丢失恢复案例中,数据恢复的及时性和准确性至 关重要。
详细描述
某金融机构在数据库故障后,由于数据恢复操作失误, 导致部分数据损坏。经过多次尝试和修复,最终才成功 恢复所有数据。
总结词
对于企业数据丢失恢复案例,预防措施和备份策略的制 定至关重要。
详细描述
某大型电商企业为防止数据丢失,定期进行数据备份和 测试。在一次数据库故障中,由于备份可用,数据恢复 迅速完成,业务影响最小化。
完整备份
将数据库的所有数据和文件进行备份,包括数据表、索引、存储过程等。
差异备份
只备份自上次完整备份以来发生变化的数据库部分,以减少备份时间和存储空间。
增量备份
只备份自上次备份(无论是完整备份还是差异备份)以来发生变化的数据库部分。
数据库系统概论数据库恢复技术课件
数据库系统概论数据库恢复技术
恢复的实现技术
登记日志文件
– 为保证数据库是可恢复的,登记日志文件 时必须遵循两条原则:
• 登记的次序严格按并发事务执行的时间顺序。 • 必须先写日志文件,后写数据库。
数据库系统概论数据库恢复技术
恢复策略
事务故障的恢复
– 事务故障是指事务在运行至正常终止点之前被终 止。事务故障的恢复是由系统自动完成的,其步 骤是:
• 装入转储以后的日志文件副本,重做已经完成的 事务。
数据库系统概论数据库恢复技术
推迟更新技术
推迟更新技术在日志中记录对事务T的所有更 新操作,并把所有对数据库的更新操作推迟到 该事务提交时执行。它遵循以下推迟更新协议:
– 每个事务在到达提交点之前不能更新数据库。 – 一个事务的所有更新操作所对应的日志记录写入永
– 日志文件可以用来进行事务故障恢复和系统故障恢 复,并协助后备副本进行介质恢复。其具体作用是: • 事务故障和系统故障恢复必须使用日志文件。 • 在动态转储方式中必须建立日志文件,后备副本 和日志文件综合起来才能保证备份的一致性,和 有效地恢复数据库。 • 在静态转储方式中,也可以建立日志文件。当数 据库发生故障时,用后援副本把数据库恢复到转 储结束时的正确状态,然后利用日志文件重做已 完成的事务,把数据库恢复到故障前的正确状态。
转储计划的例子
周日 周一 周二 周三 周四 周五 周六
23:0据库系统概论数据库恢复技术
恢复的实现技术
– 登录日志文件
• 日志文件是用来记录事务对数据库的更新 操作的文件。日志文件主要有两种格式: 以记录为单位的日志文件和以数据块为单 位的日志文件。
• 以记录为单位的日志文件记录的内容包括:
数据库系统概论数据库恢复技术
恢复的实现技术
登记日志文件
– 为保证数据库是可恢复的,登记日志文件 时必须遵循两条原则:
• 登记的次序严格按并发事务执行的时间顺序。 • 必须先写日志文件,后写数据库。
数据库系统概论数据库恢复技术
恢复策略
事务故障的恢复
– 事务故障是指事务在运行至正常终止点之前被终 止。事务故障的恢复是由系统自动完成的,其步 骤是:
• 装入转储以后的日志文件副本,重做已经完成的 事务。
数据库系统概论数据库恢复技术
推迟更新技术
推迟更新技术在日志中记录对事务T的所有更 新操作,并把所有对数据库的更新操作推迟到 该事务提交时执行。它遵循以下推迟更新协议:
– 每个事务在到达提交点之前不能更新数据库。 – 一个事务的所有更新操作所对应的日志记录写入永
– 日志文件可以用来进行事务故障恢复和系统故障恢 复,并协助后备副本进行介质恢复。其具体作用是: • 事务故障和系统故障恢复必须使用日志文件。 • 在动态转储方式中必须建立日志文件,后备副本 和日志文件综合起来才能保证备份的一致性,和 有效地恢复数据库。 • 在静态转储方式中,也可以建立日志文件。当数 据库发生故障时,用后援副本把数据库恢复到转 储结束时的正确状态,然后利用日志文件重做已 完成的事务,把数据库恢复到故障前的正确状态。
转储计划的例子
周日 周一 周二 周三 周四 周五 周六
23:0据库系统概论数据库恢复技术
恢复的实现技术
– 登录日志文件
• 日志文件是用来记录事务对数据库的更新 操作的文件。日志文件主要有两种格式: 以记录为单位的日志文件和以数据块为单 位的日志文件。
• 以记录为单位的日志文件记录的内容包括:
数据库系统概论数据库恢复技术
数据库系统第10章--数据库恢复技术
写回A=13
T1的修改被T2覆盖了!
PPT课件
4. 持续性
❖ 持续性也称永久性(Permanence)
▪ 一个事务一旦提交,它对数据库中数据的改变就应该 是永久性的。
▪ 接下来的其他操作或故障不应该对其执行结果有任何 影响。
PPT课件
事务的特性
❖ 保证事务ACID特性是事务处理的任务 ❖ 破坏事务ACID特性的因素
PPT课件
事务结束
COMMIT 事务正常结束 提交事务的所有操作(读+更新) 事务中所有对数据库的更新永久生效
ROLLBACK 事务异常终止 ▪ 事务运行的过程中发生了故障,不能继续执行 回滚事务的所有更新操作 ▪ 事务滚回到开始时的状态
PPT课件
二、事务的特性(ACID特性)
事务的ACID特性:
PPT课件
事务内部的故障(续)
❖ 这个例子所包括的两个更新操作要么全部完成要么全部不 做。否则就会使数据库处于不一致状态,例如只把账户甲 的余额减少了而没有把账户乙的余额增加。
❖ 在这段程序中若产生账户甲余额不足的情况,应用程序可 以发现并让事务滚回,撤销已作的修改,恢复数据库到正 确状态。
PPT课件
数据库系统概论
An Introduction to Database System
第十章 数据库恢复技术
PPT课件
第十章 数据库恢复技术
10.1 事务的基本概念 10.2 数据库恢复概述 10.3 故障的种类 10.4 恢复的实现技术 10.5 恢复策略 10.6 具有检查点的恢复技术 10.7 数据库镜像 10.8 小结
▪ 多个事务并行运行时,不同事务的操作交叉执行 ▪ 事务在运行过程中被强行停止
PPT课件
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
write(X):把数据X从内存 缓冲区中写回磁盘的数据 库中
注:完成写操作后,数据可 能暂时放在内存中,而非直 接写进数据库。(延迟写)
数据库的恢复
存储器结构 恢复和原子性的联系 故障类型 恢复的基本原则
转储 日志
故障恢复方法 具有检查点的恢复技术
数据库恢复-存储器结构
1、存储器的类型 依据:访问速度、容量和恢复能力
事务处理系统(transaction processing system)是 大型数据库和数百个用户能同时执行数据库事务的 系统。例:酒店预订、银行业、信用卡处理、股票市 场、超市结算等。
事务-一个事务的例子
BEGIN TRANSACTION
INSERT INTO 学生 VALUE(‘002015111’,’张三’); ‘if any error occurred then go to undo
第十章 数据库恢复技术
事务管理简述
恢复和并发的内容彼此交错,共同构成了事务管理 的主要内容。
恢复和并发(或并发控制),都是关于数据保护的, 即保证数据不丢失或损坏。尤其关注以下内容:
系统在执行程序的过程中会出现故障,因此会使数据库 处于一个未知状态;
两个程序在同时执行(即”并发”)时,会相互交错干扰, 因此会造成不正确的结果。
否则事务撤销(ROLLBACK);
COMMIT:表示事务执行成功地结束,该事务对数据 库的所有更新操作都已写入磁盘;
ROLLBACK:表示事务执行不成功地结束,该事务对 数据库的所有更新必须被撤销,数据库应恢复该事务 到初始状态。
BEGIN TRANSACTION和COMMIT(或 ROLLBACK)一起保证了事务的四个性质。
INSERT INTO 选课 VALUE(‘002015111’,’高等数学’,null); ‘if any error occurred then go to undo
COMMIT; Go To Finish;
Undo: Rollback
Finish: Return;
事务-事务管理器
上述例子是一个原子操作-增加一个新的学生记录,但事实上对数据 库进行了两个更新操作,这两个操作之间的数据库是不一致的。
若事务执行结束后,A值减少 50而B值未变;
若系统暂时处于不一致状态 时,第二个事务插件来计算A 与B之和或修改A、B的值;
因某种原因,虽然事务成功 执行完成,但写入磁盘的数
据丢失。
事务-事务提交和事务撤销
BEGIN TRANSACTION标志事务开始执行; 事务的所有操作都完成了,则事务提交(COMMIT),
块:内外存数据交换的基本单位。 物理块:磁盘中的块,称为“物理块”。 缓冲块:内存中临时存放物理块内容的块称为“缓冲块”。 所有的缓冲块组成了“磁盘缓冲区”。内容传送到内 存的缓冲块中。
Output(B):把缓 冲块B的内容传送到 磁盘中恰当的物理块 中
本章内容
事务
事务的概念 ACID准则
数据库恢复
恢复概述 故障的种类 恢复的实现技术
转储和日志
事务-概念
事务(Transaction):
1、事务是一个逻辑工作单位(logical unit of word)。 (C.J.Date)
2、事务定义为数据库处理的逻辑单元,事务必须完整地 执行,以保证它的正确性。(Ramez Elmasri、Shamkant B.Navathe)
input(A)
A output(B)
提供原子性保护的系统组成部分是事务管理器(transaction manager),亦称事务处理监视器(transaction processing monitor 或TP monitor),COMMIT和ROLLBACK操作是其中的关键。
事务的概念-ACID准则
a)执行的原子性(Atomic) 这些操作要么都做,要么都不做。事务是一个不可分割的 工作单位。
b)功能上的一致性(Consistency) 事务对数据库的作用从一个一致状态转变为另一个一致状 态。所谓数据库的一致性是指数据库中的数据满足完整性 约束,即是正确的。
c)彼此的隔离性(Isolation) 若多个事务并发地执行,执行结果应该像各个事务独立地 执行一样。
d)作用的持久性(Durability) 一个成功的执行的事务对数据库的影响是持久的,即使数 据库因故障受到破坏,DBMS也应能恢复。
事务提交和事务撤销(2)
T:BEGIN TRANSACTION;
read(A);
A:=A–50; write(A);
if (A<0) ROLLBACK; else { read(B);
B:=B + 50; write(B);
COMMIT; }
对数据库访问的两个基本操 作:读和写
read(X):把数据X从磁盘 的数据库中读到内存的缓 冲区
由此可见一个逻辑工作单元(一个事务)不一定只是一个简单的数据库 操作,而可能是这样的几个操作的序列,该操作序列将数据库从一个 一致状态转换到另一个一致状态。
支持事务管理(transaction management)的系统提供了一种可靠的 保证方式,它保证如果事务执行了几个更新操作,并在事务结束前发 生了故障,这些更新操作将被撤销,也就是说,事务或者完全执行, 或者全部取消。
易失性存储器(volatile storage)
内存、cache存储器
非易失性存储器(nonvolatile storage)
磁盘和磁带
稳定存储器(stable storage)
这是一个理论上的概念。存储在稳定 存储器中的信息是决不会丢失的。
实现:数据备份、数据银行
存储器结构
2、数据访问——块的概念
例子
例:设银行数据库中有 以下违反了事务的什么性质?
一转账事务T,从账号A 若由于故障和错误,造成事
转一笔款子($50)到账号B。 务T执行的结果修改了A值而
相应的事务:
未修改B值;
T:read(A); A:=A–50; write(A); read(B); B:=B + 50; write(B).
注:完成写操作后,数据可 能暂时放在内存中,而非直 接写进数据库。(延迟写)
数据库的恢复
存储器结构 恢复和原子性的联系 故障类型 恢复的基本原则
转储 日志
故障恢复方法 具有检查点的恢复技术
数据库恢复-存储器结构
1、存储器的类型 依据:访问速度、容量和恢复能力
事务处理系统(transaction processing system)是 大型数据库和数百个用户能同时执行数据库事务的 系统。例:酒店预订、银行业、信用卡处理、股票市 场、超市结算等。
事务-一个事务的例子
BEGIN TRANSACTION
INSERT INTO 学生 VALUE(‘002015111’,’张三’); ‘if any error occurred then go to undo
第十章 数据库恢复技术
事务管理简述
恢复和并发的内容彼此交错,共同构成了事务管理 的主要内容。
恢复和并发(或并发控制),都是关于数据保护的, 即保证数据不丢失或损坏。尤其关注以下内容:
系统在执行程序的过程中会出现故障,因此会使数据库 处于一个未知状态;
两个程序在同时执行(即”并发”)时,会相互交错干扰, 因此会造成不正确的结果。
否则事务撤销(ROLLBACK);
COMMIT:表示事务执行成功地结束,该事务对数据 库的所有更新操作都已写入磁盘;
ROLLBACK:表示事务执行不成功地结束,该事务对 数据库的所有更新必须被撤销,数据库应恢复该事务 到初始状态。
BEGIN TRANSACTION和COMMIT(或 ROLLBACK)一起保证了事务的四个性质。
INSERT INTO 选课 VALUE(‘002015111’,’高等数学’,null); ‘if any error occurred then go to undo
COMMIT; Go To Finish;
Undo: Rollback
Finish: Return;
事务-事务管理器
上述例子是一个原子操作-增加一个新的学生记录,但事实上对数据 库进行了两个更新操作,这两个操作之间的数据库是不一致的。
若事务执行结束后,A值减少 50而B值未变;
若系统暂时处于不一致状态 时,第二个事务插件来计算A 与B之和或修改A、B的值;
因某种原因,虽然事务成功 执行完成,但写入磁盘的数
据丢失。
事务-事务提交和事务撤销
BEGIN TRANSACTION标志事务开始执行; 事务的所有操作都完成了,则事务提交(COMMIT),
块:内外存数据交换的基本单位。 物理块:磁盘中的块,称为“物理块”。 缓冲块:内存中临时存放物理块内容的块称为“缓冲块”。 所有的缓冲块组成了“磁盘缓冲区”。内容传送到内 存的缓冲块中。
Output(B):把缓 冲块B的内容传送到 磁盘中恰当的物理块 中
本章内容
事务
事务的概念 ACID准则
数据库恢复
恢复概述 故障的种类 恢复的实现技术
转储和日志
事务-概念
事务(Transaction):
1、事务是一个逻辑工作单位(logical unit of word)。 (C.J.Date)
2、事务定义为数据库处理的逻辑单元,事务必须完整地 执行,以保证它的正确性。(Ramez Elmasri、Shamkant B.Navathe)
input(A)
A output(B)
提供原子性保护的系统组成部分是事务管理器(transaction manager),亦称事务处理监视器(transaction processing monitor 或TP monitor),COMMIT和ROLLBACK操作是其中的关键。
事务的概念-ACID准则
a)执行的原子性(Atomic) 这些操作要么都做,要么都不做。事务是一个不可分割的 工作单位。
b)功能上的一致性(Consistency) 事务对数据库的作用从一个一致状态转变为另一个一致状 态。所谓数据库的一致性是指数据库中的数据满足完整性 约束,即是正确的。
c)彼此的隔离性(Isolation) 若多个事务并发地执行,执行结果应该像各个事务独立地 执行一样。
d)作用的持久性(Durability) 一个成功的执行的事务对数据库的影响是持久的,即使数 据库因故障受到破坏,DBMS也应能恢复。
事务提交和事务撤销(2)
T:BEGIN TRANSACTION;
read(A);
A:=A–50; write(A);
if (A<0) ROLLBACK; else { read(B);
B:=B + 50; write(B);
COMMIT; }
对数据库访问的两个基本操 作:读和写
read(X):把数据X从磁盘 的数据库中读到内存的缓 冲区
由此可见一个逻辑工作单元(一个事务)不一定只是一个简单的数据库 操作,而可能是这样的几个操作的序列,该操作序列将数据库从一个 一致状态转换到另一个一致状态。
支持事务管理(transaction management)的系统提供了一种可靠的 保证方式,它保证如果事务执行了几个更新操作,并在事务结束前发 生了故障,这些更新操作将被撤销,也就是说,事务或者完全执行, 或者全部取消。
易失性存储器(volatile storage)
内存、cache存储器
非易失性存储器(nonvolatile storage)
磁盘和磁带
稳定存储器(stable storage)
这是一个理论上的概念。存储在稳定 存储器中的信息是决不会丢失的。
实现:数据备份、数据银行
存储器结构
2、数据访问——块的概念
例子
例:设银行数据库中有 以下违反了事务的什么性质?
一转账事务T,从账号A 若由于故障和错误,造成事
转一笔款子($50)到账号B。 务T执行的结果修改了A值而
相应的事务:
未修改B值;
T:read(A); A:=A–50; write(A); read(B); B:=B + 50; write(B).