1. 首页
  2. 文档大全

第四章恢复技术

上传者:9****8 2022-07-18 17:48:35上传 PPT文件 591KB
第四章恢复技术_第1页 第四章恢复技术_第2页 第四章恢复技术_第3页

《第四章恢复技术》由会员分享,可在线阅读,更多相关《第四章恢复技术(37页珍藏版)》请在文档大全上搜索。

1、1 4.1 事务的基本概念事务的基本概念 4.2 故障的种类故障的种类 4.3 恢复的实现技术恢复的实现技术 4.4 恢复策略恢复策略 4.5 具有检查点的恢复技术具有检查点的恢复技术 4.6 数据库镜像数据库镜像第四章 数据库恢复技术2对数据库中存储的大量数据,有下面几个问题:对数据库中存储的大量数据,有下面几个问题: 如何使数据资源只被相关人员合理使用?如何使数据资源只被相关人员合理使用? 如何恢复被破坏的数据?如何恢复被破坏的数据? 如何协调多用户的工作来保证数据的一致性?如何协调多用户的工作来保证数据的一致性? 如何自动地发现用户的失误?如何自动地发现用户的失误?3 作为一个完善的作为

2、一个完善的DBMS,应该提供统一的数据保护功,应该提供统一的数据保护功能来保证数据的安全可靠和正确有效!能来保证数据的安全可靠和正确有效!数据的安全性数据的安全性数据的完整性数据的完整性并发控制并发控制数据库恢复数据库恢复数据保护也叫数据控制,主要包括:数据保护也叫数据控制,主要包括:本章讨论数据库恢复技术。本章讨论数据库恢复技术。4问题:系统软、硬件故障对系统数据造成破坏时,该如问题:系统软、硬件故障对系统数据造成破坏时,该如何处理?何处理?例:银行转帐例:银行转帐设从帐号设从帐号A中拨一笔款中拨一笔款X到帐号到帐号B,正常的执行过程是:,正常的执行过程是: 查看帐号查看帐号A上是否有足够的

3、款数,即余额上是否有足够的款数,即余额 X ? 若余额若余额 X, 则给出提示信息,中止执行。则给出提示信息,中止执行。 若余额若余额 X,则执行下面三步:,则执行下面三步: 在在A中记上一笔支出,从余额中减去中记上一笔支出,从余额中减去 X; 把值把值X传到传到B上;上; 在在B中记上一笔收入,在余额上加中记上一笔收入,在余额上加X,结束。,结束。若在执行了第二步后突然断电或线路传输错误,则导致若在执行了第二步后突然断电或线路传输错误,则导致帐面不平帐面不平停电停电5 1、事务(、事务(transaction) 一个数据库操作序列,是数据库应用程序的基本逻一个数据库操作序列,是数据库应用程序

4、的基本逻辑单元。辑单元。 这些操作要么都做,要么都不做,是一个不可这些操作要么都做,要么都不做,是一个不可分割的执行单位。分割的执行单位。主要是更新操作主要是更新操作定义事务的语句定义事务的语句:BEGIN TRANSACTIONCOMMIT 或或 ROLLBACK事务开始事务开始 事务提交:事务提交:事务完成了其包含的事务完成了其包含的所有活动,正常结束所有活动,正常结束 事务回滚(中止):事务回滚(中止):撤消已做的所有操作,撤消已做的所有操作,回到事务开始时的状态回到事务开始时的状态4.1 4.1 事务的基本概念事务的基本概念事务结束事务结束62、事务应具有的性质、事务应具有的性质(1)

5、原子性()原子性(Atomicity):事务执行时的不可分割性,:事务执行时的不可分割性, 即事务所包含的活动要么都做,要么都不做即事务所包含的活动要么都做,要么都不做 若事务因故障而中止,则要设法消除该事务所产生若事务因故障而中止,则要设法消除该事务所产生的影响,使数据库恢复到该事务执行前的状态。的影响,使数据库恢复到该事务执行前的状态。(2)一致性()一致性(Consistency):事务对数据库的作用应:事务对数据库的作用应 使数据库从一个一致状态到另一个一致状态使数据库从一个一致状态到另一个一致状态例如:一个帐号的收支之差应等于余额。例如:一个帐号的收支之差应等于余额。 飞机订票系统,

6、事务执行前后,座位与订出座位飞机订票系统,事务执行前后,座位与订出座位等信息必须一致。等信息必须一致。7(3)隔离性()隔离性(Isolation):): 多事务并发执行,应象各事务独立执行一样,不多事务并发执行,应象各事务独立执行一样,不能相互干扰。一个正在执行的事务其中间结果不能为其能相互干扰。一个正在执行的事务其中间结果不能为其它事务所访问。它事务所访问。例如:有两个事务,在同一帐号上存款和贷款:例如:有两个事务,在同一帐号上存款和贷款:贷款事务贷款事务 T1存款事务存款事务 T2存入款存入款100元元贷出款贷出款50元元CommitRollbackT2中止,中止,T1也必须中止,也必须

