数据库的恢复 习题答案

合集下载

数据库备份与恢复考试

数据库备份与恢复考试

数据库备份与恢复考试(答案见尾页)一、选择题1. 数据库备份的基本原则是什么?A. 最小化备份数据量B. 保证数据一致性C. 定期备份D. 快速恢复2. 关于数据库备份类型,以下哪个描述是正确的?A. 全备份备份所有选定的文件B. 增量备份仅备份自上次备份以来发生变化的文件C. 差异备份备份自上次全备份以来发生变化的所有文件D. 日志备份备份事务日志3. 在数据库恢复过程中,哪个步骤是用来恢复数据库的?A. 还原B. 重新生成C. 重新组织D. 重新配置4. 数据库镜像是一种常见的备份技术,它的作用是什么?A. 提供实时数据保护B. 提供冗余数据C. 提供备份数据的快速访问D. 提供数据完整性验证5. 在进行数据库迁移时,哪种类型的备份是最佳选择?A. 完全备份B. 增量备份C. 差异备份6. 如果数据库中的某个表被锁定,可能导致哪种情况发生?A. 数据库无法更新该表B. 数据库无法进行备份C. 数据库性能下降D. 数据库无法进行故障转移7. 在数据库系统中,什么是重做日志文件?A. 记录所有数据库操作的日志B. 用于数据库恢复的日志文件C. 存储数据库统计信息的文件D. 用于存放备份数据的文件8. 数据库备份计划应该包括哪些关键要素?A. 备份频率B. 备份类型C. 备份的数据量D. 备份的存储位置9. 在数据库恢复过程中,哪个命令可以用来恢复表?A. INSERTB. DROPC. RESTORED. RECOVER10. 数据库管理员(DBA)在日常工作中执行的最常见任务是什么?A. 创建和删除数据库B. 维护数据库性能C. 执行数据库备份和恢复D. 监控和优化数据库安全11. 在数据库备份中,哪种备份方式可以最大程度地减少备份时间?B. 增量备份C. 差异备份D. 三种备份方式相当12. 数据库恢复的基础是什么?A. 数据库备份B. 数据库索引C. 数据库日志D. 数据库配置13. 在数据库恢复过程中,哪种文件负责存储恢复过程中的临时数据?A. 数据库备份文件B. 数字证书C. 数据库日志D. 版本控制系统文件14. 如果数据库中的数据文件损坏,应该采用哪种方式恢复?A. 使用备份文件进行还原B. 重新创建数据文件C. 使用数据恢复工具D. A和B15. 在数据库迁移过程中,哪种方法可以确保数据的一致性和完整性?A. 使用数据迁移工具B. 备份原数据库,然后在新数据库上还原C. 在新数据库上创建与原数据库相同的结构和数据D. A和B16. 数据库镜像是一种什么类型的备份策略?A. 完全备份B. 增量备份C. 差异备份D. 三种备份方式的组合17. 在数据库系统中,哪种权限允许用户执行备份和恢复操作?A. 数据库管理员(DBA)B. 应用程序员C. 数据库开发者D. 用户角色18. 在数据库管理中,如何验证备份文件的可用性?A. 查看备份日志B. 检查备份文件的大小C. 检查备份文件的创建时间D. A和B19. 在数据库恢复过程中,哪种类型的恢复是基于时间点的?A. 物理恢复B. 逻辑恢复C. 时间点恢复20. 在数据库备份策略中,如果选择了完全备份,那么恢复时应该优先考虑哪种类型的恢复?A. 物理恢复B. 逻辑恢复C. 时间点恢复21. 关于数据库的备份工具,以下哪个选项提供了图形化界面?A. SQL Server Management StudioB. Oracle Enterprise ManagerC. MySQL WorkbenchD. all of the above22. 在数据库恢复过程中,如何验证数据的完整性?A. 使用校验和函数B. 使用数据的哈希值C. 执行业务逻辑检查D. A和B23. 在数据库备份中,哪种类型的备份不依赖于数据库的日志?A. 物理备份B. 逻辑备份C. 时间点备份24. 数据库镜像的恢复时间大约需要多少时间?A. 几分钟B. 几小时C. 几天D. 几周25. 在数据库备份策略制定时,应该考虑哪些因素?A. 数据的重要性B. 数据的更新频率C. 灾难恢复计划D. A和B26. 在数据库备份中,哪种备份方式可以最大程度地减少数据丢失?A. 完全备份B. 增量备份C. 差异备份D. 全备份27. 数据库备份的时间点通常选择在:A. 数据库运行低峰时段B. 数据库运行高峰时段C. 数据库定期重启时D. A或C28. 在数据库备份类型中,哪种备份不包含数据的物理损坏风险?A. 物理备份B. 逻辑备份C. 文件级备份D. 以上都是29. 在数据库恢复过程中,哪个步骤涉及到将备份数据应用到备份集中?A. 恢复数据B. 还原数据C. 执行备份D. 配置备份策略30. 数据库复制的主要目的是什么?A. 提高系统性能B. 实现数据冗余C. 支持负载均衡D. A和B31. 在数据库备份策略中,如何平衡全备份和增量备份的性能影响?A. 根据业务需求调整备份频率B. 使用高性能存储设备C. 结合使用全备份和增量备份D. 优化备份进程的调度32. 数据库备份完成后,通常需要执行哪些步骤来确保备份的有效性?A. 验证备份数据的完整性B. 清理备份存储空间C. 更新备份日志记录D. 以上都是33. 在数据库灾难恢复计划中,哪一步骤是确定恢复目标和评估恢复资源的关键?A. 制定灾难恢复计划文档B. 建立灾备中心C. 制定恢复策略和流程D. 进行灾难恢复演练34. 在数据库恢复中,以下哪个步骤是恢复过程的最后一步?A. 恢复事务B. 事务前检查C. 介质恢复D. 重新启动数据库35. 数据库镜像是一种用于提高数据库可靠性和可用性的技术。

