第六章 系统故障对策.ppt

上传人(卖家):hyngb9260 文档编号:5791127 上传时间:2023-05-09 格式:PPT 页数:34 大小:351KB
下载 相关 举报
第六章 系统故障对策.ppt_第1页
第1页 / 共34页
第六章 系统故障对策.ppt_第2页
第2页 / 共34页
第六章 系统故障对策.ppt_第3页
第3页 / 共34页
第六章 系统故障对策.ppt_第4页
第4页 / 共34页
第六章 系统故障对策.ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、第六章 系统故障对策6.1 概述q数据库维护的定义 当数据库投入正式运行后,为保障数据库正常、平稳和高效地运行,针对数据库的安装、备份、恢复、压缩、故障排除等的工作就是数据库维护 6.1 概述q数据库维护的任务 日常维护日常维护 对数据库中的数据随时按需要进行增加、删除、插入、修改或更新等操作 定期维护定期维护 周期性地对数据库中的数据和日志文件进行备份、监测、组织和重构等操作 故障维护故障维护 当数据库遭到意外破坏时,把它恢复到破坏前的状态 6.1 概述q数据库维护的原则 DBA随时监控数据库系统(包括服务器等)各部分基本软件、硬件的正常运行。DBA根据不同应用要求定期对数据库进行备份、重组

2、织和重构。当数据库出现故障时,尽快采取正确措施排除故障,必要时进行数据库恢复。数据库的定期维护应尽量在运行事务数量最少的情况下进行。数据库的维护应该根据其运行的状况来定,只做必要的维护。6.1 概述q数据库维护的方法 随时监视系统运行状况,及时处理系统错误。定期压缩数据库。定期清理废旧无用的数据。定期检查数据是否存在损坏,如发生损坏应及时修复。定期进行数据备份。定期备份日志文件。当数据库发生故障或崩溃时,恢复数据库。保证系统数据安全,周期更改用户口令。q 数据库维护的步骤 重建索引。更新统计。删除不使用的文件、释放一些空间。完全备份。产生用户信息表,并为信息表授权。随时监控系统运行状况 监控的

3、主要对象有:用户数据库、数据库日志表(SYSLOGS)以及计费原始数据表等。如果发现占用空间过大,对日志表要进行备份,对其他目标则应扩充空间或清除垃圾数据。保证系统数据安全,周期更改用户口令 为保证系统数据的安全,系统管理员必须依据系统的实际情况,执行一系列的安全保障措施。其中,周期性的更改用户口令是比较常用且十分有效的措施。将上述步骤应用到所有系统和用户数据库。6.1 概述6.2 运行日志 q日志文件的格式和内容 日志文件是记录每一次对数据库进行更新操作的文件,该文件由DBMS自动建立和记录。文件中包括的内容有 事务名称 操作时间 操作类型 修改前数据值以及修改后数据值等 还有事务的开始(B

4、EGIN),提交(COMMIT)及回滚(ROLLBACK)等执行情况记录。q日志文件的格式和内容 不同数据库系统采用的日志文件格式并不完全一样概括起来日志文件主要有两种格式 以记录为单位的日志文件 以数据块为单位的日志文件6.2 运行日志 q 以记录为单位的日志文件,由多个日志记录构成,主要记载事务的开始(BEGIN TRANSACTION)标记、结束(COMMIT或ROLLBACK)标记和事务的所有更新操作。其中每一个日志记录(LOG RECORD)包括以下内容:事务标识(标明是哪个事务)。操作的类型(插入、删除或修改)。操作对象(记录内部标识)。更新前数据的旧值(对插入操作而言,此项为空值

5、)。更新后数据的新值(对删除操作而言,此项为空值)。6.2 运行日志 q以数据块为单位的日志文件,只要某个数据块中有数据被更新,就要将整个块更新前和更新后的内容放入日志文件中。6.2 运行日志 q日志文件的使用 登记日志文件时必须遵循两条原则:登记的次序严格按并发事务执行的时间次序。必须先写日志文件,后写数据库。6.2 运行日志 q日志文件的维护 日志文件的维护工作主要包括周期地更新日志文件、定期备份日志文件、定期删除旧的日志文件。周期地更新日志文件 日志文件可能很庞大,而且不可能无休止的被保存下来,所以需要周期性地用新的日志文件覆盖旧的日志文件。定期备份日志文件 利用日志文件,恢复出现故障的

