当前位置:文档之家› 数据库系统第10章 数据库恢复技术PPT课件

数据库系统第10章 数据库恢复技术PPT课件

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).
相关主题