数据库原理习题及答案

数据库原理习题及答案

1.从程序和数据之间的关系分析文件系统和数据库系统之间的区别和联系。

区别:文件系统:用文件将数据长期保存在外存上,程序和数据有一定的联系,用操作系统中的存取方法对数据进行管理,实现以文件为单位的数据共享。

数据库系统:用数据库统一存储数据,程序和数据分离,用DBMS统一管理和控制数据,实现以记录和字段为单位的数据共享。

联系:均为数据组织的管理技术;均由数据管理软件管理数据,程序与数据之间用存取方法进行转换;数据库系统是在文件系统的基础上发展而来的。

2.什么是数据库?数据库是长期存储在计算机内、有组织的、可共享的数据集合。

数据库是按某种数据模型进行组织的、存放在外存储器上,且可被多个用户同时使用。

因此,数据库具有较小的冗余度,较高的数据独立性和易扩展性。

3.什么是数据冗余?数据库系统与文件系统相比怎样减少冗余?在文件管理系统中,数据被组织在一个个独立的数据文件中,每个文件都有完整的体系结构,对数据的操作是按文件名访问的。

数据文件之间没有联系,数据文件是面向应用程序的。

每个应用都拥有并使用自己的数据文件,各数据文件中难免有许多数据相互重复,数据的冗余度比较大。

数据库系统以数据库方式管理大量共享的数据。

数据库系统由许多单独文件组成,文件内部具有完整的结构,但它更注重文件之间的联系。

数据库系统中的数据具有共享性。

数据库系统是面向整个系统的数据共享而建立的,各个应用的数据集中存储,共同使用,数据库文件之间联系密切,因而尽可能地避免了数据的重复存储,减少和控制了数据的冗余。

4.使用数据库系统有什么好处?查询迅速、准确,而且可以节约大量纸面文件;数据结构化,并由DBMS统一管理;数据冗余度小;具有较高的数据独立性;数据的共享性好;DBMS还提供了数据的控制功能。

5.什么是数据库的数据独立性?数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。

逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。

第十章练习题及答案

第十章练习题及答案

第十章数据库恢复技术一、选择题1.一个事务的执行,要么全部完成,要么全部不做,一个事务中对数据库的所有操作都是一个不可分割的操作序列的属性是(A )。

A. 原子性B. 一致性C. 独立性D. 持久性2.表示两个或多个事务可以同时运行而不互相影响的是(C)。

A. 原子性B. 一致性C. 独立性D. 持久性3. 事务的持续性是指(B )A.事务中包括的所有操作要么都做,要么都不做。

B.事务一旦提交,对数据库的改变是永久的。

C.一个事务内部的操作对并发的其他事务是隔离的。

D.事务必须是使数据库从一个一致性状态变到另一个一致性状态。