6、数据库。定期删除旧的日志文件 旧的日志文件保存到一段时间后应当予以清除,以节省磁盘空间。6.2 运行日志 6.3 数据库故障及其排除q故障的种类 数据库主要会遇到4种故障 事务故障 系统故障 介质故障 计算机病毒。q 事务故障事务故障 事务故障指事务的运行没有达到预期的终点就被终止,有两种错误可能造成事务执行失败。非预期故障 非预期故障指不能由应用程序处理的故障,例如,运算溢出、与其他事务形成死锁而被选中撤销事务、违反了某些完整性约束等,但该事务可以在以后的某个时间重新执行。可预期故障 可预期故障指应用程序可以发现事务的故障,并且应用程序可以控制让事务回滚。例如,输入错误等。可预期故障由应用程

7、序处理,非预期故障是不能由应用程序处理的 6.3 数据库故障及其排除q 系统故障系统故障 系统故障常称为软故障(Soft Crash),是指造成系统停止运转的任何事件,使得系统要重新启动。例如,特定类型的硬件错误(CPU故障)、操作系统故障、DBMS代码错误、突然停电等。这类故障影响正在运行的所有事务,但不破坏数据库。这时主存内容,尤其是数据库缓冲区(在内存)中的内容都被丢失,所有运行事务都非正常终止。发生系统故障时,一些尚未完成的事务的结果可能已送入物理数据库,有些已完成的事务可能有一部分甚至全部留在缓冲区,尚未写回到磁盘上的物理数据库中,从而造成数据库可能处于不一致性的状态。6.3 数据库

8、故障及其排除q介质故障介质故障介质故障被称为硬故障(Hard Crash),主要是指外存故障,如磁盘损坏、磁头碰撞,瞬时强磁场干扰等。这类故障将破坏部分甚至整个数据库,并影响正在存取数据的所有事务。这类故障比前两类故障发生的可能性小得多,但破坏性最大 6.3 数据库故障及其排除q计算机病毒计算机病毒计算机病毒是具有破坏性、可以自我复制的计算机程序。计算机病毒可能引起的数据库故障属于系统故障或者是介质故障的范畴,因此数据库一旦被破坏仍要用恢复技术把数据库加以恢复。6.3 数据库故障及其排除q 故障的排除方法 数据库的故障排除方法包括以下几个关键步骤:收集故障信息收集故障信息 当数据库发生故障时,

9、通过检查日志文件和相关数 据获取故障信息。确定故障原因和故障种类确定故障原因和故障种类 故障原因和种类的确定是整个系统故障处理的关键,应该按照以下三个方面进行:是硬件问题还是软件问题?数据库本身是否被破坏?单一问题?多方面问题?综合问题?故障处理方案故障处理方案 根据故障种类和原因确定故障处理的具体方式,例如,修改应用程序、修复或更换硬件设备,必要时进行数据库的恢复工作。6.3 数据库故障及其排除6.4 数据库备份与恢复q备份数据库就是将数据库中的数据和与数据库的正常运行有关的信息保存起来,以备恢复数据库时使用。q 数据库备份的原则数据库备份的原则 在数据库系统处于空闲的时候做海量备份 备份时

10、间的间隔设置可以根据系统本身的数据量和数据重要的程度来设置,比如一个月做一次海量备份。然后在数据库系统处于比较空闲的时候做增量备份,比如一周备份一次。定期执行备份 设置一个备份时间表并严格执行,同时更新日志。经常做日志备份 如果数据很重要,而且数据的变化频度又非常快,可以设置较短的时间备份一次,这个主要由数据重要的程度和允许丢失数据的时间长短来确定。备份文件保存到多种介质和多个地点 对于重要的数据,要将备份文件保存到多种介质和多个地点。这样,某一处备份文件损坏了的话,还可以有其他的备份文件可用。6.4 数据库备份与恢复q 数据库备份的方式数据库备份的方式 数据库备份的方式按备份期间有无事务的运

11、行可分为静态备份和动态备份:静态备份是在系统中无运行事务时进行的备份操作。即备份开始的时刻,数据库处于一致性状态,而备份期间不允许(或不存在)对数据库的任何存取、修改活动。静态备份得到的是一个数据一致性的副本。动态备份是指备份期间允许对数据库进行存取或修改,即备份和用户事务可以并发执行。动态备份和静态备份各有优劣。静态备份能够保证副本上的数据的一致性。动态备份不用等待正在运行的用户事务结束,也不会影响新事务的运行。6.4 数据库备份与恢复q 数据库备份的方式数据库备份的方式 数据库备份的方式按所备份的内容则可分为海量备份和增量备份:海量备份是将数据库中的全部信息进行备份,它是恢复的基线。在进行

