全国计算机等级考试三级数据库技术(十一)

第十一章_故障管理

考点分析

◆在考试中一般情况下会出现在选择题、填空题部分。
◆常考知识点有:
1.掌握故障类型及相应的解决方法
2.掌握数据转储与日志文件的相关内容
3.掌握RAID的冗余技术和服务器容错技术
4.熟悉数据库镜像与数据库容灾

11.1 故障管理概述

一、故障类型及其解决方法
1.在数据库系统中大致存在四类故障:事务内部的故障、系统故障、介质故障、计算机病毒故障。
01.事务内部的故障:分为预期和非预期,其中大部分是非预期的
02.系统故障:又称软故障,会影响正在运行的所有事务。
03.介质故障:又称硬故障。可能会导致物理存储设备损坏。
04.计算机病毒故障:是一种恶意的计算机程序,会破坏数据库系统。

四类故障各有不同.但其对数据库的影响有两种.即对数据库本身的破坏或是对数据库中数据的破坏。
其恢复的基本原理概括为:冗余,数据库中所有数据都可以根据存储在别处的冗余数据来重建。
2.内部事务的故障
3.系统故障
4.介质故障
描述:介质故障又叫硬故障。主要指数据库在运行过程中,由于磁头碰撞、磁盘损坏、强磁干扰、天灾人祸等,使得数据库中的数据部分或全部丢失的一类故障。介质故障的容错对策有两种方式:软件容错和硬件容错。
A.硬件容错
a.硬件容错方法可以保证介质故障下的数据库能够完全恢复
b.硬件容错目前常用的方法是采用双物理存储设备,如双硬盘镜像;
c.在较高级别的硬件容错方案中需要使用专用的存储设备。
d.硬件容错另一种方法是设计两套相同的数据库系统.通过数据库软件机制,同步变化数据,两套系统空间上有一定的距离.
5.计算机病毒故障
描述:计算机病毒是一种恶意的计算机程序,它可以像病毒一样繁殖和传插,在对计算机系统造成破坏的同时也可能对数据库系统造成破坏(破坏方式以破坏数据库文件为主) .
防止计算机病毒破坏的方法如下所示:
使用防火墙软件防止病毒侵入
对于已感染病毒的数据库文件使用杀毒软件进行查杀
用数据库备份文件,以软件容错方式恢复数据库文件。

二、数据库恢复技术概述
数据库恢复概念:在故障发生时能够利用存储在系统其它地方的冗余数据来重建数据库中被破坏的或不正确的数据,把数据库从错误状态恢复到某一已知的正确状态,从而重新建立一个完整的数据库。
恢复机制涉及的两个问题是:
①如何建立冗余数据;
②如何利用这些冗余数据实施数据库恢复。

建立冗余数据的技术:
数据备份、登记日志文件、数据库复制、数据库镜像、为段设立保存点、使用后备段与现行页表来支持对段的保存。

11.2 数据转储

一、数据转储的基本概念
1.数据转储概念:指数据库理员(DBA)或数据库管理系统定期复制数据库,并将复制得到的数据存放到其他介质中的过程,故数据转储也称数据备份。
2.数据库管理员可以在数据库系统发生故障后,利用这些副本恢复数据库,但只能恢复到转储时的状态,想要恢复到故障之前的状态需要参考日志文件。
在这里插入图片描述

3.引入日志文件再加上动态转储就可将数据库恢复到某正确的时刻。