4.SQL语言中的COMMIT语句的主要作用是(C)。

A. 结束程序B. 返回系统C. 提交事务D. 存储数据5.SQL语言中用(B)语句实现事务的回滚A. CREATE TABLEB. ROLLBACKC. GRANT和REVOKED. COMMIT 6.若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况称为(A )。

A. 介质故障B. 运行故障C. 系统故障D. 事务故障7.在DBMS中实现事务持久性的子系统是(B D )。

A. 安全管理子系统B. 完整性管理子系统C. 并发控制子系统D. 恢复管理子系统8. 后援副本的作用是(C)。

A. 保障安全性B. 一致性控制C. 故障后的恢复D. 数据的转储9.事务日志用于保存(D C)。

A. 程序运行过程B. 程序的执行结果C. 对数据的更新操作D. 数据操作10.数据库恢复的基础是利用转储的冗余数据。

这些转储的冗余数据包括(C)。

A. 数据字典、应用程序、审计档案、数据库后备副本B. 数据字典、应用程序、审计档案、日志文件C. 日志文件、数据库后备副本D. 数据字典、应用程序、数据库后备副本选择题答案:(1) A (2) C (3) B (4) C (5) B(6) A (7) D (8) C (9) C (10) C二、简答题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. 数据库系统出现故障时,首先应该进行哪一步操作?A. 打开备份文件B. 查看日志文件C. 进行故障诊断D. 关闭数据库2. 在数据库系统中,哪种类型的故障被称为“硬故障”?A. 由于硬件故障导致的故障B. 由于数据库软件配置错误导致的故障C. 由于数据库事务处理失败导致的故障D. 由于网络问题导致的故障3. 数据库备份的种类中,全备份是指对整个数据库的所有数据和对象进行备份,以下哪个选项不是全备份的特点?A. 全备份可以恢复数据到任意时间点B. 全备份占用存储空间较小C. 全备份恢复速度较快D. 全备份可以减少数据库的I/O压力4. 在数据库系统中,哪种类型的备份允许数据的完整性和一致性得到保证?A. 完全备份B. 增量备份C. 差异备份D. 日志备份5. 在数据库系统的恢复过程中,以下哪个步骤不是必须的?A. 恢复事务处理B. 恢复数据C. 恢复数据库配置D. 恢复访问控制6. 在数据库系统中,哪种类型的备份策略可以最小化数据丢失的风险?A. 完全备份B. 增量备份C. 差异备份D. 日志备份7. 在数据库系统的故障诊断过程中,通常会使用哪些工具?A. 数据库管理系统自带的工具B. 外部备份软件C. 性能监控工具D. 专业的数据恢复服务8. 在数据库系统的恢复过程中,如何确保数据的一致性?A. 使用日志备份B. 使用增量备份C. 使用完全备份D. 使用差异备份9. 在数据库系统中,如何优化查询性能?A. 添加索引B. 改变数据库结构C. 使用更快的硬件D. 使用更高效的查询语句10. 在数据库系统的恢复过程中,如何恢复事务处理?A. 重新执行事务处理B. 重新执行事务处理的开始部分C. 重新执行事务处理的结束部分D. 重新执行事务处理的所有部分二、问答题1. 什么是数据库系统的故障类型,以及它们的影响?2. 如何使用SQL语言进行数据库查询?3. 什么是数据库的事务隔离级别,并且它如何影响并发访问?4. 什么是数据库的备份和恢复策略,以及它们的重要性?5. 什么是数据库的性能优化,包括哪些方法?6. 什么是数据库的安全性,以及它如何保护数据?7. 什么是数据库的备份和恢复策略,以及它们的重要性?8. 什么是数据库的事务隔离级别,并且它如何影响并发访问?参考答案选择题:1. C2. A3. B4. A5. D6. B7. ABCD8. A9. AD 10. A问答题:1. 什么是数据库系统的故障类型,以及它们的影响?数据库系统的故障类型主要有硬件故障、事务故障、系统故障和介质故障。

(完整版)数据库练习题及答案解析

(完整版)数据库练习题及答案解析

第一章习题一、单项选择题1 •数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS )之间的关系是(A )。

A. DBS 包括DB 和DBMSB. DBMS 包括DB 和DBSC. DB包括DBS和DBMSD. DBS就是DB,也就是DBMS2. 下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是(D )。