7、中止,造成链式事务中止造成链式事务中止(cascading aborts)余额余额10元元2、事务应具有的性质、事务应具有的性质8(4)持久性()持久性(Durability): 一旦事务提交,不论执行一旦事务提交,不论执行何种操作或发生何种故障,都不应对该事务的执行结果有何种操作或发生何种故障,都不应对该事务的执行结果有任何影响。任何影响。能恢复能恢复2、事务应具有的性质、事务应具有的性质93、 事务管理任务事务管理任务 事务管理的任务就是要保证事务满足上述性质。使事务管理的任务就是要保证事务满足上述性质。使事务不具有上述性质的因素可能是:事务不具有上述性质的因素可能是:(1)事务在运行过程

8、中被强行终止;)事务在运行过程中被强行终止;(2)多个事务并行运行时,不同事务的操作交叉执行。)多个事务并行运行时,不同事务的操作交叉执行。 因此事物管理又分为两个方面:因此事物管理又分为两个方面:恢复技术:保证事务在故障时满足上述性质的技术。恢复技术:保证事务在故障时满足上述性质的技术。并发控制:保证事务在并发执行时满足上述性质的技术。并发控制:保证事务在并发执行时满足上述性质的技术。104.2 4.2 故障的种类故障的种类数据库系统中可能发生各种各样的故障,分为以下几类。数据库系统中可能发生各种各样的故障,分为以下几类。1、事务内部的故障、事务内部的故障 可以通过事务程序本身发现并处理的故

9、障可以通过事务程序本身发现并处理的故障 如银行转帐事务程序在余额小于转帐额时的情形如银行转帐事务程序在余额小于转帐额时的情形 非预期的故障(不能由应用程序处理)非预期的故障(不能由应用程序处理) 如运算溢出、被零除、发生死锁时被选中撤消等如运算溢出、被零除、发生死锁时被选中撤消等 通常,我们所说的事务故障仅指非预期故障。事务故障意味着通常,我们所说的事务故障仅指非预期故障。事务故障意味着事务没有达到预期的终点(事务没有达到预期的终点(COMMIT或者显式的或者显式的ROLLBACK),),因此数据库可能处于不一致状态,恢复程序应在不影响其他事务的因此数据库可能处于不一致状态,恢复程序应在不影响

10、其他事务的情况下,撤消故障事务的所有修改,使得故障事务就象没有运行一情况下,撤消故障事务的所有修改,使得故障事务就象没有运行一样。这类操作称为事务撤消(样。这类操作称为事务撤消(UNDO)。)。 112、系统范围内的故障:软故障、系统范围内的故障:软故障 造成系统停止的任何事件,如造成系统停止的任何事件,如CPU故障、操作系统故障、操作系统故障、程序代码错误、断电等,使得系统必须重新启动。故障、程序代码错误、断电等,使得系统必须重新启动。 特征:影响所有正在运行的事务,但不破坏数据库。特征:影响所有正在运行的事务,但不破坏数据库。它们可引起缓冲区内容丢失,并使所有正在运行的事务它们可引起缓冲区

11、内容丢失,并使所有正在运行的事务不能到达预期终点。不能到达预期终点。 系统故障发生时,可能使数据库处于不一致状态:系统故障发生时,可能使数据库处于不一致状态: (1)有些非正常终止事务的结果可能已写入数据库,在系统)有些非正常终止事务的结果可能已写入数据库,在系统下次启动时,恢复程序必须回滚这些非正常终止的事务,撤消这下次启动时,恢复程序必须回滚这些非正常终止的事务,撤消这些事务对数据库的影响。些事务对数据库的影响。 (2)有些已完成事务的结果可能部分或全部留在缓冲区,而)有些已完成事务的结果可能部分或全部留在缓冲区,而尚未写回磁盘上的数据库中。在系统下次启动时,恢复程序必须尚未写回磁盘上的数


文档来源:https://www.renrendoc.com/paper/212711122.html

文档标签:

下载地址