第10章数据库恢复讲述.ppt
文本预览下载声明
第十章 数据库恢复技术 计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则造成运行事物非正常的中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失。 恢复:数据库管理系统必须具有把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)的功能,这就是数据库的恢复。 恢复的基本原理:是利用数据的备份(冗余),也就是说数据库中,任一部分的信息,可以根据备份的数据来恢复。 10.1 事务的基本概念 一、事务 事务:用户定义的一个数据库操作序列,是一个不可分割的工作单位。 eg:在关系数据库中,一个事务可以是一条SQL语句、一组SQL语句或整个程序。 事务和程序不同,一个程序中可包含多个事务。 定义事务的语句有三条: BEGIN TRANSACTION COMMIT ROLLBACK §10.2 故障的种类 一、事物内部的故障 10.3 恢复的实现技术 第10章 数据库恢复 事务通常是以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。 COMMIT表示提交,即提交事务的所有操作。具体地说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。 ROLLBACK表示回滚,即在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的操作全部撤消,滚回到事务开始时的状态。这里的操作指对数据库的更新操作。 二、事物的特性 1、原子性 事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。 2、一致性 事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。因此当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,系统将事务中对数据库的所有已完成的操作全部撤消,滚回到事务开始时的一致状态。 3、隔离性 一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。 4、持续性(永久性) 持续性也称永久性(Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。 事物是恢复和并发控制的基本单位,事物特性可能遭到破坏的因素有: ⑴多个事物并发运行时,不同事物的操作交叉执行。 ⑵事物在运行过程中被强行停止。 在第一种情况下,数据库管理系统必须保证多个事务的交叉运行不影响这些事务的原子性。在第二种情况下,数据库管理系统必须保证被强行终止的事务对数据库和其它事务没有任何影响。 这些就是数据库管理系统中恢复机制和并发控制机制的责任。 可通过事物程序本身发现。 非预期,不能由事物程序处理。 事物撤消(UNDO):事物故障意味着事物没有到达预期的终点(COMMIT或者显示的ROLLBACK),因此,数据库可能处于不正确状态。系统的恢复程序要在不影响其它事物运行的情况下,强行回滚(ROLLBACK)该事物,即撤消该事物已经作出的对数据库的任何修改。 二、系统故障 (软故障) 系统故障指造成系统停止运转的任何事件,使得系统要重新启动。 恢复子系统:必须在系统重新启动后时让所有非正常终止的事物回滚,强行撤消 (UNDO)所有未完成事物;并且还需要重做(REDO)所有已提交的事物,以将数据库真正恢复到一致状态。 三、介质故障(硬故障) 指外存故障。 eg:磁盘损坏、磁头碰撞,瞬时强磁场干扰等。 介质故障发生的可能性很小,但破坏性最大。 四、计算机病毒 计算机病毒是具有破坏性、可以自我复制的计算机程序。计算机病毒已成为计算机系统的主要威胁,自然也是数据库系统的主要威胁。因此数据库一旦被破坏仍要用恢复技术把数据库加以恢复。 总结: 各类故障对数据库的影响: ⑴数据库本身被破坏。 ⑵数据库没有被破坏,但数据可能不正确,这是由事物的运行被非正常中止造成的。 恢复的基本原理:冗余,数据库中任何一部分被破坏的或不正确的数据可以根据存储在系统别处的冗余数据来重建。 一、恢复的基本原则和实现方法 1、基本原则 将数据库中的数据备份(重复存储)和记录日志文件。当出现故障时,就可利用数据库的数据备份或者日志文件来恢复。 如何建立冗余数据 如何利用这些冗余数据实施数据库恢复。 数据转储 登记日志文件 2、实现步骤
显示全部