I •人工管理阶段II.文件系统阶段III •数据库阶段A. I 和IIB. 只有IIC. II 和IIID. 只有I3. 下列四项中,不属于数据库系统特点的是(C )。

A. 数据共享B. 数据完整性C. 数据冗余度高D. 数据独立性高4. 数据库系统的数据独立性体现在(B )。

A .不会因为数据的变化而影响到应用程序B. 不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C. 不会因为存储策略的变化而影响存储结构D. 不会因为某些存储结构的变化而影响其他的存储结构5. 要保证数据库的数据独立性,需要修改的是(C )。

A. 模式与外模式B. 模式与内模式C. 三层之间的两种映射D. 三层模式6. 要保证数据库的逻辑数据独立性,需要修改的是(A )。

A. 模式与外模式的映射B. 模式与内模式之间的映射C. 模式D. 三层模式7. 用户或应用程序看到的那部分局部逻辑结构和特征的描述是(C ),它是模式的逻辑子集。

A.模式B.物理模式C. 子模式D. 内模式8. 下述(B )不是DBA 数据库管理员的职责。

A.完整性约束说明B.定义数据库模式C.数据库安全D.数据库管理系统设计9. 常见的数据模型有三种,它们是(B )A 网状、关系和语义B 层次、关系和网状C 环状、层次和关系D 字段名、字段类型和记录10. 在E-R 图中,用来表示属性的图形是(B )A 矩形B 椭圆形C 菱形D 平行四边形二、填空题1. 描述数据库全体数据的全局逻辑结构和特性的是___________ 模式 ______ 。

数据库课后习题答案

数据库课后习题答案

数据库课后习题答案第一章1.数据(DB):数据实际上是描述事物的符号纪录。

2.数据库: 数据库实际上是长期存储在计算机内的有组织的、可共享的数据集合。

3.从文件系统的视角上看去,文件是无结构的,文件只是一个字节流,因此,我们经常把文件叫做流式文件,实际上文件的数据是有结构的,数据的结构需要程序员通过编写程序来建立和维护。

4.数据库应用可以分为两大类:联机事务处理(OLTP),联机分析处理(OLAP).联机事务处理解决了组织结构业务自动化问题,而联机分析处理帮助管理层更好的分析组织结构的运站情况。

5. 数据库管理系统(DBMS):数据库管理系统是一类重要的软件,由一组程序组成。

其主要功能是完成对数据库的定义、数据操作。

提供给用户一个简明的接口,实现事务处理等。

6.数据库管理系统的基本功能:数据的定义功能数据操作功能数据库的运行和管理数据库的建立和维护功能7.数据库管理系统由两大部分组成:查询处理器存储管理器8.层次结构:应用层语言翻译层数据存取层数据存储层操作系统数据库9. 数据库系统:数据库系统是基于数据库的计算机应用的系统,有四部分组成数据库数据管理系统应用系统用户。

10. 数据库管理员的职责:(1)决定数据库中要存储的数据及数据结构(2)决定数据库的存储结构和存取策略(3)保证数据的安全性和完整性(4)监控数据库的使用和运行(5)数据库的改进和重组重构11.数据模型的三要素:数据结构数据操作完整性约束12. 数据结构是所研究的对象的类型的集合,这些对象是数据库的组成成分,他们包含两类:一类是与数据之间联系有关的对象。

一类是与数据之间联系有关的对象。

13. 数据操作:数据库主要有检索和更新(插入、删除、修改)两大类操作。

14.在关系模型中任何关系都要满足实体完整性和参照完整性。

15.三种数据模型:概念模型逻辑模型物理模型逻辑模型中有:层次模型网状模型关系模型面向对象模型对象关系模型其中层次模型和网状模型统称为非关系模型。

数据库备份与恢复技术考试

数据库备份与恢复技术考试

