第11章 故障管理
数据库恢复技术故障管理概述故障类型及其解决方法事务内部的故障事务内部故障分为预期的和非预期的1预期的事务内部故障如果发生了预期的事务内部故障可以通过将事务回滚撤销其对数据库的修改从而使数据库回到一致性的状态。2非预期的事务内部故障非预期的事务内部故障是不能由事务程序处理的。系统故障系统故障又称软故障当数据库发生软故障时容错对策是在重新启动系统后撤销(UNDO)所有未提交的事务重做(REDO)所有已提交的事务以达到容错目的。介质故障介质故障又称硬故障介质故障的容错对策采用两种方式一种是软件容错一种是硬件容错。为了保证介质故障下的数据库能够完全恢复应采用硬件容错方法。数据库恢复技术概述恢复机制涉及的两个关键问题是①如何建立冗余数据②如何利用这些冗余数据实施数据库恢复建立冗余数据的技术有很多例如为数据备份、登记日志文件、数据库复制、数据库镜像、为段设立保存点以及使用后备段与现行页表来支持对段的保存等。数据转储1静态转储。在静态转储过程中系统不能运行其他事务不允许在转储期间对数据库有任何的存取、修改活动。2动态转储。动态转储是指允许转储操作和用户事务并发执行。即允许在转储过程中对数据库进行存取和修改操作。静态转储可以保证数据的有效性但是却降低数据库的可用性动态转储可以提高数据库的可用性但数据的有效性得不到保证。为了保证数据的一致性需使用日志文件和动态转储结合使用。数据转储机制1完全转储。完全转储是对数据库中所有数据进行转储。这种转储方式需占用较多的时间和空间。2差量转储。差量转储是对最近一次数据库完全转储以来发生的数据库变化进行转储。差量转储和完全转储相比速度快占用较小的空间小差量转储和增量转储相比速度慢、占用空间多但恢复速度比增量转储快。3增量转储。增量转储只复制上次转储后发生变化的文件或数据块。增量转储所需的时间和空间都比较短但增量转储数据只能和完全转储配合才能对数据库进行恢复。增量转储的恢复时间要比仅使用完全转储要长。日志文件日志文件的概念在动态转储方式中必须建立日志文件在静态转储方式中也可以使用日志文件日志文件的格式与内容不同的数据库系统采用的日志文件格式并不完全一样但概括起来日志文件主要有两种格式以记录为单位的日志文件和以数据块为单位的日志文件。登记日志文件的原则为保证数据库是可恢复的登记日志文件必须遵循两条原则①登记的次序严格按照并行事务执行的时间顺序②必须先写日志文件后写数据库。检查点恢复子系统可以定期或不定期地建立检查点来保存数据库状态。数据库镜像与数据库容灾数据库镜像简介数据库镜像有许多优点具体如下①数据库镜像提供完整或接近完整的数据冗余增强数据保护功能。②发生灾难时数据库镜像可快速使数据库的备用副本提供服务使数据不会丢失提高数据库的可用性。③提高镜像数据库在升级期间的可用性。