四级数据库工程师笔记

发布时间 : 星期六 文章四级数据库工程师笔记更新完毕开始阅读

1、指数据库在运行过程中,由于磁盘损坏、天灾人祸等情况,使用数据库中的数据部分或全部丢失的一类故障;

2、介质故障的容错对策采用两种方式: (1)软件容错:

是使用数据库备份及事务日志文件,通过恢复技术,恢复数据库到备份结束时的状态; (2)硬件容错:

目前常用的方法是采用双物理存储设备,最完全的方式是设计两套相同的数据库系统同时工作,数据的变化也同步,空间有一定距离,这样当发生损坏性的自然现象时,由于两套数据库系统具有空间距离,因此同时发生破坏的概率几乎为零,达到数据库的完全安全。

11.2.4 计算机病毒故障

1、计算机病毒是一种恶意的计算机程序,在对计算机系统造成破坏的同时也可对数据库系统造成破坏(主要破坏数据库文件);

2、可以通过设立防火墙预防,杀毒软件查杀已感染的文件和数据库备份来解决;

11.3 数据库恢复技术概述

1、 恢复机制涉及两个关键问题:

(1) 如何建立冗余数据;

(2) 如何利用这些冗余数据实施数据库恢复。

2、 最常用的建立冗余数据技术是数据备份和登录日志文件,他们通常是结合起来使用的。

11.4 数据转储

1、 数据转储—指数据库管理员(DBA)定期拷贝数据库,并将拷贝得到的数据库放到其他介质中的

过程。

2、 DBA可在数据库系统发生故障后,利用这些副本恢复数据库,但此时恢复的数据库只能回到转储

时的状态,要想恢复到故障前的状态,需要参考日志文件,重新运行转储后到故障前的所有事务才可以;

3、 静态转储和动态转储

(1) 静态转储:在静态转储过程中系统不能运行其他事务,不允许在转储期间对数据库的任

何存取、修改活动。

(2) 动态转储:允许转储操作和用户事务并发执行;

(3) 静态转储虽然保证了数据的有效性,但却是以降低数据库的可用性为代价;而动态转储

虽然提高了数据库的可用性,但数据库的有效性却得不到保证。

(4) 为了能保证数据的有效性,而又不降低可用性,就需要引入日志文件,用它记录转储期

- 49 -

间各事务对数据库的修改活动,然后使用动态转储的备份副本加上日志文件就可将数据库恢复到某一时刻的正确状态。

3、 几种数据转储机制

(1) 完全转储:对所有数据库进行备份,需占用较多时间和空间,可作为系统失败时恢复数

据库的基础;

(2) 增量转储:只复制上次备份后变化的文件;

(3) 差量转储:对最近一次数据库完全备份以来发生的数据变化进行备份,优点是速度快,

占用较少的时间和空间。

4、 多种转储方法结合使用

(1) 仅采用完全转储; (2) 完全转储加增量转储; (3) 完全转储加差量转储

11.5 登记日志文件

11.5.1 日志文件的格式和内容

日志文件是记录每个事务对数据库更新操作的文件,数据库系统在运行过程中,DBMS负责将所有事务的更新操作登记到日志文件中,也就是说日志文件是系统自动维护的。

1、以记录为单位的日志文件:其内容包括每个事务的开始标记、结束标记和所有更新操作;每个日志记录的内容包括:事务标识、操作类型、操作对象、更新前数据的旧值,和更新后数据的新值; 2、数据块为单位的日志文件:将更新前的整个数据块和更新后的整个数据块全部放在了日志文件中; 11.5.2 日志文件的作用

1、事务故障恢复和系统故障恢复必须使用日志文件 (1)故障恢复的两个基本操作:UNDO和REDO

(A) UNDO的作用是撤销事务,具体步骤:

(a) 反向扫描日志文件,找到需要撤销的事务的更新操作; (b) 对事务的更新操作执行逆操作;

(c) 继续反向查找该事务的其他更新操作,并执行相应的逆操作; (d) 重复执行步骤(C),直至遇到该事务开始记录。 (B) REDO的作用是重做事务,具体步骤:

(a) 正向扫描日志文件,找到需要重做的事务的更新操作;

(b) 对事务重新执行日志文件登记的操作,即将日志文件中“更新后的值”写入数据库; (c) 继续正向查找该事务的其他更新操作,并重新执行,将日志文件中“更新后的值”

- 50 -

联系合同范文客服:xxxxx#qq.com(#替换为@)