数据库备份与恢复技术考试(答案见尾页)一、选择题1. 数据库备份的基本原则是什么?A. 最大限度地减少数据丢失B. 保证数据的一致性和完整性C. 保证数据库系统的可靠性D. 提高数据库的可用性2. 关于数据库备份类型的说法,以下哪个是正确的?A. 完全备份是在所有数据都已被写入磁盘后进行的B. 增量备份仅备份自上次备份以来发生变化的数据C. 差异备份备份的是与最近一次完整备份之间的差异D. 日志备份用于备份事务日志3. 在数据库恢复中,哪种类型的备份可以最大程度地恢复数据?A. 完全备份B. 增量备份C. 差异备份D. 日志备份4. 在执行数据库备份时,哪种策略可以提高备份效率?A. 使用压缩工具B. 优化索引结构C. 利用多线程或多进程D. 选择正确的备份时间点5. 在数据库恢复过程中,哪种操作可以验证备份数据的有效性?A. 检查备份文件的完整性B. 执行数据一致性检查C. 进行性能监控D. 分析日志文件6. 关于数据库镜像的说法,以下哪个是正确的?A. 数据库镜像可以提供实时备份B. 数据库镜像可以防止数据损坏C. 数据库镜像可以增加数据库的性能D. 数据库镜像可以替代主数据库7. 在数据库备份中,哪种类型的备份不依赖于计算机的存储能力?A. 文件备份B. 磁带备份C. 光盘备份D. 网络备份8. 在数据库恢复中,哪种类型的恢复可以最小化数据丢失?A. 全备份恢复B. 增量备份恢复C. 差异备份恢复D. 日志备份恢复9. 在数据库系统中,哪种技术可以确保数据的持久性和可靠性?A. 数据库备份B. 数据库复制C. 数据库镜像D. 数据库备份和恢复10. 关于数据库备份类型,以下哪个描述是正确的?A. 全备份备份所有选定的文件B. 增量备份仅备份自上次备份以来发生变化的文件C. 差异备份备份自上次全备份以来发生变化的所有文件D. 以上都是11. 在进行数据库恢复时,哪种类型的备份最常用?B. 增量备份C. 差异备份D. 全备份12. 数据库备份的时间点选择通常依赖于什么?A. 数据库的访问量和修改频率B. 数据库的规模和复杂性C. 数据库的备份策略和历史数据D. A和B13. 在数据库备份中,哪种方法可以确保备份数据的可靠性和完整性?A. 使用冗余存储设备B. 对备份数据进行定期验证C. 采用差异备份和增量备份相结合的方法D. A和B14. 在数据库备份恢复过程中,哪种类型的恢复通常用于灾难恢复?A. 业务连续性恢复B. 介质恢复C. 日常备份D. A和B15. 数据库备份策略的三个层次及其作用是什么?A. 全备份、增量备份和差异备份B. 服务器级备份、数据库级备份和应用级备份C. 完全备份、增量备份和版本备份D. 以上都不是16. 在数据库备份恢复中,如何验证备份数据的可用性?A. 检查备份文件的完整性B. 执行备份文件的恢复测试C. 监控备份任务的执行状态17. 在数据库备份恢复中,如何处理备份文件丢失或损坏的情况?A. 使用备份文件的副本B. 重新生成备份文件C. 从其他数据库复制数据D. A和B18. 数据库管理员在进行数据库备份时,通常会关注哪些关键指标?A. 备份速度B. 备份成功率C. 备份所需时间D. 备份对业务的影响19. 在数据库恢复过程中,哪种类型的恢复可以应用最新的数据库补丁?A. 完全恢复B. 事务级恢复C. 文件级恢复D. 数据库级恢复20. 数据库镜像是一种常见的备份技术,它的作用是什么?A. 提供实时数据保护B. 提供冗余数据存储C. 提供数据库审计功能D. 提供数据迁移功能21. 在数据库备份中,哪种备份方式可以最大程度地减少数据丢失?A. 完全备份B. 增量备份C. 差异备份D. 快照备份22. 数据库复制是一种用于数据备份的方法,它的主要优点是什么?A. 提供实时数据保护B. 提供冗余数据存储C. 提供数据库审计功能D. 提供数据迁移功能23. 在数据库系统中,哪种技术可以确保数据的完整性和一致性?A. 事务处理B. 并发控制C. 锁机制D. 分布式数据库设计24. 在数据库备份策略中,如何平衡备份时间和备份空间?A. 根据数据量大小选择备份策略B. 根据业务需求选择备份策略C. 根据系统性能选择备份策略D. A和B25. 在数据库恢复过程中,哪种技术可以用于恢复因错误操作导致的数据损坏?A. 数据库日志B. 数据库备份C. 数据库镜像D. 数据库复制26. 在数据库系统中,哪种技术可以提高数据库性能?A. 索引优化B. 索引维护C. 索引重建D. A和B27. 在数据库恢复中,哪种类型的恢复通常用于灾难恢复计划?A. 完全恢复B. 部分恢复C. 日志恢复D. 业务连续性恢复28. 数据库镜像是一种用于提高数据库可靠性和安全性的技术。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第七章数据库的恢复习题解答和解析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.数据库中为什么要有恢复子系统?它的功能是什么?答:因为计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此必须要有恢复子系统。