12、海量备份时,不但备份数据库的数据文件、日志文件,而且还备份文件的存储位置信息以及数据库中的全部对象。增量备份是备份从最近的海量备份之后对数据所做的修改。它以海量备份为基准点,备份海量备份之后发生变化了的数据文件、日志文件以及数据库中其他被修改了的对象。增量备份也备份其过程中用户对数据库进行的操作。从数据备份的角度看,增量备份比海量备份需要的时间短,备份的数据量小。从恢复角度看,使用海量备份得到的后备副本进行恢复一般来说会方便些。但如果数据库很大,事务处理又十分频繁,则增量备份方式更实用更有效。6.4 数据库备份与恢复q数据库恢复策略数据库恢复策略数据库恢复的任务是把数据库从错误状态恢复到某一已

13、知的正确状态(亦称为一致状态或完整状态)。6.4 数据库备份与恢复q 数据库恢复的一般过程数据库恢复的一般过程 为实现数据库中的数据恢复,必须将数据备份和日志文件相为实现数据库中的数据恢复,必须将数据备份和日志文件相结合才能完成。一般情况下,当数据库遭到破坏后,可以先结合才能完成。一般情况下,当数据库遭到破坏后,可以先用后备副本,将数据库恢复到复制次副本时的一致状态,再用后备副本,将数据库恢复到复制次副本时的一致状态,再利用日志文件将复制后至破坏时刻所更改的数据全部恢复,利用日志文件将复制后至破坏时刻所更改的数据全部恢复,其一般过程是:其一般过程是:做数据复制工作,将数据库后备副本复制到数据库

14、系统中。做数据复制工作,将数据库后备副本复制到数据库系统中。做事务恢复第一步,检查日志文件,确定哪些事务已经执行结做事务恢复第一步,检查日志文件,确定哪些事务已经执行结束,哪些尚未结束。束,哪些尚未结束。做事务恢复第二步,对尚未结束的事务按照日志记录的时间顺做事务恢复第二步,对尚未结束的事务按照日志记录的时间顺序执行撤销处理,对已经执行结束的事务按日志的记录先后次序执行撤销处理,对已经执行结束的事务按日志的记录先后次序重做。序重做。6.4 数据库备份与恢复q 不同种类故障恢复的步骤不同种类故障恢复的步骤 事务故障的恢复 事务故障是指事务在运行至正常终止点前被中止,这时恢复数据库应利用日志文件撤

15、消(UNDO)此事务已对数据库进行的修改。事务故障的恢复是由系统自动完成的,对用户是透明的。数据库的恢复步骤是:反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。对该事务的更新操作执行逆操作。即将日志记录中“更新前的值”写入数据库。这样,如果记录中是插入操作,则相当于做删除操作(因此时“更新前的值”为空)。若记录中是删除操作,则做插入操作,若是修改操作,则相当于用修改前值代替修改后值。继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。如此处理下去,直至读到此事务的开始标记,事务故障恢复就完成了。6.4 数据库备份与恢复q 不同种类故障恢复的步骤不同种类故障恢复的步

16、骤 系统故障的恢复 系统故障造成数据库不一致状态的原因有两个:一是未完成事务对数据库的更新可能已写入数据库,二是已提交事务对数据库的更新可能还留在缓冲区没来得及写入数据库。因此恢复操作就是要撤消故障发生时未完成的事务,重做已完成的事务。系统故障的恢复是由系统在重新启动时自动完成的,不需要用户干预。为保证数据一致性,恢复子系统必须在系统重新启动时让所有非正常终止的事务回滚,强行撤销(UNDO)所有未完成事务。重做(REDO)所有已提交的事务,以将数据库真正恢复到一致状态。6.4 数据库备份与恢复q 不同种类故障恢复的步骤不同种类故障恢复的步骤 系统的恢复步骤是:正向扫描日志文件(即从头扫描日志文

17、件),找出在故障发生前已经提交事务(这些事务既有BEGIN TRANSACTION记录,也有COMMIT记录),将其事务标识记入重做(REDO)队列。同时找出故障发生时尚未完成的事务(这些事务只有BEGIN TRANSACTION记录,无相应的COMMIT记录),将其事务标识记入撤消队列。对撤销队列中的各个事务进行撤销(UNDO)处理。进行UNDO处理的方法是,反向扫描日志文件,对每个UNDO事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库。对重做队列中的各个事务进行重做(REDO)处理。进行REDO处理的方法是:正向扫描日志文件,对每个REDO事务重新执行日志文件登记的操作。

