《数据库第10章.ppt》由会员分享,可在线阅读,更多相关《数据库第10章.ppt(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库应用技术李楠楠李楠楠 数据库应用技术第十章第十章 数据库恢复技术数据库恢复技术10.1 10.1 事务的基本概念事务的基本概念10.2 10.2 数据库恢复概述数据库恢复概述10.3 10.3 故障的种类故障的种类10.4 10.4 恢复的实现技术恢复的实现技术10.5 10.5 恢复策略恢复策略10.6 10.6 具有检查点的恢复技术具有检查点的恢复技术10.7 10.7 数据库镜像数据库镜像数据库原理及应用10.1 事务的基本概念什么是事什么是事务如何定如何定义事事务事事务的特性的特性数据库原理及应用一、什么是事务一、什么是事务事事务(TransactionTransaction)是
2、用)是用户定定义的一个数据的一个数据库操作序列,操作序列,这些操作要么全做,要么全不做,是一个不可分割的工些操作要么全做,要么全不做,是一个不可分割的工作作单位。位。事事务和程序是两个概念和程序是两个概念在关系数据在关系数据库中,一个事中,一个事务可以是一条可以是一条SQLSQL语句,一句,一组SQLSQL语句或整个程序句或整个程序一个一个应用程序通常包含多个事用程序通常包含多个事务事事务是数据是数据库应用程序的基本用程序的基本逻辑单元,是恢复和并元,是恢复和并发控制的基本控制的基本单位。位。数据库原理及应用三、事务的特性三、事务的特性(ACID(ACID特性特性)事事务的的ACIDACID特
3、性特性原子性(原子性(AtomicityAtomicity)一致性(一致性(ConsistencyConsistency)隔离性(隔离性(IsolationIsolation)持持续性(性(Durability Durability)数据库原理及应用事务的特性事务的特性(ACID(ACID特性特性)原子性(原子性(AtomicityAtomicity)事事务是数据是数据库的的逻辑工作工作单位位事事务中包括的中包括的诸操作要么都做,要么都不做操作要么都做,要么都不做一致性(一致性(ConsistencyConsistency)事事务执行的行的结果必果必须是使数据是使数据库从一个一致性状从一个一致
4、性状态变到另一个一致性状到另一个一致性状态一致性状一致性状态:数据:数据库中只包含成功事中只包含成功事务提交的提交的结果果不一致状不一致状态:数据:数据库中包含失中包含失败事事务的的结果果数据库原理及应用例:例:银行行转帐:从:从帐号号A A中取出一万元,存入中取出一万元,存入帐号号B B。定定义一个事一个事务,该事事务包括两个操作包括两个操作这两个操作要么全做,要么全不做两个操作要么全做,要么全不做全做或者全不做,数据全做或者全不做,数据库都都处于一致性状于一致性状态如果只做一个操作,数据如果只做一个操作,数据库就就处于不一致性状于不一致性状态B=B+1B=B+1 A=A-1 A=A-1B
5、BA A事务的特性事务的特性(ACID(ACID特性特性)数据库原理及应用隔离性隔离性对并并发执行而言行而言一个事务的执行不能被一个事务的执行不能被其他事务干扰其他事务干扰一个事务内部的操作及一个事务内部的操作及使用的数据对其他并发使用的数据对其他并发事务是隔离的事务是隔离的并发执行的各个事务之并发执行的各个事务之间不能互相干扰间不能互相干扰事务的特性事务的特性(ACID(ACID特性特性)读读A=16A=16AA-3AA-3写回写回A=13A=13 读读A=16A=16 AA-1 AA-1 写回写回 A=15A=15T T2 2T T1 1T1T1的修改被的修改被T2T2覆盖了!覆盖了!数据
6、库原理及应用持持续性性也称永久性(也称永久性(PermanencePermanence)一个事一个事务一旦提交,它一旦提交,它对数据数据库中数据的改中数据的改变就就应该是永久性的。是永久性的。接下来的其他操作或故障不接下来的其他操作或故障不应该对其其执行行结果有果有任何影响。任何影响。事务的特性事务的特性(ACID(ACID特性特性)数据库原理及应用10.3 故障的种类事事务故障故障系系统故障故障介介质故障故障数据库原理及应用一、事务故障一、事务故障什么是事什么是事务故障故障某个事某个事务在运行在运行过程中由于种种原因未运行至程中由于种种原因未运行至正常正常终止点就夭折了止点就夭折了事事务故障
7、的常故障的常见原因原因输入数据有入数据有误运算溢出运算溢出违反了某些完整性限制反了某些完整性限制某些某些应用程序出用程序出错并行事并行事务发生死生死锁。数据库原理及应用事事务故障的恢复故障的恢复发生事生事务故障故障时,夭折的事,夭折的事务可能已把可能已把对数据数据库的的部分修改写回磁部分修改写回磁盘撤消事撤消事务(UNDOUNDO)强行回行回滚(ROLLBACKROLLBACK)该事事务清除该事务对数据库的所有修改,使得这个清除该事务对数据库的所有修改,使得这个事务象根本没有启动过一样事务象根本没有启动过一样事务故障事务故障数据库原理及应用二、系统故障二、系统故障什么是系什么是系统故障故障整个
8、系整个系统的正常运行突然被破坏,所有正在运行的的正常运行突然被破坏,所有正在运行的事事务都非正常都非正常终止,内存中数据止,内存中数据库缓冲区的信息全冲区的信息全部部丢失,外部存失,外部存储设备上的数据未受影响上的数据未受影响系系统故障的常故障的常见原因原因操作系操作系统或或DBMSDBMS代代码错误操作操作员操作失操作失误特定特定类型的硬件型的硬件错误(如(如CPUCPU故障)故障)突然停突然停电数据库原理及应用系系统故障的恢复故障的恢复清除尚未完成的事清除尚未完成的事务对数据数据库的所有修改的所有修改系系统重新启重新启动时,恢复程序要,恢复程序要强行撤消(行撤消(UNDOUNDO)所有未完
9、成事所有未完成事务将将缓冲区中已完成事冲区中已完成事务提交的提交的结果写入数据果写入数据库系系统重新启重新启动时,恢复程序需要重做(,恢复程序需要重做(REDOREDO)所)所有已提交的事有已提交的事务系统故障系统故障数据库原理及应用三、介质故障三、介质故障什么是介什么是介质故障故障指硬件故障使存指硬件故障使存储在外存中的数据部分在外存中的数据部分丢失或全部失或全部丢失。介失。介质故障比前两故障比前两类故障的可能性小得多,但破坏故障的可能性小得多,但破坏性大得多。性大得多。介介质故障的常故障的常见原因原因磁磁盘损坏、磁坏、磁头碰撞、操作系碰撞、操作系统的某种潜在的某种潜在错误、瞬、瞬时强磁磁场干干扰介介质故障的恢复故障的恢复装入数据装入数据库发生介生介质故障前某个故障前某个时刻的数据副本刻的数据副本重做自此重做自此时始的所有成功事始的所有成功事务,将,将这些事些事务已提交的已提交的结果重新果重新记入数据入数据库