恢复子系统的功能是:把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)。

4.数据库运行中可能产生的故障有哪几类?哪些故障影响事务的正常执行?哪些故障破坏数据库数据?答:数据库系统中可能发生各种各样的故障,大致可以分以下几类:(1)事务内部的故障;(2)系统故障;(3)介质故障;(4)计算机病毒。

事务故障、系统故障和介质故障影响事务的正常执行;介质故障和计算机病毒破坏数据库数据。

5.数据库恢复的基本技术有哪些?答:数据转储和登录日志文件是数据库恢复的基本技术。

当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。

6.数据库转储的意义是什么?试比较各种数据转储方法。

答:数据转储是数据库恢复中采用的基本技术。

所谓转储即DBA定期地将数据库复制到磁带或另一个磁盘上保存起来的过程。

当数据库遭到破坏后可以将后备副本重新装入,将数据库恢复到转储时的状态。

静态转储:在系统中无运行事务时进行的转储操作,如上图所示。

静态转储简单,但必须等待正运行的用户事务结束才能进行。

同样,新的事务必须等待转储结束才能执行。

显然,这会降低数据库的可用性。

动态转储:指转储期间允许对数据库进行存取或修改。

动态转储可克服静态转储的缺点,它不用等待正在运行的用户事务结束,也不会影响新事务的运行。

但是,转储结束时后援副本上的数据并不能保证正确有效。

因为转储期间运行的事务可能修改了某些数据,使得后援副本上的数据不是数据库的一致版本。

为此,必须把转储期间各事务对数据库的修改活动登记下来,建立日志文件(log file)。

这样,后援副本加上日志文件就能得到数据库某一时刻的正确状态。

转储还可以分为海量转储和增量转储两种方式。

海量转储是指每次转储全部数据库。

增量转储则指每次只转储上一次转储后更新过的数据。

从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来更简单些。

但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。

7.什么是日志文件?为什么要设立日志文件?答:(1)日志文件是用来记录事务对数据库的更新操作的文件。

(2)设立日志文件的目的是:进行事务故障恢复;进行系统故障恢复;协助后备副本进行介质故障恢复。

有关日志文件的具体作用,参考《概论》 7.4.208.登记日志文件时为什么必须先写日志文件,后写数据库?答:把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。

有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。

如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。

如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO操作,并不会影响数据库的正确性。

所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。

9.针对不同的故障,试给出恢复的策略和方法。

(即如何进行事务故障的恢复?系统故障的恢复?介质故障恢复?)答:事务故障的恢复:事务故障的恢复是由DBMS自动完成的,对用户是透明的。

DBMS 执行恢复步骤是:(1)反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作;(2)对该事务的更新操作执行逆操作,即将日志记录中"更新前的值"写入数据库;(3)继续反向扫描日志文件,做同样处理;(4)如此处理下去,直至读到此事务的开始标记,该事务故障的恢复就完成了。

系统故障的恢复:系统故障可能会造成数据库处于不一致状态:一是未完成事务对数据库的更新可能已写人数据库;二是己提交事务对数据库的更新可能还留在缓冲区,没来得及写入数据库。

因此恢复操作就是要撤销(UNDO)故障发生时未完成的事务,重做(REDO)已完成的事务。

系统的恢复步骤是:(1)正向扫描日志文件,找出在故障发生前已经提交的事务队列(REDO队列)和未完成的事务队列(UNDO队列)。

(2)对撤销队列中的各个事务进行UNDO处理。

进行UNDO处理的方法是,反向扫描日志文件,对每个UNDO事务的更新操作执行逆操作,即将日志记录中"更新前的值"(Before Image)写人数据库。

(3)对重做队列中的各个事务进行REDO处理。

进行REDO处理的方法是:正向扫描日志文件,对每个REDO事务重新执行日志文件登记的操作。

即将日志记录中"更新后的值"(After Image) 写入数据库。

解析:在第(1)步中如何找出REDO队列和UNDO队列?请大家思考一下。