18、即将日志记录中“更新后的值”写入数据库。6.4 数据库备份与恢复q 不同种类故障恢复的步骤不同种类故障恢复的步骤 介质故障的恢复 发生介质故障后,磁盘上的物理数据和日志文件被破坏,这是最严重的一种故障,恢复方法是重装数据库,然后重做已完成的事务。具体地说就是:装入最新的数据库后备副本(离故障发生时刻最近的备份副本),使数据库恢复到最近一次备份时的一致性状态。对于动态备份的数据库副本,还需同时装入备份开始时刻的日志文件副本,利用恢复系统故障的方法(即REDO+UNDO),才能将数据库恢复到一致性状态。装入相应的日志文件副本(转储结束时刻的日志文件副本),重做已完成的事务。即:首先扫描日志文件,找

19、出故障发生时已提交的事务的标识,将其记入重做队列。然后正向扫描日志文件,对重做队列中的所有事务进行重做处理。即将日志记录中“更新后的值”写入数据库。这样就可以将数据库恢复至故障前某一时刻的一致状态了。介质故障的恢复需要DBA介入。但DBA只需要重装最近备份的数据库副本和有关的各日志文件副本,然后执行系统提供的恢复命令即可,具体的恢复操作仍由DBMS完成。6.4 数据库备份与恢复q 具有检查点的数据库恢复技术具有检查点的数据库恢复技术 检查点检查点 检查点技术在日志文件中增加一类新的记录-检查点记录(CHECKPOINT),增加一个重新开始文件,并使恢复子系统在登录日志文件期间动态地维护日志。其

20、中,重新开始文件用来记录各个检查点记录在日志文件中的地址,检查点记录的内容包括建立检查点时刻所有正在执行的事务清单和这些事务最近一个日志记录的地址。而动态维护日志文件的方法则是周期性地执行如下操作:u将当前日志缓冲中的所有日志记录写入磁盘的日志文件上。u在日志文件中写入一个检查点记录。u将当前数据缓冲的所有数据记录写入磁盘的数据库中。u把检查点记录在日志文件中的地址写入一个重新开始文件。6.4 数据库备份与恢复q检查点技术的优点 使用检查点方法可以改善数据库恢复效率。如图7-1所示的5个事务T1T5,可以分为三种不同的情况进行操作:在检查点之前就已经提交的事务T1:事务T1对数据库所做的修改早

21、就写入数据库,其写入时间是在这个检查点建立之前或在这个检查点建立之时。所以,在进行恢复处理时,没有必要对事务T1重新执行。系统发生故障时刻之前,检查点之后完成的事务T2和T4:为避免因有些缓冲区中的数据没有来得及写入数据库而造成数据不一致,事务T2和T4必须重新执行(REDO)。系统发生故障时刻还没有完成的事务T3和T5:为避免因在故障发生前已将部分修改数据写入数据库而造成数据不一致,事务T3和T5必须撤销(UNDO)。6.4 数据库备份与恢复图6-1 检查点机制恢复子系统采取的不同策略q 使用检查点方法进行恢复的步骤 在重新开始文件中找到最后一个检查点记录在日志文件中的地址,由该地址在日志文

22、件中找到最后一个检查点记录。由该检查点记录得到检查点建立时刻所有正在执行的事务清单ACTIVE-LIST。该清单有两列:需要执行UNDO操作的事务集合(UNDO-LIST)和需要执行REDO操作的事务集合(REDO-LIST)。把ACTIVE-LIST暂时放入UNDO-LIST队列,REDO队列暂为空。从检查点开始正向扫描日志文件,如有新开始的事务Ti,把Ti暂时放入UNDO-LIST队列。如有提交的事务Tj,把Tj从UNDO-LIST队列移到REDO-LIST队列,直到日志文件结束。对UNDO-LIST中的每个事务执行UNDO操作,对REDO-LIST中的每个事务执行REDO操作。6.4 数

23、据库备份与恢复q数据库的镜像功能数据库的镜像功能 数据库镜像数据库镜像 根据DBA的要求,DBMS自动地把整个数据库或其中的关键数据复制到另一个磁盘上,那么这个复制的拷贝就是原数据库(也称为主数据库)的镜像(或镜像数据库)。每当主数据库更新时,DBMS自动把更新后的数据复制过去,即DBMS自动保证镜像数据与主数据的一致性。这样,一旦出现介质故障,可由镜像磁盘继续提供使用,同时DBMS自动利用镜像磁盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本。6.4 数据库备份与恢复q数据库的镜像功能数据库的镜像功能 数据库镜像的优点数据库镜像的优点 增强数据保护功能 数据库镜像提供完整或接近完整的数据冗余。提高数据库的可用性 发生故障时,可使用镜像数据而不会发生数据丢失。6.4 数据库备份与恢复

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 待归类文档
版权提示 | 免责声明

1,本文(第六章 系统故障对策.ppt)为本站会员(hyngb9260)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|