当前位置:文档之家› 《数据库恢复技术》PPT课件

《数据库恢复技术》PPT课件

2
第十章 数据库恢复技术
针对这四类问题,一般DBMS提供了相应的功能:
⒈数据库恢复 ⒉并发控制 ⒊安全性保护 ⒋完整性保护
从系统的角度看,数据库保护主要指安全性控制 和完整性约束等问题。
3
10.1 事务的基本概念
一、什么是事务
第十章 数据库恢复技术
事务(Transaction)是用户定义的一个数据库操作序列,这些 操作要么全做,要么全不做,是一个不可分割的工作单位
第十章 数据库恢复技术
⑴ 原子性 事务是数据库的逻辑工作单元,事务中包括的诸操作 要么都做,要么都不做。
8
(2)一致性
第十章 数据库恢复技术
例:银行转帐,从帐号A中取出一万元,存入帐号B。定义 一个事务,该事务包括两个操作:
A A=A-1
B B=B+1
这两个操作要么全做,要么全不做: 全做或者全不做,数据库都处于一致性状态。 如果只做一个操作,数据库就处于不一致性状态。
例如:在关系数据库中,一个事务可以是一个SQL语句、 一组SQL语句或者整个程序。
4
第十章 数据库恢复技术
事务和程序是两个概念: 1) 在关系数据库中,一个事务可以是一条SQL语句,一
组SQL语句或整个程序 2) 一个应用程序通常包含多个事务
事务是数据库恢复和并发控制的基本单位
5
二、如何定义事务
14
第十章 数据库恢复技术
一、事务内部的故障
• 什么是事务故障 – 某个事务在运行过程中由于种种原因未运行至正 常终止点就夭折了
• 事务故障的常见原因 – 输入数据有误 – 运算溢出 – 违反了某些完整性限制 – 某些应用程序出错 – 并行事务发生死锁
事务故障的类型
预期故障和非预期故障
15
第十章 数据库恢复技术
19
第十章 数据库恢复技术
系统故障的恢复 清除尚未完成的事务对数据库的所有修改。系统重新启
ELSE
{ 读帐户乙的余额BALANCE1; BALANCE1 = BALANCE1+AMOUNT; 写回BALANCE1; COMMIT;}
7
三、事务的特性(ACID特性)
原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持续性(Durability )
预期的故障
例如:银行转帐事务,这个事务把一笔金额从一个帐户甲转给 另一个帐户乙。 BEGIN TRANSACTION 读帐户甲的余额BALANCE; BALANCE = BALANCE-AMOUNT;(AMOUNT 为转帐金额) IF(BALANCE <0 ) THEN { 打印′金额不足,不能转帐′; ROLLBACK;(撤消刚才的修改,恢复事务)} ELSE { 读帐户乙的余额BALANCE1; BALANCE1 = BALANCE1+AMOUNT; 写回BALANCE1; COMMIT;}
9
(3)隔离性
第十章 数据库恢复技术
隔离性即事务并发执行的相对独立性,这是事务并发控 制的目标。
T1 ① 读A=16 ② ③ A←A-1
写回A=15 ④
T2 读A=16
A←A-3 写回A=13
10
(4)持久性
第十章 数据库恢复技术
持续性也称永久性;
一个事务一旦提交,它对数据库中数据的改变就应 该是永久性的。
接下来的其他操作或故障不应该对其执行结果有任 何影响。
11
第十章 数据库恢复技术
事务ACID特性可能遭到破坏的因素:
• 多个事务并行运行时,不同事务的操作交叉执行; (并行控制机制)
• 事务在运行过程中被强行停止。 (恢复机制)
12
第十章 数据库恢复技术
10.2 数据库恢复概述
• 故障是不可避免的 – 计算机硬件故障 – 系统软件和应用软件的错误 – 操作员的失误 – 恶意的破坏
6
举例
第十章 数据库恢复技术
例如:银行转帐事务,这个事务把一笔金额从一个帐户甲转给 另一个帐户乙。
BEGIN TRANSACTION 读帐户甲的余额BALANCE; BALANCE = BALANCE-AMOUNT;(AMOUNT 为转帐金额) IF(BALANCE <0 ) THEN { 打印′金额不足,不能转帐′; ROLLBACK;(撤消刚才的修改,恢复事务)}
• 故障的影响 – 运行事务非正常中断 – Nhomakorabea坏数据库
• 数据库管理系统对故障的对策 – DBMS提供恢复子系统 – 保证故障发生后,能把数据库中的数据从错误状态 恢复到某种逻辑一致的状态 – 保证事务ACID
• 恢复技术是衡量系统优劣的重要指标
13
10.3 故障的种类
第十章 数据库恢复技术
• 事务内部的故障 • 系统故障 • 介质故障 • 计算机病毒
16
非预期的故障
输入数据有误 运算溢出 违反了某些完整性限制 某些应用程序出错 并行事务发生死锁
第十章 数据库恢复技术
17
事务故障的恢复
第十章 数据库恢复技术
• 事务故障的恢复:撤消事务(UNDO)
• 强行回滚(ROLLBACK)该事务
• 清除该事务对数据库的所有修改,使得这个事务象根本没 有启动过一样
第十章 数据库恢复技术
第十章 数据库恢复技术
事务的基本概念 数据库恢复概述 故障的种类 恢复的实现技术 恢复策略 具有检查点的恢复技术 数据库镜像
1
第十章 数据库恢复技术
数据库被破坏的原因可归纳为: ⒈软硬件故障,造成数据被破坏; ⒉数据库的并发操作引起数据的不一致性; ⒊自然或人为地破坏; ⒋对数据库数据的更新操作有误.
第十章 数据库恢复技术
• 隐式方式:当用户没有显式地定义事务时,DBMS按缺
省规定自动划分事务
• 显式定义方式
在SQL语言中,定义事务的语句有三条:
BEGIN TRANSACTION --开始
COMMIT
--结束
ROLLBACK
--结束
COMMIT:提交,即提交事务的所有操作(读+更新) ROLLBACK:回滚,即终止事务
18
二、系统故障
第十章 数据库恢复技术
系统故障: 造成系统停止运转的任何事件,使得系统要重新启动
常见原因:
操作系统或DBMS代码错误、操作员操作失误、特定类型 的硬件错误、突然停电等
系统故障表现: 整个系统的正常运行突然被破坏 所有正在运行的事务都非正常终止 内存中数据库缓冲区的信息全部丢失 外部存储设备上的数据未受影响
相关主题