跳到主要内容

任务一 数据库备份概述

知识点​

1. 什么是数据库备份和恢复?​

答:数据库备份是指将数据库中的结构、对象和数据导出,生成副本。数据库的恢复是指在数据库遭到破坏或需求改变时,将数据库还原到改变以前的状态。数据备份与恢复主要用于保护数据库中的关键数据,是确保数据可靠性、精确性和高效性的重要技术手段,也是数据库管理最常用的操作之一。

2. 数据库系统运行过程中常见的故障有哪些?​

答:从数据库恢复的角度来看,数据库系统运行过程中常见的故障分为四类:

  1. 事务故障:事务没有到达预期的终点,如运算溢出、并发事务死锁被撤销、违反完整性限制等
  2. 系统故障:造成系统停止运转的事件,如CPU故障、操作系统故障、突然停电等,影响所有事务但不破坏数据库
  3. 介质故障:外存故障,如硬盘损坏、磁头碰撞、瞬时强磁场干扰等,破坏整个或部分数据库,发生可能性小但破坏性最大
  4. 计算机病毒:具有破坏性的、可自我复制的计算机程序,是数据库的主要威胁之一

3. 什么是事务故障?如何恢复?​

答:事务故障有的是可以通过事务程序本身发现的,有的是非预期的,不能由事务程序处理,如运算溢出、并发事务发生死锁而被选中撤销、违反了某些完整性限制等。

事务故障意味着事务没有到达预期的终点,数据库可能处于不正确状态。恢复事务要在不影响其他事务运行的情况下强行回滚该事务,即撤销该事务已经做出的任何对数据库的修改,使得该事务好像根本没有取消一样。这类恢复操作称为事务撤销。

4. 什么是系统故障?如何恢复?​

答:系统故障是指造成系统停止运转的任何事件,使得系统需要重新启动,如CPU故障、操作系统故障、DBMS代码错误、突然停电等。这类故障会影响正在进行的所有事务,但不会破坏数据库。主存内容尤其是数据缓冲池中的内容都会丢失,所有运行事务非正常终止。

恢复方法:恢复子系统必须在系统重新启动时让所有非正常终止的事务回滚,强行撤销所有未完成事务,并且重做所有已经提交的事务,以将数据恢复到一致状态。

5. 什么是介质故障?有什么特点?​

答:介质故障也称为硬故障,是指外存故障,如硬盘损坏、磁头碰撞、瞬时强磁场干扰等。这类故障将破坏整个数据库或部分数据库,并影响正在存取相关数据的所有事务。介质故障比事务故障和系统故障发生的可能性小得多,但破坏性更大。恢复介质故障通常需要使用后备副本和日志文件。

6. 各类故障对数据库的影响有哪两种?​

答:各类故障对数据库的影响有两种:

  1. 数据库本身被破坏:如介质故障、计算机病毒破坏,需要使用后备副本恢复
  2. 数据库没有被破坏,但数据可能不正确:如事务故障、系统故障,这是因为事务的运行被非正常终止,需要通过日志文件恢复

7. 数据库恢复技术的核心是什么?有哪些方法?​

答:数据库恢复技术的核心是建立冗余数据。建立冗余数据的方法有两种:

  • 数据备份:定期将数据库复制到另一个磁盘或其他存储介质上保存起来。备用的数据称为后备副本,在数据库遭到破坏后可以将后备副本重新载入
  • 登记日志文件:记录事务对数据库的更新操作,用于在恢复时确定哪些操作需要重做或撤销

8. 数据备份分为哪两种?有什么区别?​

答:数据备份分为静态备份和动态备份:

  • 静态备份:要求一切事务必须在备份前结束,新的事务必须在备份结束后开始,即备份期间不允许对数据库进行存取或修改操作
  • 动态备份:对数据库中的数据操作无严格限制,备份和事务可并发进行

9. 日志文件的作用是什么?撰写时应遵循什么原则?​

答:日志文件用于记录事务对数据库的更新操作,以记录或数据块为单位。为了保证数据库的可恢复性,撰写日志文件时应遵循两条原则:

  1. 撰写的次序严格按照并发事务执行的时间次序
  2. 应先写日志文件后写数据库

有了日志文件,即使没有完成写数据库操作,也不会影响数据库的正确性。

10. 按备份时服务器是否在线,备份分为哪几类?​

答:按备份时服务器是否在线,备份分为三类:

  • 热备份:数据库正处于运行状态,通过数据库的日志文件进行备份
  • 温备份:数据库服务正常运行,但数据只能读不能写
  • 冷备份:数据库处于关闭状态,能够较好地保证数据库的完整性

11. 按备份的内容分类,备份分为哪两类?​

答:按备份的内容分为:

  • 物理备份:直接复制数据库文件进行备份。速度快,但占用存储空间较大
  • 逻辑备份:使用软件从数据库中提取数据并将结果写到一个文件上,文件格式一般与原数据库的文件格式不同,只是原数据库中数据内容的一个映像。MYSQLDUMP就是逻辑备份工具

12. 按备份涉及的数据范围分类,备份分为哪几类?​

答:按备份涉及的数据范围分为三类:

  • 完整备份:备份整个数据库,包括用户表、系统表、索引、视图和存储过程等所有数据库对象。这是任何备份策略中都必须完成的类型,其他备份类型都依赖于完整备份
  • 增量备份:对数据库从上一次完整备份或最近一次增量备份以来改变的内容进行的备份
  • 差异备份:对最近一次完整备份以后发生变化的数据进行的备份

13. 完整备份、增量备份和差异备份有什么区别?​

答:

  • 完整备份:备份所有数据,耗时最长,占用空间最大,是其他备份的基础
  • 增量备份:只备份自上次备份(完整或增量)以来变化的数据,备份速度最快,占用空间最小,但恢复时需要完整备份和所有增量备份
  • 差异备份:备份自上次完整备份以来变化的数据,备份速度和空间介于完整备份和增量备份之间,恢复时只需要完整备份和最近一次差异备份

14. 数据库备份的时机有哪些?​

答:备份是十分耗费时间和资源的操作,通常不会频繁进行。备份周期主要取决于可接受的数据丢失量和数据库活动的频繁程度。通常在以下事件后备份数据库:

  1. 创建数据库或为数据库填充数据
  2. 创建索引
  3. 清理事务日志
  4. 执行无日志操作