数据库第13章 数据库恢复技术
- 格式:doc
- 大小:805.50 KB
- 文档页数:14
数据库系统概论复习资料:第一章:一选择题:1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
在这几个阶段中,数据独立性最高的是阶段。
A.数据库系统 B.文件系统 C.人工管理 D.数据项管理答案:A2.数据库的概念模型独立于。
A.具体的机器和DBMS B.E-R图 C.信息世界 D.现实世界答案:A3.数据库的基本特点是。
A.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余大,易移植 (4)统一管理和控制B.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制C.(1)数据可以共享(或数据结构化) (2)数据互换性 (3)数据冗余小,易扩充 (4)统一管理和控制D.(1)数据非结构化 (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制答案:B4. 是存储在计算机内有结构的数据的集合。
A.数据库系统 B.数据库 C.数据库管理系统 D.数据结构答案:B5.数据库中存储的是。
A.数据 B.数据模型 C.数据以及数据之间的联系 D.信息答案:C6. 数据库中,数据的物理独立性是指。
A.数据库与数据库管理系统的相互独立 B.用户程序与DBMS的相互独立C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的 D.应用程序与数据库中数据的逻辑结构相互独立答案:C7. .数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指。
A.同一个应用中的多个程序共享一个数据集合 B.多个用户、同一种语言共享数据C.多个用户共享一个数据文件D.多种应用、多种语言、多个用户相互覆盖地使用数据集合答案:D8.数据库系统的核心是。
A.数据库B.数据库管理系统C.数据模型D.软件工具答案:B9. 下述关于数据库系统的正确叙述是。
A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余 C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据答案:A10.将数据库的结构划分成多个层次,是为了提高数据库的①和②。
XX年全国计算机等级考试《三级数据库技术》专用教材【考纲分析+考点精讲+真题演练】最新资料,WORD格式,可编辑修改!目录第1章数据库应用系统开发方法................................................考纲分析..................................................................考点精讲..................................................................1.1 数据库应用系统概述...............................................考点1 数据库系统和数据库应用系统的区别 ..........................考点2 数据库应用系统设计与开发的定义 ............................1.2 数据库应用系统生命周期...........................................考点1 软件工程与软件开发方法 ....................................考点2 DBAS生命周期模型..........................................1.3 规划与分析.......................................................考点1 概述 ....................................................考点2 系统规划与定义 ............................................考点3 可行性分析 ................................................考点4 项目规划 ..................................................1.4 需求分析.........................................................考点1 系统需求 ..................................................考点2 数据需求分析 ..............................................考点3 功能需求分析 ..............................................考点4 性能需求分析 ..............................................考点5 其他需求分析 ..............................................1.5 系统设计.........................................................考点1 概念设计 ..................................................考点2 逻辑设计 ..................................................考点3 物理设计 ..................................................1.6 实现与部署.......................................................考点1 定义 ....................................................考点2 内容 ....................................................1.7 运行管理与维护...................................................考点1 内容 ....................................................考点2 重要性 .................................................... 第2章需求分析..............................................................考纲分析..................................................................考点精讲..................................................................2.1 需求分析.........................................................考点1 需求分析的概念与意义 ......................................考点2 需求获取的方法 ............................................考点3 需求分析过程 ..............................................2.2 需求分析方法.....................................................考点1 需求分析方法概述 ..........................................考点2 DFD需求建模方法...........................................考点3 其他需求建模方法 ..........................................考点4 DFD与IDEFO比较........................................... 第3章数据库结构设计........................................................考纲分析..................................................................考点精讲..................................................................3.1 数据库概念设计...................................................考点1 概念设计的任务 ............................................考点2 概念设计的依据及过程 ......................................考点3 数据建模方法 ..............................................考点4 概念设计实例 ..............................................3.2 数据库逻辑设计...................................................考点1 任务 ....................................................考点2 目标 ....................................................3.3 数据库物理设计...................................................考点1 物理设计的目的 ............................................考点2 数据库的物理结构 ..........................................考点3 索引 ....................................................考点4 数据库物理设计 ............................................考点5 其他物理设计环节 .......................................... 第4章数据库应用系统功能设计与实施..........................................考纲分析..................................................................考点精讲..................................................................4.1 软件体系结构.....................................................考点1 定义 ....................................................考点2 功能 ....................................................考点3 分类 ....................................................4.2 软件设计过程.....................................................考点1 软件设计的目的 ............................................考点2 软件设计的原则 ............................................考点3 软件设计的分类 ............................................4.3 DBAS总体设计 ....................................................考点1 DBAS总体设计主要内容......................................考点2 DBAS体系结构设计..........................................考点3 DBAS软件总体设计..........................................考点4 软硬件选型与配置设计 ......................................考点5 业务规则初步设计 ..........................................4.4 DBAS功能概要设计 ................................................考点1 概述 ....................................................考点2 实现方法 ..................................................考点3 表示层概要设计 ............................................考点4 业务逻辑层概要设计 ........................................考点5 数据访问层概要设计 ........................................4.5 DBAS功能详细设计 ................................................考点1 表示层详细设计 ............................................考点2 业务逻辑层详细设计 ........................................4.6 应用系统安全架构设计.............................................考点1 数据安全设计 ..............................................考点2 环境安全设计 ..............................................考点3 制度安全设计 ..............................................4.7 DBAS实施.........................................................考点1 DBAS实施阶段的主要工作....................................考点2 创建数据库 ................................................考点3 数据装载 ..................................................考点4 编写与调试应用程序 ........................................考点5 数据库系统试运行 .......................................... 第5章UML与数据库应用系统 ..................................................考纲分析..................................................................考点精讲..................................................................5.1 DBAS建模.........................................................考点1 方法 ....................................................考点2 UML .......................................................5.2 DBAS业务流程与需求表达 ..........................................考点1 业务流程与活动图 ..........................................考点2 系统需求与用例图 ..........................................5.3 DBAS系统内部结构的表达 ..........................................考点1 DBAS系统内部结构分类......................................考点2 系统结构与类图 ............................................考点3 系统结构与顺序图 ..........................................考点4 系统结构与通信图 ..........................................5.4 DBAS系统微观设计的表达 ..........................................考点1 微观设计的表达方法 ........................................考点2 对象图 ....................................................考点3 状态机图 ..................................................考点4 时间图 ....................................................5.5 DBAS系统宏观设计的表达 ..........................................考点1 宏观设计的对象 ............................................考点2 包图 ....................................................考点3 交互概述图 ................................................考点4 复合结构图 ................................................5.6 DBAS系统实现与部署的表达 ........................................考点1 表达方法 ..................................................考点2 组件图 ....................................................考点3 系统实现与部署图 .......................................... 第6章高级数据查询..........................................................考纲分析..................................................................考点精讲..................................................................6.1 一般数据查询功能扩展.............................................考点1 使用TOP限制结果集 ........................................考点2 使用CASE函数 .............................................考点3 将查询结果保存到新表中 ....................................6.2 查询结果的并、交、差运算.........................................考点1 并运算 ....................................................考点2 交运算 ....................................................考点3 差运算 ....................................................6.3 相关子查询.......................................................考点1 概述 ....................................................考点2 语法格式 ..................................................考点3 用途 ....................................................6.4 其他形式的子查询.................................................考点1 替代表达式的子查询 ........................................考点2 派生表 ....................................................6.5 其他一些查询功能.................................................考点1 开窗函数 ..................................................考点2 公用表表达式 .............................................. 第7章数据库及数据库对象....................................................考纲分析..................................................................考点精讲..................................................................7.1 创建及维护数据库.................................................考点1 SQL Server数据库概述......................................考点2 SQL Server数据库的组成....................................考点3 数据库文件组 ..............................................考点4 数据库文件的属性 ..........................................考点5 用T-SQL语句创建数据库 ....................................考点6 修改数据库 ................................................考点7 分离和附加数据库 ..........................................7.2 架构...........................................................考点1 定义 ....................................................考点2 架构对象的定义和种类 ......................................考点3 命名规则 ..................................................考点4 定义架构的T-SQL语句 ......................................考点5 删除架构的T-SQL语句 ......................................7.3 分区表...........................................................考点1 基本概念 ..................................................考点2 创建分区表 ................................................7.4 索引.............................................................考点1 创建索引 ..................................................考点2 删除索引 ..................................................7.5 索引视图.........................................................考点1 基本概念 ..................................................考点2 适合建立索引视图的场合 ....................................考点3 定义索引视图 .............................................. 第8章数据库后台编程技术....................................................考纲分析..................................................................考点精讲..................................................................8.1 存储过程.........................................................考点1 基本概念 ..................................................考点2 创建、执行和删除存储过程 ..................................8.2 用户定义函数.....................................................考点1 概述 ....................................................考点2 创建和调用标量函数 ........................................考点3 创建和调用内联表值函数 ....................................考点4 创建和调用多语句表值函数 ..................................考点5 删除用户自定义函数 ........................................8.3 触发器...........................................................考点1 基本概念 ..................................................考点2 创建触发器 ................................................考点3 删除触发器 ................................................8.4 游标...........................................................考点1 游标的组成 ................................................考点2 使用游标 .................................................. 第9章安全管理..............................................................考纲分析..................................................................考点精讲..................................................................9.1 安全控制.........................................................考点1 概述 ......................................................考点2 数据库安全控制的目标 ......................................考点3 数据库安全的威胁 ..........................................考点4 安全控制模型的内容 ........................................考点5 授权和认证 ................................................9.2 存取控制.........................................................考点1 自主存取控制(自主安全模式) ..............................考点2 强制存取控制 ..............................................9.3 审计跟踪.........................................................9.4 统计数据库的安全性...............................................考点1 统计数据库的定义 ..........................................考点2 安全性问题 ................................................考点3 解决方案 ..................................................考点4 目标 ....................................................9.5 SQL Server的安全控制 ............................................考点1 身份验证模式 ..............................................考点2 登录账户 ..................................................考点3 数据库用户 ................................................考点4 权限管理 ..................................................考点5 角色 ....................................................9.6 Oracle的安全管理 ................................................考点1 Oracle的安全控制机制......................................考点2 Oracle的特点..............................................考点3 用户与资源管理 ............................................考点4 权限管理 ..................................................考点5 审计功能 .................................................. 第10章数据库运行维护与优化.................................................考纲分析..................................................................考点精讲..................................................................10.1 数据库运行维护基本工作..........................................考点1 概述 ....................................................考点2 工作内容 ..................................................10.2 运行状态监控与分析..............................................考点1 定义 ....................................................考点2 监控分析机制的分类 ........................................10.3 数据库存储空间管理..............................................考点1 数据库的存储结构分类 ......................................考点2 管理内容 ..................................................考点3 数据库管理预测内容 ........................................10.4 数据库性能优化..................................................考点1 数据库运行环境与参数调整 ..................................考点2 模式调整与优化 ............................................考点3 存储优化 ..................................................考点4 查询优化 ..................................................考点5 SQL Server性能工具........................................ 第11章故障管理.............................................................考纲分析..................................................................考点精讲..................................................................11.1 故障管理概述....................................................考点1 故障类型及其解决方法 ......................................考点2 数据库恢复技术概述 ........................................11.2 数据转储(数据备份)............................................考点1 概述 ....................................................考点2 静态转储和动态转储 ........................................考点3 数据转储机制 ..............................................考点4 多种转储方法结合使用 ......................................11.3 日志文件........................................................考点1 日志文件的概念 ............................................考点2 日志文件的格式与内容 ......................................考点3 登记日志文件的原则 ........................................考点4 检查点 ....................................................11.4 硬件容错方案....................................................考点1 磁盘保护技术 ..............................................考点2 服务器容错技术 ............................................考点3 数据库镜像与数据库容灾 .................................... 第12章备份与恢复数据库.....................................................考纲分析..................................................................考点精讲..................................................................12.1 备份与恢复的概念................................................考点1 备份数据库 ................................................考点2 恢复数据库 ................................................12.2 SQL Server的备份与恢复机制 .....................................考点1 恢复模式 ..................................................考点2 备份内容及时间 ............................................考点3 SQL Server的备份机制......................................考点4 SQL Server的恢复机制......................................12.3 Oracle的备份与恢复机制 .........................................考点1 Oracle数据库逻辑备份与恢复................................考点2 0racle数据库物理备份与恢复................................ 第13章大规模数据库架构.....................................................考纲分析..................................................................考点精讲..................................................................13.1 分布式数据库....................................................考点1 分布式数据库系统 ..........................................考点2 分布式数据库目标 ..........................................考点3 分布式数据库的数据分布策略 ................................考点4 分布式数据库系统的体系结构 ................................考点5 分布式数据库的相关技术 ....................................13.2 并行数据库......................................................考点1 并行数据库系统结构 ........................................考点2 数据划分与并行算法 ........................................13.3 云计算数据库架构................................................考点1 云计算概述 ................................................考点2 Google的云数据库体系结构..................................13.4 XML数据库 ......................................................考点1 XML数据库概述.............................................考点2 SQL Server 2008与XML ..................................... 第14章数据仓库与数据挖掘...................................................考纲分析..................................................................考点精讲..................................................................14.1 决策支持系统的发展..............................................14.2 数据仓库技术概述................................................考点1 数据仓库的概念 ............................................考点2 数据仓库的特性 ............................................考点3 数据仓库的体系结构与环境 ..................................考点4 数据仓库的数据组织 ........................................考点5 元数据 ....................................................考点6 操作型数据存储 ............................................14.3 设计与建造数据仓库..............................................考点1 数据仓库设计的需求与方法 ..................................考点2 数据仓库的数据模型 ........................................考点3 数据仓库设计步骤 ..........................................14.4 数据仓库的运行与维护............................................考点1 数据仓库数据的更新维护 ....................................考点2 数据仓库监控与元数据管理 ..................................14.5 联机分析处理与多维数据模型......................................考点1 OLAP ......................................................考点2 多维分析的基本概念 ........................................考点3 多维分析的基本操作 ........................................考点4 OLAP的实现方式............................................14.6 数据挖掘技术....................................................考点1 数据挖掘步骤 ..............................................考点2 关联规则挖掘 ..............................................考点3 分类挖掘 ..................................................考点4 聚类挖掘 ..................................................考点5 时间序列分析 ..............................................第1章数据库应用系统开发方法考纲分析1.数据库应用系统的概念2.数据库应用系统生命周期。
同步练习题第1章数据库基础知识一、单项选择题1. 通常所说的数据库系统(DBS)、数据库管理系统(DBMS)、和数据库(DB)三者之间的关系是A. DBMS包含DB和DBSB. DB包含DBS和DBMSC. DBS包含DB和DBMSD.三者无关答案:A2.数据是信息的载体,信息是数据的A. 符号化表示B. 载体C. 内涵D. 抽象答案:C3. 下列说法不正确的是A. 数据库避免了一切数据重复B. 数据库减少了数据冗余C. 数据库数据可为经DBA认可的用户共享D. 控制冗余可确保数据的一致性答案:A4.在数据库中,产生数据不一致的根本原因是A. 没有严格保护数据B. 数据存储量太大C. 数据间联系弱D. 数据冗余答案:D5.数据库管理系统能实现对数据库中数据的查询、插入、修改和删除,这类功能称为A. 数据定义功能B. 数据管理功能C. 数据操纵功能D. 数据控制功能答案:C6.E-R模型是数据库设计的工具之一,它一般适用于建立数据库的A. 概念模型B. 结构模型C. 物理模型D. 逻辑模型答案:A7. 当实体中有多个属性可作为键而选定其中一个时,称为该实体的A. 外部键B. 候选键C. 主键D. 主属性答案:C8. 如某属性虽非该实体主键,却是另一实体的主键,称此属性为A. 外部键B. 候选键C. 主键D. 主属性答案:A9.自然连接是构成新关系的有效方法。
一般情况下,当对关系R和S使用自然联接时,要求R和S含有一个或多个共有的A. 元组B.行C. 记录D.属性答案:D10.关系模型中的关系模式至少是A.1NF B.2NFC.3NF D.BCNF答案:A11.候选关键字中的属性称为A.非主属性B.主属性C.复合属性D.关键属性答案:B12.关系模式中各级模式之间的关系为A.3NF⊂2NF⊂lNF B.3NF⊂lNF⊂2NFC.1NF⊂2NF⊂3NF D.2NF⊂lNF⊂3NF答案:A13. 数据库物理设计完成后,进入数据库实施阶段,下列各项中不属于实施阶段的工作的是A. 建立库结构B.扩充功能C. 加载数据D.系统调试答案:B14.从E-R模型向关系模型转换,一个M:N的联系转换成关系模式时,该关系模式的键是A. M端实体的键B. N端实体的键C. M端实体键与N端实体键组合D. 重新选取其他属性答案:C15.数据库逻辑设计的主要任务是A. 建立E-R图和说明书B.创建数据库模式C. 建立数据流图D. 把数据送入数据库答案:B二、填空题1.要满足基本应用,一个数据库系统通常应提供给用户使用的基本语言有和。
第七章数据库的恢复习题解答和解析1. 1.试述事务的概念及事务的4个特性。
答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。
事务具有4个特性:原子性(Atomicity)、一致性(Consistency )、隔离性(Isolation)和持续性(Durability)。
这4个特性也简称为ACID特性。
⏹⏹原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。
⏹⏹一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
⏹⏹隔离性:一个事务的执行不能被其他事务干扰。
即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
⏹⏹持续性:持续性也称永久性(Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
接下来的其他操作或故障不应该对其执行结果有任何影响。
2.为什么事务非正常结束时会影响数据库数据的正确性,请列举一例说明之。
答:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。
例如某工厂的库存管理系统中,要把数量为Q的某种零件从仓库1移到仓库2存放。
则可以定义一个事务T,T包括两个操作;Q1=Ql-Q,Q2=Q2+Q。
如果T非正常终止时只做了第一个操作,则数据库就处于不一致性状态,库存量无缘无故少了Q。
3.数据库中为什么要有恢复子系统?它的功能是什么?答:因为计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此必须要有恢复子系统。
恢复子系统的功能是:把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)。
数据库还原顺序数据库还原顺序是指在数据库备份后,将数据库恢复到原来的状态,使数据库数据回到备份时的状态。
数据库还原顺序是数据库恢复的一个重要步骤,需要按照特定的顺序进行操作,以确保数据库恢复的正确性和完整性。
首先,在进行数据库还原之前,需要备份数据库以防止数据丢失。
数据库备份可以使用数据库管理工具或命令来进行,确保备份文件的完整性和可靠性。
在进行数据库还原时,需要按照以下顺序进行操作:1. 恢复数据库结构:首先需要还原数据库的结构,包括数据库的表、视图、存储过程、触发器等。
这可以通过执行数据库的DDL语句或导入数据库结构的脚本来实现。
2. 恢复数据库的数据:在数据库结构恢复完毕后,需要还原数据库的数据,将备份文件中的数据导入到数据库中。
这可以通过执行数据库的DML语句或导入数据库数据的脚本来实现。
3. 恢复数据库的索引和约束:数据库的索引和约束对数据库的性能和完整性至关重要,因此在还原数据库后需要重新创建数据库的索引和约束。
这可以通过执行数据库的DDL语句或导入数据库索引和约束的脚本来实现。
4. 恢复数据库的视图、存储过程和触发器:数据库的视图、存储过程和触发器是数据库的重要组成部分,需要在数据库还原后重新创建。
这可以通过执行数据库的DDL语句或导入数据库视图、存储过程和触发器的脚本来实现。
5. 检查数据库的完整性:在数据库还原完成后,需要对数据库的完整性进行检查,确保数据库的数据和结构完全恢复,并且数据库的性能和稳定性没有受到影响。
数据库还原顺序的正确性和完整性对数据库的恢复至关重要,只有按照正确的顺序进行数据库还原,才能确保数据库的数据和结构完全恢复,数据库的性能和稳定性得到保证。
因此,在进行数据库还原时,需要严格按照以上顺序进行操作,确保数据库的正确恢复。
2020年第24期信s与电nChina Computer & Communication獻据專妓术计算机数据库的备份方式及恢复技术陈庆艳(常州市北郊初级中学,江苏常州213000 )摘要:计算机作为现代信息技术的产物,已经广泛应用到很多行业,确保数据信息的严谨性与完整性,是发挥计 算机优势的重要前提。
但由于受数据库干扰、现代网络环境复杂化等因素的影响,在使用数据库时经常会发生数据丢失、损毁等情况,导致计算机数据库的安全性饱受质疑。
为防止出现相应的问题,必须从计算机数据库备份与数据恢复技术 入手,做好数据的备份与恢复工作,而这也是本文研究的核心内容。
关键词:计算机;数据库;备份方式;恢复技术中图分类号:TP391.41; TP183 文献标识码:A文章编号:1003-9767 (2020) 24-133-03Backup Mode and Recovery Technology of Computer DatabaseCHEN Qingyan(Changzhou Beijiao Junior High School,Changzhou Jiangsu213000, China)Abstract:As the premise of the modern application of computer technology,the integrity of information technology has been brought into full play.However,due to the influence of database interference,the complexity of modem network environment and other factors,data loss and damage often occur when using the database,which leads to the security of computer database being questioned. In order to prevent the corresponding problems,we must start from the computer database backup and data recovery technology,do a good job of data backup and recovery,which is also the core content of this paper.Keywords:computer;database;backup method;recovery technology〇引言计算机本质上仍旧属于电子产品,在运营中会面临黑客 人侵、木马植入、故障风险等威胁,导致重要数据资料的丢 失与损毁,从而造成不可估量的经济损失[1_4]。
最新资料,WORD格式,可编辑修改!目录第一部分备考指南............................................................第1章考试概述..........................................................第2章复习技巧.......................................................... 第二部分核心讲义............................................................第1章数据库应用系统开发方法............................................第2章需求分析..........................................................第3章数据库结构设计....................................................第4章数据库应用系统功能设计与实施......................................第5章UML与数据库应用系统...............................................第6章高级数据查询......................................................第7章数据库及数据库对象................................................第8章数据库后台编程技术................................................第9章安全管理..........................................................第10章数据库运行维护与优化.............................................第11章故障管理.........................................................第12章备份与恢复数据库.................................................第13章大规模数据库架构.................................................第14章数据仓库与数据挖掘............................................... 第三部分历年真题及详解......................................................全国计算机等级考试《三级数据库技术》真题精选(一)........................全国计算机等级考试《三级数据库技术》真题精选(二)........................ 第四部分模拟试题及详解......................................................全国计算机等级考试《三级数据库技术》模拟试题及详解(一)..................全国计算机等级考试《三级数据库技术》模拟试题及详解(二)..................第一部分备考指南第1章考试概述一、考试简介全国计算机等级考试(National Computer Rank Examination,简称NCRE),是经原国家教育委员会(现教育部)批准,由教育部考试中心主办,面向社会,用于考查应试人员计算机应用知识与技能的全国性计算机水平考试体系。
第13章数据库恢复技术计算机同其他任何设备一样,都有可能发生故障。
故障的原因有多种多样,包括磁盘故障、电源故障、软件故障、灾害故障、人为破坏等。
这些情况一旦发生,就有可能造成数据的丢失。
因此,数据库管理系统必须采取必要的措施,以保证即使发生故障,也不会造成数据丢失,或尽可能减少数据的丢失。
数据库恢复作为数据库管理系统必须提供的一种功能,保证了数据库的可靠性,并保证在故障发生时,数据库总是处于一致的状态。
这里的可靠性指的是数据库管理系统对各种故障的适应能力,也就是从故障中进行恢复的能力。
本章讨论各种故障的类型以及针对不同类型的故障采用的数据库恢复技术。
13.1恢复的基本概念数据库恢复是指当数据库发生故障时,将数据库恢复到正确(一致性)状态的过程。
换句话说,它是将数据库恢复到发生系统故障之前最近的一致性状态的过程。
故障可能是软、硬件错误引起的系统崩溃,例如存储介质故障,或者是数据库访问程序的逻辑错误等应用软件错误。
恢复是将数据库从一个给定状态(通常是不一致的)恢复到先前的一致性状态。
数据库恢复是基于事务的原子性特性。
事务是一个完整的工作单元,它所包含的操作必须都被应用,并且产生一个一致的数据库状态。
如果因为某种原因,事务中的某个操作不能执行,则必须终止该事务并回滚(撤销)其对数据库的所有修改。
因此,事务恢复是在事务终止前撤销事务对数据库的所有修改。
数据库恢复过程通常遵循一个可预测的方案。
首先它确定所需恢复的类型和程度。
如果整个数据库都需要恢复到一致性状态,则将使用最近的一次处于一致性状态的数据库的备份进行恢复。
通过使用事务日志信息,向前回滚备份以恢复所有的后续事务。
如果数据库需要恢复,但数据库已提交的部分仍然不稳定,则恢复过程将通过事务日志撤销所有未提交的事务。
恢复机制有两个关键的问题:第一,如何建立备份数据;第二,如何利用备份数据进行恢复。
数据转储(也称为数据库备份)是数据库恢复中采用的基本技术。
所谓转储就是数据库管理员定期地将整个数据库复制到辅助存储设备上,比如磁带、磁盘。
当数据库遭到破坏后可以利用转储的数据库进行恢复,但这种方法只能将数据库恢复到转储时的状态。
如果想恢复到故障发生时的状态,则必须利用转储之后的事务日志,并重新执行日志中的事务。
转储是一项非常耗费资源的活动,因此不能频繁地进行。
数据库管理员应该根据实际情况制定合适的转储周期。
转储可分为静态转储和动态转储两种。
静态转储是在系统中无运行事务时进行转储操作。
即在转储操作开始时数据库处于一致性状态,而在转储期间不允许对数据库进行任何操作。
因此,静态转储得到的一定是数据库的一个一致性副本。
静态转储实现起来比较简单,但转储必须要等到正在运行的所有事务结束才能开始,而且在转储时也不允许有新的事务运行,因此,这种转储方式会降低数据库的可用性。
动态转储是不用等待正在运行的事务结束就可以进行,而且在转储过程中也允许运行新的事务,因此转储过程中不会降低数据库的可用性。
但不能保证转储结束后的数据库副本是正确的,例如,假设在转储期间把数据A=100转储到了磁带上,而在转储的过程中,有另一个事务将A改为了200,如果对更改后的A值没有再进行转储,则数据库转储结束后,数据库副本上的A就是过时的数据了。
因此,必须把转储期间各事务对数据库的修改操作记录下来,这个保存事务对数据库的修改操作的文件就称为事务日志文件(log file)。
这样就可以利用数据库的备份和日志文件把数据库恢复到某个一致性状态。
转储还可以分为海量转储和增量转储两种。
海量转储是指每次转储全部数据库,增量转储是指每次只转储上一次转储之后修改过的数据。
从恢复的角度看,使用海量转储得到的数据库副本进行恢复一般会比较方便,但如果数据量很大,事务处理又比较频繁,则增量转储方式会更有效。
海量转储和增量转储可以是动态的,也可以是静态的。
13.2 数据库故障的种类数据库故障是指导致数据库值出现错误描述状态的情况,影响数据库运行的故障有很多种,有些故障仅影响内存,而有些还影响辅存。
数据库系统中可能发生的故障种类很多,大致可以分为如下几类:1.事务内部的故障事务内部的故障有些是可以预期到的,这样的故障可以通过事务程序本身发现。
如,在银行转账事务中,当把一笔金额从A账户转给B账户时,如果A账户中的金额不足,则应该不能进行转账,否则可以进行转账。
这个对金额的判断就可以在事务的程序代码中进行判断。
如果发现不能转账的情况,对事务进行回滚即可。
这种事务内部的故障就是可预期的。
但事务内部的故障有很多是非预期性的,这样的故障就不能由应用程序来处理。
如运算溢出或因并发事务死锁而被撤销的事务等。
我们后边所讨论的事务故障均指这类非预期性的故障。
事务故障意味着事务没有达到预期的终点(COMMIT或ROLLBACK),因此,数据库可能处于不正确的状态。
数据库的恢复机制要在不影响其他事务运行的情况下,强行撤销该事务中的全部操作,使得该事务就像没发生过一样。
这类恢复操作称为事务撤销(UNDO)。
2.系统故障系统故障是指造成系统停止运转、系统要重启的故障。
例如,硬件错误(CPU故障)、操作系统故障、突然停电等。
这样的故障会影响正在运行的所有事务,但不破坏数据库。
这时内存中的内容全部丢失,这可能会有两种情况:第一种:一些未完成事务的结果可能已经送入物理数据库中,从而造成数据库可能处于不正确状态;另一种:有些已经提交的事务可能有一部分结果还保留在缓冲区中,尚未写到物理数据库中,这样系统故障会丢失这些事务对数据的修改,也使数据库处于不一致状态。
因此,恢复子系统必须在系统重新启动时撤销所有未完成的事务,并重做所有已提交的事务,以保证将数据库恢复到一致状态。
3.其它故障介质故障或由计算机病毒引起的故障或破坏,我们归为其它故障。
介质故障指外存故障,如磁盘损坏等。
这类故障会对数据库造成破坏,并影响正在操作的数据库的所有事务。
这类故障虽然发生的可能性很小,但破坏性很大。
计算机病毒的破坏性很大,而且极易传播,它也可以对数据库造成毁灭性的破坏。
不管是哪类故障,对数据库的影响有两种可能性:一种是数据库本身的破坏;另一种是数据库没有被破坏,但数据可能不正确(因事务非正常终止)。
数据库恢复就是保证数据库的正确和一致,其原理很简单,就是:冗余。
即,数据库中任何一部分被破坏的或不正确的数据均可根据存储在系统别处的冗余数据来重建。
尽管恢复的原理很简单,但实现的技术细节却很复杂。
13.3 数据库恢复的类型无论出现何种类型的故障,都必须终止或提交事务,以维护数据完整性。
事务日志在数据库恢复中起重要的作用,它使数据库在发生故障时能回到一致性状态。
事务是数据库系统恢复的基本单元。
恢复管理器保证发生故障时事务的原子性和持久性。
在从故障中进行恢复的过程中,恢复管理器确保一个事务的所有影响要么都被永久地记录到数据库中,要么都没被记录。
事务的恢复类型有两种:●向前恢复。
●向后恢复。
13.3.1 向前恢复(或重做)向前恢复(也称为重做,REDO)用于物理损坏情形的恢复过程,例如:磁盘损坏、向数据库缓冲区(数据库缓冲区是内存中的一块空间)写入数据时的故障、或将缓冲区中的信息传输到磁盘时出现的故障。
事务的中间结果被写入到数据库缓冲区中,数据在缓冲区和数据库的物理存储之间进行传输。
当缓冲区的数据被传输到物理存储器后,更新操作才被认为是永久性的。
该传输操作可通过事务的COMMIT语句触发,或当缓冲区存满时自动触发。
如果在写入缓冲区和传输缓冲数据到物理存储器的过程中发生故障,则恢复管理器必须确定故障发生时执行WRITE操作的事务的状态。
如果事务已经执行了COMMIT 语句,则恢复管理器将重做(也称为前滚)事务的操作从而将事务的更新结果保存到数据库中。
向前恢复保证了事务的持久性。
为了重建由于上述原因而造成损坏的数据库,系统首先读取最新的数据库转储和修改数据的事务日志。
然后,开始读取日志记录,从数据库转储之后的第一个记录开始,一直读到物理损坏前的最后一次记录。
对于每一条日志记录,程序将把数据库转储中相关的数据值修改为日志记录中修改后的值,使得数据库中的值是事务执行完成后的最终结果。
从数据库转储之后,每个修改数据库的事务操作(日志中的每条记录)都会按照事务最初执行的顺序被记录下来,因此数据库可以恢复到被损坏时的最近状态。
图13-1说明了一个向前恢复的例子。
13.3.2 向后恢复(或撤销)向后恢复(也称为撤销,UNDO)是用于数据库正常操作过程中发生错误时的恢复过程。
这种错误可能是人为键入的数据,或是程序异常结束而留下的未完成的数据库修改。
如果在故障发生时事务尚未提交,则将导致数据库的不一致性。
因为在这期间,其他程序可能读取并使用了错误的数据。
因此恢复管理器必须撤销(回滚)事务对数据库的所有影响。
向后恢复保证了事务的原子性。
图13-1 向前恢复(重做)图13-2说明了一个向后恢复方法的例子。
向后恢复时,从数据库的当前状态和事务日志的最后一条记录开始,程序按从前向后的顺序读取日志,将数据库中已更新的数据值改为记录在日志中的更新前的值(前像),直至错误发生点。
因此,程序按照与事务中的操作执行相反的顺序撤销每一个事务。
图13-2 向后恢复(撤销)例1 撤销和重做操作可以用图13-3中所示的例子解释。
图中并发执行的事务有:T1,T2,…,T6。
现在假设DBMS在t S时刻开始执行事务,在t c时刻发生磁盘损坏而导致t f时刻的执行失败。
同时假设在t f时刻的故障前,事务T2和T3的数据已经写入到物理数据库中。
图13-3 重做和撤销示例从图13-3可以观察到:在故障点时,事务T1和T6尚未提交,而T2、T3、T4和T5事务均已提交。
因此,恢复管理器必须撤销事务T1和T6的操作。
但从图13-3中无法得知:其他已提交的事务对数据库的修改被传输到物理磁盘(数据库)上的程度,这种不确定性源于数据的修改是在缓冲区中进行的,当发生故障时,我们不能确定缓冲区中的数据是否已被传送到磁盘中。
因此,恢复管理器必须重新执行事务T2、T3、T4和T5。
例2表13-1所示为事务操作历史及相应的日志记录,该表除了操作记录之外,还同时列出了用于数据库恢复记入的日志记录(保存在内存或物理存储器上)。
其中在“事务操作”列,R(…)代表读数据操作,W(…)代表修改数据操作。
例如R1(A, 50)表示事务T1读A 的数据为50,W1(A, 20)表示事务T1修改A的数据为20。
在“日志记录”列,读数据不需要写日志,(S, 1)表示事务T1开始,(C, 2)表示事务T2提交。
而(W, 1, A, 50, 20)表示事务T1执行的是一个更改操作,将A的值从50(更改前)改为20(更改后)。
现在,按照表13-1中事件发生的顺序,假定在W1 (B, 80) 操作完成后立即发生了系统崩溃。