20150105第5版 第10章 数据库恢复技术--提交版

上传人:101****457 文档编号:106869911 上传时间:2019-10-16 格式:PDF 页数:94 大小:2.84MB
返回 下载 相关 举报
20150105第5版 第10章 数据库恢复技术--提交版_第1页
第1页 / 共94页
20150105第5版 第10章 数据库恢复技术--提交版_第2页
第2页 / 共94页
20150105第5版 第10章 数据库恢复技术--提交版_第3页
第3页 / 共94页
20150105第5版 第10章 数据库恢复技术--提交版_第4页
第4页 / 共94页
20150105第5版 第10章 数据库恢复技术--提交版_第5页
第5页 / 共94页
点击查看更多>>
资源描述

《20150105第5版 第10章 数据库恢复技术--提交版》由会员分享,可在线阅读,更多相关《20150105第5版 第10章 数据库恢复技术--提交版(94页珍藏版)》请在金锄头文库上搜索。

1、An Introduction to Database System 数据库系统概论 An Introduction to Database System 第十章第十章 数据库恢复技术数据库恢复技术 中国人民大学信息学院中国人民大学信息学院 An Introduction to Database System 第十章第十章 数据库恢复技术数据库恢复技术 10.1 事务的基本概念事务的基本概念 10.2 数据库恢复概述数据库恢复概述 10.3 故障的种类故障的种类 10.4 恢复的实现技术恢复的实现技术 10.5 恢复策略恢复策略 10.6 具有检查点的恢复技术具有检查点的恢复技术 10.7 数

2、据库镜像数据库镜像 10.8 小结小结 An Introduction to Database System 10.1 事务的基本概念事务的基本概念 1.事务事务 2.事务的事务的ACID特性特性 An Introduction to Database System 1.事务事务 事务事务(Transaction)是用户定义的一个数据库操作序列,是用户定义的一个数据库操作序列, 这些操作要么全做,要么全不做,是一个不可分割的工作这些操作要么全做,要么全不做,是一个不可分割的工作 单位。单位。 事务和程序是两个概念事务和程序是两个概念 在关系数据库中,一个事务可以是一条在关系数据库中,一个事务可

3、以是一条SQL语句,一组语句,一组 SQL语句或整个程序语句或整个程序 一个程序通常包含多个事务一个程序通常包含多个事务 事务是恢复和并发控制的基本单位事务是恢复和并发控制的基本单位 An Introduction to Database System 定义事务定义事务 显式定义方式显式定义方式 BEGIN TRANSACTION BEGIN TRANSACTION SQL 语句语句1 SQL 语句语句1 SQL 语句语句2 SQL 语句语句2 。 。 COMMIT ROLLBACK 隐式方式隐式方式 当用户没有显式地定义事务时,当用户没有显式地定义事务时, 数据库管理系统按缺省规定自动划分事