下面给出一个算法:1)建立两个事务队列:①①UNDO-LIST:需要执行undo操作的事务集合;②②REDO-LIST:需要执行redo操作的事务集合。

两个事务队列初始均为空。

2)从日志文件头开始,正向扫描日志文件:①①如有新开始(遇到Begin Transaction)的事务Ti,把Ti暂时放入UNDO-LIST队列;②②如有提交的事务(遇到End Transaction)Tj,把Tj从UNDO-LIST队列移到REDO-LIST队列;直到日志文件结束。

介质故障的恢复:介质故障是最严重的一种故障。

恢复方法是重装数据库,然后重做已完成的事务。

具体过程是:(1)DBA装入最新的数据库后备副本(离故障发生时刻最近的转储副本),使数据库恢复到转储时的一致性状态;(2)DBA装入转储结束时刻的日志文件副本;(3)DBA启动系统恢复命令,由DBMS完成恢复功能,即重做已完成的事务。

解析:(1)假定采用的是静态转储,因此第(1)步装人数据库后备副本便可以了。

(2)如果采用的是动态转储,第(1)步装人数据库后备副本还不够,还需同时装入转储开始时刻的日志文件副本,经过处理后才能得到正确的数据库后备副本。

(3)第(2)步重做已完成的事务的算法是:1)正向扫描日志文件,找出故障发生前已提交的事务的标识,将其记入重做队列;2)再一次正向扫描日志文件,对重做队列中的所有事务进行重做处理。

即将日志记录中"更新后的值"写入数据库。

10.什么是检查点记录?检查点记录包括哪些内容?答:检查点记录是一类新的日志记录。

它的内容包括:①①建立检查点时刻所有正在执行的事务清单(如图中的T1、T2);②②这些事务的最近一个日志记录的地址(如图中的D1、D2)。

11.具有检查点的恢复技术有什么优点?试举一个具体的例子加以说明。

答:利用日志技术进行数据库恢复时,恢复子系统必须搜索日志,确定哪些事务需要REDO,哪些事务需要UNDO。

一般来说,需要检查所有日志记录。

这样做有两个问题:一是搜索整个日志将耗费大量的时间;二是很多需要REDO处理的事务实际上已经将它们的更新操作结果写到数据库中了,恢复子系统又重新执行了这些操作,浪费了大量时间。

检查点技术就是为了解决这些问题。

例如:在采用检查点技术之前,恢复时需要从头扫描日志文件,而利用检查点技术只需要从T 开始扫描日志,这就缩短了扫描日志的时间。

事务Tl的更新操作实际上已经写到数据库中了,进行恢复时没有必要再REDO 处理,采用检查点技术做到了这一点。

12.试述使用检查点方法进行恢复的步骤。

答:(1)从重新开始文件(见第11题的图)中找到最后一个检查点记录在日志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。

(2)由该检查点记录得到检查点建立时刻所有正在执行的事务清单ACTIVE-LIST。

这里建立两个事务队列:1)1)UNDO-LIST:需要执行undo操作的事务集合;2)2)REDO-LIST:需要执行redo操作的事务集合。

把ACTIVE-LIST暂时放入UNDO-LIST队列,REDO队列暂为空。

3)3)从检查点开始正向扫描日志文件:①①如有新开始的事务Ti,把Ti暂时放入UNDO-LIST队列;②②如有提交的事务Tj,把Tj从UNDO-LIST队列移到REDO-LIST队列,直到日志文件结束;4)对UNDO-LIST中的每个事务执行UNDO操作,对REDO-LIST中的每个事务执行REDO操作。

13.什么是数据库镜像?它有什么用途?答:数据库镜像即根据DBA的要求,自动把整个数据库或者其中的部分关键数据复制到另一个磁盘上。

每当主数据库更新时,DBMS自动把更新后的数据复制过去,即DBMS自动保证镜像数据与主数据的一致性。

数据库镜像的用途有:一是用于数据库恢复。

当出现介质故障时,可由镜像磁盘继续提供使用,同时DBMS自动利用镜像磁盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本。

二是提高数据库的可用性。

在没有出现故障时,当一个用户对某个数据加排它锁进行修改时,其他用户可以读镜像数据库上的数据,而不必等待该用户释放锁。

14.试述你了解的某一个实际的DBMS产品中采用的恢复策略。

相关文档
最新文档