二、静态转储和动态转储
数据转储分为静态转储和动态转储,具体内容如下:
1.静态转储
(1)在静态转储过程中系统不能运行其他事务, 不允许在转储期间对数据库有任何的存取、修改活动,即转储前后系统必须处于一个一致性的状态。
(2)静态转储虽然简单。但转储操作必须等旧事物的结束,而新事物也必须等待转储操作的完成,转储操作和事务是互斥的,一个时间段内要么转储要么运行事务,因此会降低数据库的可用性。
2.动态转储
(1)动态转储是指允许转储操作和用户事务并发执行.即允许在转储过程中对数据库进行存取和修改操作。
(2)动态传储中可能存在事务对数据库中的数据进行修改操作,它不能保证转储数据的一致性,因为转储文件只保存了传储期间某一刻的数据,若下一时刻事务修改该数据,这个变动的数据并不会反映在转储文件上。
(3)转储文件上的数据并非是某个时间点的数据,而可能是多个时间点的混合数据。
三、数据转储机制
1.数据转储机制
数据转储机制的3种转储方式如下图所示:
(1)完全转储
完全转储是对数据库中所有数据进行转储。这种转储方式需占用较多的时间和空间,但在系统失败时恢复时间短。
(2)增量转储
只复制上次转储后发生变化的文件或救据块。增量转储所需的时间和空间都比较短但增量转储数据只能和完全转储配合,才能对数据库进行恢复,增量转储恢复时问比仅使用完全转储要长。
(3)差量转储
对最近一次数据库完全转储以来发生的数据变化进行转储,差量转储也称差异转绪,它和完全转储相比速度快,占用较小的空间;和增量转储相比.速度慢占用空间多,恢复速度比增量转储快。
2.数据转储机制
完全转储、增量转储和差量转储3种数据转储机制的特点进行了比较,如下表所示。

完全转储 增量转储 差量转储
时间和空间使用 最长 最少 少于完全转储
转储速度 最慢 最快 快于完全转储
恢复速度 最快 最慢 快于增量转储

3.多种转储方式结合使用
01:仅使用完全转储
仅使用完全转储会产生大量数据传移。占用时间和空间较多,对数据库性能可能产生校大影响.这种方法代价较大。
02:完全转储加增量转储
完全转储加增量传储是每隔一段时间进行一次完全转储.在完全特储中间执行多次增量传储,避免了全部使用完全传储所导致的大量数据移动。
03:完全转储加差量转储
由于完全加增量方法中数据恢复很困难。所以有了完全转储加差量传储方法。尽管差量转储比增量传储移动和存储更多的数据,
但恢复操作简单。恢复时间也短。

11.3 日志文件

一、日志文件的概念
日志文件记录每个事务对数据库的修改操作,数据库系统在运行过程中,将所有事务的修改操作登记到日志文件中。
日志文件的具体作用如下。
1.事务故障恢复和系统故障恢复必须使用日志文件
2.在动态转储方式中必须建立日志文件
3.在静态转储方式中也可使用日志文件

1.事务故障恢复和系统故障恢复必须使用日志文件
(1)故障恢复的两个基本操作。利用日志文件进行故隔恢复时有两个基本操作: UNDO(T)和REDO(T).
故障恢复的两个基本操作

扫描二维码关注公众号,回复: 16486592 查看本文章

(2)事务故障恢复
事务是一个完整的工作单元,事务中的工作要么全做,要么全不做,否则数据库会出现不一样的状态,因此事务故障恢复时只需把相应的事务撤销操作UNDO(Ti)即可。
2.系统故障恢复
系统故障时受影响的可能是正在运行的多个事务。需要分情况讨论:
(1)撤销
事务已经开始但还没提交,即在日志文件中有开始记录BEGIN TRANSACTION,而没有COMMIT或者ROLLBACK。
(2)重做
事务已经完成事务的所有操作井提交,在日志文件中既有BEGIN TRANSACTION记录,又有COMMIT记录。
①正向扫描日志文件,找到系统故障前发生的所有事务,如果该事务没有完成,将其事务标记加入撤销队列:若该事务完成将其事务标记加入重做队列。
②对撤销队列中的所有事务做掀销操作UNDO.
③对重做队列中的所有事务做重做操作REDO,
2.在动态转储方式中必须建立日志文件
01.在动态转储中,利用转储文件只能将故据库恢复到转储过程中的某个状态,且转储文件中的数据可能处于不一致状态。
02.只有动态转储和日志文件综合使用,才能将数据库恢复一致状态,或将数据库恢复到故障发生前的状态,从而有效地恢复数据库。
3.在静态转储方式中也可使用日志文件
(1)在静态转储方式中,当数据库毁坏后可使用转储文件把数据库恢复到转储结束时刻的状态,然后利用日志文件,把已经完成的事务进行重做处理,对故障发生时尚未完成的事务进行撤销处理。
(2)在静态转储方式中使用日志文件恢复的流程如图所示。
利用日志文件恢复