4、务数据库管理系统按缺省规定自动划分事务 事务异常终止事务异常终止 事务运行的过程中发生了故障,不能继续执行事务运行的过程中发生了故障,不能继续执行 系统将事务中对数据库的所有已完成的操作全系统将事务中对数据库的所有已完成的操作全 部撤销部撤销 事务滚回到事务滚回到开始开始时的状态时的状态 事务正常结束事务正常结束 提交提交事务的所有操作(事务的所有操作(读读+更新更新) 事务中所有对数据库的更新写回到磁盘上的事务中所有对数据库的更新写回到磁盘上的 物理数据库中物理数据库中 An Introduction to Database System 事务结束事务结束 COMMIT 事务正常结束事务正常

5、结束 提交提交事务的所有操作(事务的所有操作(读读+更新更新) 事务中所有对数据库的更新写回到磁盘上的物理数据事务中所有对数据库的更新写回到磁盘上的物理数据 库中库中 ROLLBACK 事务异常终止事务异常终止 事务运行的过程中发生了故障,不能继续执行事务运行的过程中发生了故障,不能继续执行 系统将事务中对数据库的所有已完成的操作全部撤销系统将事务中对数据库的所有已完成的操作全部撤销 事务滚回到事务滚回到开始开始时的状态时的状态 An Introduction to Database System 10.1 事务的基本概念事务的基本概念 1.事务事务 2.事务的事务的ACID特性特性 An I

6、ntroduction to Database System 2.事务的特性(事务的特性(ACID特性)特性) 事务的事务的ACID特性:特性: 原子性(原子性(Atomicity) 一致性(一致性(Consistency) 隔离性(隔离性(Isolation) 持续性(持续性(Durability ) An Introduction to Database System (1)原子性)原子性 事务是数据库的逻辑工作单位事务是数据库的逻辑工作单位 事务中包括的诸操作要么都做,要么都不做事务中包括的诸操作要么都做,要么都不做 An Introduction to Database System

7、(2)一致性)一致性 事务执行的结果必须是使数据库从一个一致性状态变事务执行的结果必须是使数据库从一个一致性状态变 到另一个一致性状态到另一个一致性状态 一致性状态一致性状态 数据库中只包含成功事务提交的结果数据库中只包含成功事务提交的结果 不一致状态不一致状态 数据库系统运行中发生故障,有些事务尚未完成就被迫数据库系统运行中发生故障,有些事务尚未完成就被迫 中断;中断; 这些未完成事务对数据库所做的修改有一部分已写入物这些未完成事务对数据库所做的修改有一部分已写入物 理数据库,这时数据库就处于一种不正确的状态理数据库,这时数据库就处于一种不正确的状态 An Introduction to D

8、atabase System 一致性与原子性一致性与原子性 银行转帐:从帐号银行转帐:从帐号A中取出一万元,存入帐号中取出一万元,存入帐号B。 定义一个事务,该事务包括两个操作定义一个事务,该事务包括两个操作 这两个操作要么全做,要么全不做这两个操作要么全做,要么全不做 全做或者全不做,数据库都处于一致性状态。全做或者全不做,数据库都处于一致性状态。 如果只做一个操作,用户逻辑上就会发生错误,少了一如果只做一个操作,用户逻辑上就会发生错误,少了一 万元,数据库就处于不一致性状态。万元,数据库就处于不一致性状态。 B=B+1 A=A-1 B A An Introduction to Databa

9、se System (3)隔离性)隔离性 一个事务的执行不能被其他事务干扰一个事务的执行不能被其他事务干扰 一个事务内部的操作及使用的数据对其他并发事务是一个事务内部的操作及使用的数据对其他并发事务是 隔离的隔离的 并发执行的各个事务之间不能互相干扰并发执行的各个事务之间不能互相干扰 An Introduction to Database System (4)持续性)持续性 持续性也称永久性(持续性也称永久性(Permanence) 一个事务一旦提交,它对数据库中数据的改变就应该一个事务一旦提交,它对数据库中数据的改变就应该 是永久性的。是永久性的。 接下来的其他操作或故障不应该对其执行结果有

10、任何接下来的其他操作或故障不应该对其执行结果有任何 影响。影响。 An Introduction to Database System 事务的特性事务的特性 保证事务保证事务ACID特性是事务处理的任务特性是事务处理的任务 破坏事务破坏事务ACID特性的因素特性的因素 (1) 多个事务并行运行时,不同事务的操作交叉执行多个事务并行运行时,不同事务的操作交叉执行 数据库管理系统必须保证多个事务的交叉运行不影响这数据库管理系统必须保证多个事务的交叉运行不影响这 些事务的隔离性些事务的隔离性 (2)事务在运行过程中被强行停止)事务在运行过程中被强行停止 数据库管理系统必须保证被强行终止的事务对数据库

11、和数据库管理系统必须保证被强行终止的事务对数据库和 其他事务没有任何影响其他事务没有任何影响 An Introduction to Database System 第十章第十章 数据库恢复技术数据库恢复技术 10.1 事务的基本概念事务的基本概念 10.2 数据库恢复概述数据库恢复概述 10.3 故障的种类故障的种类 10.4 恢复的实现技术恢复的实现技术 10.5 恢复策略恢复策略 10.6 具有检查点的恢复技术具有检查点的恢复技术 10.7 数据库镜像数据库镜像 10.8 小结小结 An Introduction to Database System 10.2 数据库恢复概述数据库恢复概述

12、 故障是不可避免的故障是不可避免的 计算机硬件故障计算机硬件故障 软件的错误软件的错误 操作员的失误操作员的失误 恶意的破坏恶意的破坏 故障的影响故障的影响 运行事务非正常中断,影响数据库中数据的正确性运行事务非正常中断,影响数据库中数据的正确性 破坏数据库,全部或部分丢失数据破坏数据库,全部或部分丢失数据 An Introduction to Database System 数据库恢复概述(续)数据库恢复概述(续) 数据库的恢复数据库的恢复 数据库管理系统必须具有把数据库从错误状态恢复到某数据库管理系统必须具有把数据库从错误状态恢复到某 一已知的正确状态一已知的正确状态(亦称为一致状态或完整

13、状态亦称为一致状态或完整状态)的功能,的功能, 这就是数据库的恢复管理系统对故障的对策这就是数据库的恢复管理系统对故障的对策 恢复子系统是数据库管理系统的一个重要组成部分恢复子系统是数据库管理系统的一个重要组成部分 恢复技术是衡量系统优劣的重要指标恢复技术是衡量系统优劣的重要指标 An Introduction to Database System 第十章第十章 数据库恢复技术数据库恢复技术 10.1 事务的基本概念事务的基本概念 10.2 数据库恢复概述数据库恢复概述 10.3 故障的种类故障的种类 10.4 恢复的实现技术恢复的实现技术 10.5 恢复策略恢复策略 10.6 具有检查点的恢

14、复技术具有检查点的恢复技术 10.7 数据库镜像数据库镜像 10.8 小结小结 An Introduction to Database System 故障的种类故障的种类 1.事务内部的故障事务内部的故障 2.系统故障系统故障 3.介质故障介质故障 4.计算机病毒计算机病毒 An Introduction to Database System 1.事务内部的故障事务内部的故障 事务内部的故障事务内部的故障 有的是可以通过事务程序本身发现的有的是可以通过事务程序本身发现的(见下面转账事见下面转账事 务的例子务的例子) 有的是非预期的,不能由事务程序处理的。有的是非预期的,不能由事务程序处理的。

15、An Introduction to Database System 事务内部的故障(续)事务内部的故障(续) 例如,银行转账事务,这个事务把一笔金额从一个账户甲例如,银行转账事务,这个事务把一笔金额从一个账户甲 转给另一个账户乙。转给另一个账户乙。 BEGIN TRANSACTION 读账户甲的余额读账户甲的余额BALANCE; BALANCE=BALANCE-AMOUNT; /*AMOUNT 为转账金额为转账金额*/ IF(BALANCE 0 ) THEN 打印打印金额不足,不能转账金额不足,不能转账; /*事务内部可能造成事务被回滚的情况事务内部可能造成事务被回滚的情况*/ ROLLBACK; /*撤销刚才的修改,恢复事务撤销刚才的修改,恢复事务*/ ELSE 读账户乙的余额读账户乙的余额BALANCE1; BALANCE1=BALANCE1+AMOUNT; 写回写回BALANCE1; COMMIT; An Introduction to Database System 事务内部的故障(续)事务内部的故障(续) 事务内部更多的故障是非预期的,是不能由应用事务内部更多的故障是非预期的,是不能由应用 程序处理的。程序处理的。 运算溢出运算溢出 并发事务发生死锁而被选中撤

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号