文档详情

事务处理技术.pptx

发布:2020-02-22约1.01万字共99页下载文档
文本预览下载声明
数据库恢复技术;如何定义事务;COMMIT 事务正常结束 提交事务的所有操作(读+更新) 事务中所有对数据库的更新永久生效 ROLLBACK 事务异常终止 事务运行的过程中发生了故障,不能继续执行 回滚事务的所有更新操作 事务滚回到开始时的状态; 事务的特性;1. 原子性;2. 一致性;一致性与原子性;3. 隔离性;T1的修改被T2覆盖了!;4. 持续性;事务的特性 ;在任何情况下,DBMS都应保证事务的ACID性质。正常运行 时和发生故障时,都应保证事务的ACID性质。 不但在单个应用运行时应保证事务的ACID性质;而且在多 个应用并行运行时,也应保证事务的ACID性质。 保证事务在故障发生时满足ACID性质的措施称为恢复技术。 保证多个事务在并行执行时满足ACID性质的措施称为并发 控制技术。 恢复和并发控制是保证事务正确运行的两项基本技术,它 们被合称为事务管理。; 恢复技术概述;; 故障的种类;BEGIN TRANSACTION 读帐户甲的余额BALANCE; BALANCE = BALANCE-AMOUNT;AMOUNT 为转帐金额) IF(BALANCE〈0 ) THEN { 打印′金额不足,不能转帐′; ROLLBACK;(撤消刚才的修改,恢复事务)} ELSE{ 读帐户乙的余额BALANCE1; BALANCE1 = BALANCE1+AMOUNT; 写回BALANCE1; COMMIT;};上面这个例子所包括的两个更新操作要么全部完成要么 全部不做。否则就会使数据库处于不一致状态,例如只 把帐户甲的余额减少了而没有把帐户乙的余额增加。 在这段程序中若产生帐户甲余额不足的情况,应用程序 可以发现并让事务滚回,撤消已作的修改,恢复数据库 到正确状态。 事务内部更多的故障是非预期的,是不能由应用程序处 理的。如运算溢出、并发事务发生死锁而被选中撤消该 事务、违反了某些完整性限制等。以后,事务故障仅指 这类非预期的故障。;事务故障的常见原因 输入数据有误 运算溢出 违反了某些完整性限制 某些应用程序出错 并行事务发生死锁 ……;发生事务故障时,夭折的事务可能已把对数据库的部分修改写回磁盘 事务故障的恢复:撤消事务(UNDO) 强行回滚(ROLLBACK)该事务 清除该事务对数据库的所有修改,使得这??事务象根本没有启动过一样;2.系统故障 什么是系统故障 整个系统的正常运行突然被破坏 所有正在运行的事务都非正常终止 内存中数据库缓冲区的信息全部丢失 外部存储设备上的数据未受影响 ;系统故障的常见原因;系统故障的恢复;发生系统故障时,一些尚未完成的事务的结果可能已送 入物理数据库,有些已完成的事务可能有一部分甚至全 部留在缓冲区,尚未写回到磁盘上的物理数据库中,从 而造成数据库可能处于不正确的状态。 为保证数据一致性,恢复子系统必须在系统重新启动时 让所有非正常终止的事务回滚,强行撤消(UNDO)所有未 完成事务。重做(Redo)所有已提交的事务,以将数据库 真正恢复到一致状态。;3、介质故障 系统故障常称为软故障(Soft Crash),介质故障称 为硬故障(Hard Crash)。 硬故障指外存故障,如磁盘损坏、磁头碰撞,瞬时强 磁场干扰等。这类故障将破坏数据库或部分数据库, 并影响正在存取这部分数据的所有事务。 这类故障比前两类故障发生的可能性小得多,但破坏 性最大。;4、计算机病毒 计算机病毒是具有破坏性、可以自我复制的计算机程 序。计算机病毒已成为计算机系统的主要威胁,自然 也是数据库系统的主要威胁。因此数据库一旦被破坏 仍要用恢复技术把数据库加以恢复。 总结各类故障,对数据库的影响有两种可能性。一是 数据库本身被破坏。二是数据库没有破坏,但数据可 能不正确,这是因为事务的运行被非正常终止造成的。; 恢复的实现技术;恢复技术大致有下列三种: 1. 单纯以后备复本为基础的恢复技术; 1)周期性的数据库转储; 2)增量转储。 优点:实现简单,不增加数据库正常运行时的开销。 缺点:不能恢复到数据库的最近一致状态。(只能用 在小型和不重要的数据库系统);2. 以后备复本和运行记录(Log 或Journal)为基础的 恢复技术; 下面将详细介绍这种技术。 优点:数据库恢复到最近的一致状态。 缺点:实现复杂,运行时需保留运行记录。 ----大部分商品化DBMS支持这种恢复技术,这是主 要的恢复方法
显示全部
相似文档