二、日志文件的格式与内容
1.不同的数据库系统采用的日志文件格式并不完全一样,概括起来与两种:以记录为单位的日志文件和以数据块为单位的日志文件。
01以记录为单位的日志文件
包括每个事务的开始标记(BEIN TRANSACTION)、每个事务的结束标记(包括事务提交记录或事务终止记录),以及 每个事务的所有修改操作(位于开始标记和结束标记间)。
02以数据块为单位的日志文件
将更新前的整个块和更新后的整个块全都放在了日志文件中。所以。日志记录的内容只需包括事务标识和被更新的数据块,不需要包块操作类型和操作对象等信息。
2.日志文件的组成
日志文件的组成
三、登记日志文件的原则
为保证数据库是可恢复的,登录日志文件必须遵循两条原则,如图所示:
在这里插入图片描述

四、检查点
1.检查点的作用
在利用日志文件恢复数据库数据的过程中,恢复子系统需要搜索日志,检查所有日志记录,把故障发生时没有提交的事务撤销,把已经提交的事务重做。检查点最大限度地减少了数据库完全恢复时所必须执行的日志部分,改善恢复效率。
2.检查点的引入
(1)检查点的引入是在日志文件中增加一类新的记录 ---- 检查点记录 ,增加一个“重新开始文件”(用来记录各个检查点记录在日志文件中的地址) , 并让恢复子系统在登录日志文件期间动态的维护日志。检查点记录内容如下:
01.建立检查点时刻所有正在执行的事务清单
02.这些事务最近一个日志记录的地址。

(2)动态维护日志文件的步骤
动态维护日志文件的方法是周期性地执行如下操作:建立检查点、保存数据库状态。具体步和如下所示:
A.将当前日志缓冲中的所有日志记录写入磁盘的日志文件上。
B.在日志文件中写入一个检查点记录。
C.将当前数据缓的所有数据记录写入磁盘的数据库中。
D.把检查点记录在日志文件中的地址写入一个“重新开始文件”。
恢复子系统可以定期或不定期地检直点来保存数据库的状态。检查点可以按照预定的一个时间间隔建立。
3.基于检查点的恢复步骤
基于检查点的恢复步骤

11.4 硬件容错方案

一、硬件容错方案概述
1.为了保证数据库系统的连续运行,仅仅依靠数据库系统软件不能满足要求。因此需要从硬件级别从数据库系统进行保护。
2.硬件容错的方案需要从数据库系统运行所需要的各种环境出发,分析支撑数据库系统运行的环节。例如机房的电力、机房空调环境、网络、存储、服务器、综合考虑,否则某一个环节出现故障都可能导致数据库系统不可运行。
二、RAID系统
1.描述:廉价冗余磁盘阵列(RAID) , 它是由多块磁盘构成的一个整体 ,但这并不等于是简单的磁盘容量叠加,而是相对于其他存储设备在容量、管理、性能、可靠性和可用性上都有了进一步提高。
2.特点:当从这些磁盘中抽出一块来,利用其他磁盘上的信息,可以恢复出这块磁盘的信息。
RAID系统可以连接在主机系统上,作为存储数据的介质,具有设备虚拟化的能力。RAID子系统图如图所示。
RAID子系统图

3.RAID的两个冗余技术
(1)镜像冗余
镜像冗余就是把所有的数据复制到其他的设备上或其他地方。
特点:实现起来很简单,但是额外开销很大,需要更多的磁盘、控制器和电缆。
(2)校验冗余
检验冗余就是通过对成员磁盘上的数据执行异或[XOR)操作,得到其校验值.并存放在另外的校验磁盘上。
特点:实现起来很复杂,但是它占用的磁盘比镜像冗余少。
4.常见的RAID级别和特点如图所示
常见的RAID级别和特点
5.软RAID和硬RAID
在这里插入图片描述

