Oracle数据库学习-数据库10_DataBaseppt课件.ppt

Oracle数据库学习-数据库10_DataBaseppt课件.ppt

ID:59416084

大小:486.00 KB

页数:36页

时间:2020-09-19

Oracle数据库学习-数据库10_DataBaseppt课件.ppt_第1页
Oracle数据库学习-数据库10_DataBaseppt课件.ppt_第2页
Oracle数据库学习-数据库10_DataBaseppt课件.ppt_第3页
Oracle数据库学习-数据库10_DataBaseppt课件.ppt_第4页
Oracle数据库学习-数据库10_DataBaseppt课件.ppt_第5页
资源描述:

《Oracle数据库学习-数据库10_DataBaseppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十章数据库恢复技术10.1事务的基本概念10.2数据库恢复概述10.3故障的种类10.4恢复的实现技术10.5恢复策略10.6具有检查点的恢复技术10.7数据库镜像10.1事务的基本概念一、事务事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。事务和程序是两个概念在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序;一个应用程序通常包含多个事务。事务是恢复和并发控制的基本单位。二、如何定义事务显式定义方式BEGINTRANSACTI

2、ONSQL语句1SQL语句2……COMMIT隐式方式当用户没有显式地定义事务时,DBMS按缺省规定自动划分事务COMMIT事务正常结束提交事务的所有操作(读+更新)事务中所有对数据库的更新永久生效ROLLBACK事务异常终止事务运行的过程中发生了故障,不能继续执行回滚事务的所有更新操作事务滚回到开始时的状态BEGINTRANSACTIONSQL语句1SQL语句2……ROLLBACK三、事务的特性(ACID特性)原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持续性(Durabil

3、ity)也称永久性(Permanence)事务是数据库的逻辑工作单位。事务中包括的诸操作要么都做,要么都不做。事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。一个事务的执行不能被其他事务干扰一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。保证事务ACID特性是事务处理的任务破坏事务ACID特性的因素多个事务并行运行时,不同事务的操作交叉执行;事务在运行过

4、程中被强行停止。10.2数据库恢复概述故障是不可避免的计算机硬件故障;系统软件和应用软件的错误;操作员的失误;恶意的破坏。故障的影响运行事务非正常中断;破坏数据库。数据库管理系统对故障的对策DBMS提供恢复子系统;保证故障发生后,能把数据库中的数据从错误状态恢复到某种逻辑一致的状态;保证事务ACID。恢复技术是衡量系统优劣的重要指标10.3故障的种类事务故障系统故障介质故障计算机病毒一、事务内部故障指某个事务在运行过程中由于种种原因未运行至正常终止点就夭折了。事务内部故障有的是可以通过程序本身发现的;有的是非预期的,不

5、能由事务程序处理,如:输入数据有误、运算溢出、违反了某些完整性限制、某些应用程序出错、并行事务发生死锁等等。以后,事务故障仅指这一类故障。事务故障意味着事务没有达到预期的终点(COMMIT或者显式的ROLLBACK),因此,数据库可能处于不正确状态。恢复程序要在不影响其它事务运行的情况下,强行回滚(ROLLBACK)该事务,即撤消该事务已经作出的任何对数据库的修改,使得该事务好象根本没有启动一样。这类恢复操作称为事务撤消(UNDO)。例如:银行转帐事务。这个事务把一笔金额从一个帐户甲转给另一个帐户乙。BEGINTRAN

6、SACTION读帐户甲的余额BALANCE;BALANCE=BALANCE-AMOUNT;(Amount为转帐金额)IF(BALANCE<0)THEN{打印'金额不足,不能转帐';ROLLBACK;(撤消刚才的修改,恢复事务)}ELSE{读帐户乙的余额BALANCE1;BALANCE1=BALANCE1+AMOUNT;写回BALANCE1;COMMIT;}二、系统故障系统故障是指造成系统停止运转的任何事件,使得系统要重新启动。引起的原因:特定类型的硬件错误(CPU故障)、操作系统故障、DBMS代码错误、突然停电等等。故

7、障的后果:影响正在运行的所有事务,但不破坏数据库。这时主存内容,尤其是数据库缓冲区(在内存)中的内容都被丢失,所有运行事务都非正常终止。发生系统故障时,一些尚未完成的事务的结果可能已送入物理数据库,有些已完成的事务可能有一部分甚至全部留在缓冲区,尚未写回到磁盘上的物理数据库中,从而造成数据库可能处于不正确的状态。故障的恢复:为保证数据一致性,恢复子系统必须在系统重新启动时让所有非正常终止的事务回滚,强行撤消(UNDO)所有未完成事务。重做(Redo)所有已提交的事务,以将数据库真正恢复到一致状态。三、介质故障系统故障常

8、称为软故障(SoftCrash)。介质故障称为硬故障(HardCrash)。硬故障指外存故障,如磁盘损坏、磁头碰撞,瞬时强磁场干扰等。硬故障将破坏数据库或部分数据库,并影响正在存取这部分数据的所有事务。这类故障比前两类故障发生的可能性小得多,但破坏性最大。硬故障的恢复:装入数据库发生介质故障前某个时刻的数据副本,重做自此时开始的所

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。