三、服务器容错技术
1.引入服务器容错原因
(1)RAID技术可以防止磁盘损坏导致数据库系统异常停止工作。
(2)服务器容错可以防止服务器硬件故障或操作系统软件出现故障造成数据库系统的异常,导致数据库系统不能对外提供服务。
(3)服务器容错技术就是为了解决服务器硬件异常问题出现的解决方案
2.服务器容错技术简介
服务器容错技术一般是采用两台相同的服务器,两台服务器共享存储设备,其中一台服务器运行数据库系统,数据库数据存储在存储设备中。
3.其他服务器容错技术简介
(1)在硬件圾别
一些小型机为了提供硬件级别的高稳定性,采用了自行设计制造的专用软硬件构架。
例如:当CPU或内存出现硬件故障时,如果操作系统内核并未运行在此CPU或内存上,操作系统内核可以将任务直接分配到正常的CPU或内存上,而后关闭这些CPU或内存,保证系统运行稳定
(2)在软件圾别
一些大型的数据库软件提供了专用的服务器级别容错技术,
例如: Oracle数据库提供了RAC架构。在Oracle RAC架构中,数据库可以同时运行在多台服务器上,这些服务器共享一个存储。

四、数据库镜像与数据库容灾
1.引入数据库镜像的原因
随着企业信息化程度的不断加深,企业日常工作对服务的依赖性也在不断增加。因此,企业对数据库服务器的可靠性、稳定性提出了更高的要求。为了避免介质故障对数据库可用性的影响。许多数据库管理系统都提供了数据库镜像功能。
2.数据库镜像简介
(1)数据库镜像是一种用于提高数据库可用性的解决方案,它根据DBA的要求,自动把整个数据库或其中的关键数据复制到另一个碰盘上。不同的磁盘上有不同的数据库服务器,他们通过相应的软硬件技术手段,实现应用和数据的相互备份。
(2)数据库镜像的优点
01.发生灾难时,数据库镜像可快速使数据库的备用副本提供服务,使数据不会丢失,提高数据库的可用性。
02.数据库镜像提供完整或接近完整的数据冗余,增强数据保护功能。
03.提高镜像数据库在升级期间的可用性。
3.数据库镜像分类
1.数据库镜像的基本架构分为:双机互备援模式和双机热备份模式。
(1)双机互备援模式
双机互备援就是两台主机均为工作机,正常情况下.两台工作机均为
信息系统提供支持,并互相监视对方的运行情况。当一台主机出现异常,另一主机则主动接管异常机的工作,从而保证信息系统能够不间断的运行。但正常运行的主机负载会有所增加。
(2)双机热备份模式
双机热备份就是一台主机为工作机,另一台主机为备份机。在系统正常运行情况下,工作机为信息系统提供支持,备份机监视工作机的运行情况。
2.双机互备援模式和双机热备份模式的切换时机一致,内容如下所示
01.系统软件或应用软件造成服务器宕机。
02.服务器没有宕机,但系统软件或应用软件工作不正常。
03.SCSI卡损坏。造成服务器与磁盘阵列无法存取数据。
04.服务器内硬件损坏,造成服务器宕机
05.服务器不正常关闭。

4.数据库镜像工作方式
在这里插入图片描述

  1. SQLServer数据库镜像简介
    (1)SQL Server数据库镜像是将数据库事务处理从SQL Server数据库移动到不同SQL Server环境中的另外一个SQL Server数据库中。
    (2)镜像的复制是一个备用的复制。不能直接访问,只用来进行错误恢复。
    (3)数据库镜像会话方式
    01.异步操作:事务不需要等待镜像服务器将日志写入磁盘便可提交,最大程度地提高性能。
    02.同步操作:事务将在伙伴双方处提交,但会延长事务滯后时间。
    恢复
    (4)有两种镜像运行模式:高安全性模式和运行模式。
    高安全性模式:
    ●支持同步操作.也就是“高性能模式”。
    ●当会话开始时 ,镜像服务器将使镜像数据库尽快与主体数据库同步。同步数据库之后,事务将在伙伴双方处提交,会延长事务滞后时间。
    (5)数据库镜像提供了3种实现方式:高可用性、高保护、高性能。
    01.高可用性:两台服务器上同步事务写入,井支持自动错误恢复。
    02.高保护:两台服务器上同步事务写入,但是错误恢复是手工的。
    03.高性能:两台服务器上的写入可以不同步的,因此在性能上有所提高,只允许手工的错误改复。

猜你喜欢

转载自blog.csdn.net/weixin_47288291/article/details/123519588