第七章第七章 数据库恢复技术练习和答案

合集下载

数据库原理习题答案R

数据库原理习题答案R

第1章数据库系统概述一、填空题1.并发控制,数据库的恢复,数据的完整性,数据安全性。

2.关系数据二、选择题1. C2. C3. B4. C5. C6. B.三、名词解释1.数据库(DB) 包见书2.数据库管理系统(DBMS)3.数据库系统(DBS)DB是长期存储在计算机内、有组织的、统一管理的相关数据的集合。

DB能为各种用户共享,具有较小冗余度、数据间联系紧密而又有较高的数据独立性等特点。

DBMS——是位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。

DBS——是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即它是采用数据库技术的计算机系统。

四、简答题1.什么是数据管理?其主要是目的是什么?见P2;目的:主要目的是提高数据处理效率。

2.简述DBS中数据由DBMS统一管理和控制包括哪几个方面?见P8.第2章数据模型一、填空题1.关系型数据模型。

2.概念数据模型,逻辑数据模型3.域完整性约束_,实体完整性,参照完整性4. 树,图,表,对象二、选择题1. D2. B3. C4. A5. A6. D7. D三、名词解释1.关系(见书)2.键四、简答题1. 什么叫数据与程序的物理独立性和逻辑独立性,为什么数据库系统具有数据与程序的独立性。

见P72.关系的性质有哪些?见P25答:①、关系中每一个属性值都是不可分解的;②、关系中不允许出现重复元组;③、由于关系是一个集合,因此不考虑元组间的顺序,即没有行序;④、元组的属性在理论上也是无序的,但使用时按习惯考虑列的顺序。

五、应用题1.学校有若干个系,每个系有各自的系号、系名和系主任;每个系有若干名教师和学生,教师有教师号、教师名和职称属性,每个教师可以担任若干门课程,一门课程只能由一位教师讲授,课程有课程号、课程名和学分,并参加多项项目,一个项目有多人合作,且责任轻重有个排名,项目有项目号、名称和负责人;学生有学号、姓名、年龄、性别,每个学生可以同时选修多门课程,选修有分数。

数据库应用基础第7章习题参考答案

数据库应用基础第7章习题参考答案

第7章数据转换习题答案1.选择题(1)D(2)D(3)A(4)A2.填空题(1)数据转换服务(2)SQL Server 其他数据源(3)外部数据源(4)SQL Server实例中3.问答题(1)数据转换的主要作用是使SQL Server与任何OLE DB、ODBC、JDBC或文本文件等多种不同类型的数据源之间实现数据传递,主要体现在导入和导出数据、转换数据、复制数据库对象。

数据转换技术指不同数据源之间的互操作性技术。

即把数据库中的数据导出到数据库之外的数据源、把数据库之外的数据源中的数据导入到数据库中、把数据从一个地方传送到另外一个地方以及把一种类型的数据转换成另外一种类型的数据的技术。

(2)DTS 是一组可用来在一个或多个数据源(如Microsoft SQL Server、Microsoft Excel 或Microsoft Access)之间导入、导出和转换异类数据的工具。

DTS包是一些数据转换操作的定义方式,由一个或多个步骤组成,可以作为一个数据转换单元定义和管理。

(3)DTS导入/导出向导提供了把数据从一个数据源转换到另外一个数据目的地的简单方法,转换可在任何两个不同种类的数据源之间进行,这些数据源包括OLE DB 数据源、ODBC 数据源、文本文件和Excel电子表格。

使用DTS导入/导出向导,除复制数据、数据库对象外,可转换列级数据。

完成DTS 导入/导出向导之后,可以将一系列分散的导入、导出或转换步骤集合、保存为DTS包。

(4)在执行导入导出向导的“保存、调度和复制包”对话框中,选定“保存DTS包”,并选定好包保存的类型即可。

(5)利用DTS导出向导导出数据之前,由于系统不能够自动创建Access数据库,应该确保磁盘中已经存在存放导出数据的Access数据库。

4.应用题操作过程如下:(1)启动企业管理器,展开Student_db所在的服务器,展开数据库,右击“Student_db”,在打开的快捷菜单中执行“所有任务”菜单中“导入数据”命令,弹出选择数据源对话框。

数据库原理及应用第7章课后习题答案

数据库原理及应用第7章课后习题答案

习题71、试述事务的概念及事务的四个特性。

事务(Transaction)是用户定义的一个数据库操作序列,这些操作是一个完整的工作单元,一个事务内的所有语句被作为一个整体,这些操作要么全做,要么全不做。

事务是数据库环境的中的逻辑单元,相当于操作系统中的进程。

为了保证数据库中数据的正确性,一个事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability )。

这四个特性简称ACID特性。

2、试述事务的状态及转换。

3、在数据库中为什么要并发控制?并发控制能保证事务的哪些特性?数据库的一个明显的特点是多个用户共享数据库资源,尤其是多用户可以同时存取相同的数据。

在这样的系统中,在同一时刻并发运行的事务数可达数百个。

若对事务的并发操作不加以控制,就会造成数据存、取的错误,破坏了数据的一致性和完整性。

并发控制可以防止数据不一致性出现。

4、并发操作可能会产生哪几类数据不一致?用什么方法可以避免不一致性的情况?并发操作带来的数据不一致性分为四种情况:丢失数修改、读“脏”数据、不可重复读和产生“幽灵”数据。

在数据库环境下,进行并发控制的主要技术有封锁(Locking)、时间戳(Timestamp)和乐观控制法。

商用的DBMS一般都采用封锁方法。

5、什么是封锁?基本的封锁类型有哪些?试述它们的含义。

封锁机制,即加锁(Locking),是一种并发控制机制,是用来调整对共享目标的并行存取的技术。

事务通过向封锁管理程序的系统组成部分发出请求而对事务加锁。

基本封锁类型有两种:共享锁(Share Locks,简记为S锁或读锁)和排它锁(Exclusive Locks,简记为X锁或写锁)。

6、如何用封锁机制保证数据的一致性?在运用X锁和S锁对数据对象加锁时,还需要约定一些规则,这些规则为封锁协议或加锁协议(Locking Protocol)。

对封锁方式加不同的规则,就形成了各种不同级别的封锁协议。

数据库系统原理与设计万常选版第七章练习题和详细答案

数据库系统原理与设计万常选版第七章练习题和详细答案

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

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

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

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

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

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

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

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

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

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

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

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

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

A. 数据字典、应用程序、审计档案、数据库后备副本B. 数据字典、应用程序、审计档案、日志文件C. 日志文件、数据库后备副本D. 数据字典、应用程序、数据库后备副本二、简答题1.试述事务的概念及事务的四个特性。

答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。

数据库系统概论数据库恢复技术

数据库系统概论数据库恢复技术

延迟执行更新
4.写 数据 页 SQL
UPDATE
5.写日志操作 6.确认 7.写commit
RAM中 的数据页
8.确认
日志
Insert Delete Update Commit
1.事务开始 2.执行更新命令
10.在恰当的时 候写入数据文件
数据文件Βιβλιοθήκη 迟更新技术试考虑如下数据库事务T0和T1,其中A、B和C 的初值分别为1000,2000和700,T0和T1按照 串行调度<T0, T1>执行:
数据库恢复概述
数据库恢复子系统的目的包括:
– 保证事务的原子性,即确保一个事务被交付 运行后,要么该事务中的所有数据库操作都 被成功地完成,而且这些操作的结果被永久 地存储到数据库中,要么这个事务对数据库 没有任何影响。
– 当系统发生故障以后,数据库能够恢复到正 确状态。
故障的种类
事务内部的故障
恢复策略
介质故障的恢复
– 介质故障将全部或部分地破坏数据库甚至是 日志文件,其恢复的方法是:
• 装入最新的数据库后备副本(离故障发生时刻最 近的转储副本),使数据库恢复到最近一次转储 时的一致状态。对于动态转储的副本,还需要装 入转储开始时刻的日志文件副本,将数据库恢复 到一致状态。
• 装入转储以后的日志文件副本,重做已经完成的 事务。
– 对撤销队列中的各个事务进行UNDO处理。即反向 扫描日志文件,对每个UNDO事务的更新操作执行 逆操作,即将日志文件中的“更新前的值”写入数 据库。
– 对重做队列中的各个事务进行REDO处理。即正向 扫描日志文件,对每个REDO事务重新执行日志文 件登记的操作,即将日志文件中的“更新后的值” 写入数据库。

数据库技术与应用——VisualFoxPro6.0篇课后练习题答案

数据库技术与应用——VisualFoxPro6.0篇课后练习题答案

<<数据库技术与应用——Visual FoxPro 6.0篇>>练习题答案第1章练习题答案1、数据定义、数据操纵2、文件系统阶段、数据库系统阶段3、属性、字段、元组、记录4、关键字5、域6、属性、属性到域的映象7、关系、关系8、投影9、选择运算、投影运算10、连接运算、自然连接三、简答题1、答:数据库(DataBase)是被长期存放在计算机内、有组织的、可以表现为多种形式的可共享的数据集合。

数据库管理系统(DataBase Management System,简称DBMS)是计算机系统软件,它的职能是有效地组织和存储数据、获取和管理数据,接受和完成用户提出的访问数据的各种请求。

数据库系统是指拥有数据库技术支持的计算机系统,它可以实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享服务。

数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。

2、答:关系是一张二维表,每个关系有一个关系名。

在计算机中,一个关系可以存储为一个文件。

在Visual FoxPro中,一个关系就是一个表文件。

元组是二维表中水平方向的行,有时也叫做一条记录。

属性是二维表中垂直方向的列,有时也叫做一个字段。

3、答:数据库系统由四部分组成:硬件系统、系统软件、数据库应用系统和各类人员。

4、答:常用的数据模型有层次模型、网状模型和关系模型。

层次模型的特点是:形状象一棵倒立的树,有且仅有一个结点无父结点,这个结点称为根结点,其他结点有且仅有一个父结点。

网状模型的特点是:形状象一张网,允许一个以上的结点无父结点,一个结点可以有多于一个的父结点。

关系模型的特点是:在关系中,数据的逻辑结构是一张二维表。

该表满足每一列中的分量是类型相同的数据;列的顺序可以是任意的;行的顺序可以是任意的;表中的分量是不可再分割的最小数据项,即表中不允许有子表;表中的任意两行不能完全相同。

信息安全工程师真题考点:数据库恢复技术

信息安全工程师真题考点:数据库恢复技术

信息安全工程师真题考点:数据库恢复技术数据库恢复技术:基于数据转储的恢复、基于日志的恢复、基于检测点的恢复、基于镜像数据库的恢复。

1、基于数据转储的恢复:数据库管理员定期地将整个数据库复制到磁带、磁盘或其他存储介质上保存起来的过程。

这些备用的数据成为后备副本或后援副本。

2、基于日志的恢复:用来进行事务故障恢复和系统故障恢复,并协助后备副本进行介质故障恢复。

3、基于检测点的恢复:在日志文件中增加一类新的记录——检查点记录,增加一个重新开始文件,并让恢复子系统在登录日志文件期间动态地维护日志
4、基于镜像数据库的恢复:根据数据库管理员的要求,自动把整个数据库或其中的关键数据复制到另一个磁盘上,每当主数据库更新时,数据库管理系统自动把更新后的数据复制过去,由数据库管理系统自动保证镜像数据与主数据库的一致性,这样,一旦出现介质故障,可由镜像磁盘继续提供使用。

历年信息安全工程师数据库恢复技术知识真题:
数据库恢复是在故障引起数据库瘫痪以及状态不一致以后,将数据库恢复到某个正确状态或一致状态。

数据库恢复技术一般有四种策略:基于数据转储的恢复、基于日志的恢复、基于检测点的恢复、基于镜像数据库的恢复,其中数据库管理员定期地将整个数据库复制到磁带或另一个磁盘上保存起来,当数据库失效时,取最近一次的数据
库备份来恢复数据的技术称为()。

A.基于数据转储的恢复
B.基于日志的恢复
C.基于检测点的恢复
D.基于镜像数据库的恢复
参考答案:A。

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

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

数据库备份与恢复技术考试(答案见尾页)一、选择题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. 在进行数据库备份时,以下哪个选项是关键考虑因素?A. 备份时间点B. 备份类型(全备、增量备份等)C. 磁盘空间D. 服务器负载12. 关于数据库恢复,以下哪个说法是正确的?A. 恢复可以完全重现数据库状态B. 恢复过程只能由数据库管理员执行C. 恢复数据的一致性和完整性D. 所有备份都可以在任何时间点进行13. 在数据库备份中,哪种类型的备份不依赖于计算机的操作系统?A. 物理备份B. 逻辑备份C. 文件级备份D. 全量备份14. 数据库备份策略的三个层次及其特点是什么?A. 全备份 - 完整保存所有数据,但耗时最长B. 增量备份 - 只备份自上次备份以来发生变化的数据,节省时间和磁盘空间C. 差异备份 - 仅备份自上次完全备份以来发生变化的数据D. 日志备份 - 保留日志信息以支持灾难恢复15. 在数据库恢复过程中,以下哪个步骤是用来恢复数据的?A. 进行数据一致性检查B. 恢复事务日志C. 执行完全数据库恢复D. 恢复数据文件和日志文件16. 在数据库备份中使用的内置函数是什么?A. USER_ID()B. TO_DATE()C. COUNT()D. DISTINCT17. 在数据库备份中,以下哪个选项是关于备份类型的描述?A. 备份类型包括全备、增量备份和差异备份B. 备份类型是指备份的存储位置,如磁盘、磁带等C. 备份类型是指备份的频率,如每日、每周等D. 备份类型是指备份的数据量,如表、索引等18. 在数据库系统中,以下哪个命令用于执行数据库备份?A. SELECT * FROM table_name;B. mysqldump -u username -p database_name > backup.sqlC. ALTER DATABASE database_name CHARACTER SET charset_name;D. DROP DATABASE database_name;19. 在数据库恢复中,如果恢复的数据不一致,以下哪个操作可以用来修复数据?A. 使用事务日志进行前滚B. 使用备份副本进行恢复C. 删除重复的数据行D. 重新执行删除操作20. 在数据库恢复过程中,哪种类型的恢复是基于备份文件的?A. 物理恢复B. 逻辑恢复C. 上述两者都是21. 数据库备份的时间点选择通常依赖于什么?A. 数据库的当前状态B. 需要恢复的数据量C. A和B22. 在数据库备份中,哪种类型的备份不包含数据的直接拷贝,而是包含指向实际数据的指针或引用?A. 物理备份B. 逻辑备份C. 文件级备份23. 在数据库恢复中,哪种类型的恢复需要使用备份文件以及额外的信息来重建数据库?A. 物理恢复B. 逻辑恢复C. 上述两者都不是24. 数据库备份策略的三个层次及其含义是什么?A. 全备份、增量备份和差异备份B. 增量备份、差异备份和定期备份C. 完全备份、增量备份和定期备份D. 完全备份、差异备份和增量备份25. 在数据库备份中,哪种类型的备份可以最小化数据丢失?A. 全备份B. 增量备份C. 差异备份D. 三者都可以26. 在数据库恢复中,如何验证恢复的数据库是否完整?A. 使用数据校验和B. 使用备份文件进行一致性检查C. 使用日志文件D. A和B27. 在数据库备份中,哪种类型的备份可以提供最快的恢复速度?A. 全备份B. 增量备份C. 差异备份D. 三者都可以28. 数据库备份策略应该考虑哪些因素?A. 数据的重要性B. 数据的更新频率C. 系统的可用性要求D. 备份介质的成本29. 在执行数据库恢复时,哪种类型的备份最常用?A. 完全备份B. 增量备份C. 差异备份D. 以上都正确30. 数据库镜像是一种常见的备份技术,它的作用是什么?A. 提供数据冗余B. 提高查询性能C. 减少备份和恢复的时间D. 保护数据免受硬件故障的影响31. 在数据库备份中,如何选择合适的备份工具?A. 根据备份系统的性能B. 根据备份数据的大小C. 根据备份数据的恢复时间目标(RTO)D. A, B, C32. 数据库备份完成后,通常需要执行的操作是什么?A. 确认备份是否成功B. 将备份数据传输到远程存储C. 清理备份存储D. 执行数据库恢复测试33. 在数据库恢复过程中,如果发现数据损坏,应该采取哪些步骤?A. 使用备份数据进行恢复B. 从备份日志中查找问题原因C. 重新执行备份任务D. 重启数据库34. 在数据库备份优化中,以下哪个做法可以提高备份效率?A. 使用更快的备份硬件B. 增加备份的频率C. 优化备份脚本和工具D. A, B, C35. 在数据库备份和恢复的技术评估中,以下哪个方面不是评估的重点?A. 备份和恢复流程的复杂性B. 备份数据的完整性和可恢复性C. 备份和恢复计划的经济性D. 技术的先进性36. 关于数据库备份类型的说法,以下哪个是正确的?A. 完全备份包含了数据库中所有的数据和对象B. 差异备份只备份自上次完全备份以来发生变化的数据C. 增量备份仅备份自上次备份以来发生变化的数据D. 日志备份用于备份事务日志,以便进行数据恢复37. 在数据库备份中使用的内存结构被称为?A. 存储过程B. 索引C. 缓冲区D. 监听器38. 在数据库恢复过程中,以下哪个步骤不是必须的?A. 恢复事务日志B. 还原数据文件C. 恢复控制文件D. 恢复重做日志39. 在数据库备份中,哪种类型的备份不依赖于数据库的日志?A. 完全备份B. 增量备份C. 差异备份D. 日志备份40. 关于数据库镜像备份,以下哪个说法是错误的?A. 镜像备份可以保护数据库免受硬盘故障的影响B. 镜像备份可以创建数据库的精确副本C. 镜像备份需要停止数据库的所有服务D. 镜像备份可以使用任何类型的存储介质41. 在数据库备份中,如何选择合适的备份策略?A. 根据业务需求选择备份频率和备份类型B. 根据数据库的大小和复杂性选择备份策略C. 根据备份设备和存储资源选择备份策略D. 根据备份时间和可用性选择备份策略42. 在数据库恢复中,如果控制文件丢失或损坏,应该如何操作?A. 使用备份的控制文件B. 从备份的数据库实例中重建控制文件C. 使用数据文件备份片D. 重新启动数据库43. 在数据库备份中,如何验证备份数据的完整性和可恢复性?A. 执行完全备份并测试恢复过程B. 执行增量备份并测试恢复过程C. 执行差异备份并测试恢复过程D. 执行日志备份并测试恢复过程44. 在数据库备份中,如何优化备份性能?A. 使用更快的存储设备B. 减少备份的数据量C. 优化备份脚本和工具D. 选择合适的备份时间窗口二、问答题1. 什么是数据库备份?请列举几种常见的数据库备份方法?2. 如何选择合适的备份策略?3. 什么是数据库恢复技术?请简述其基本步骤?4. 如何验证数据库备份的完整性?5. 在数据库恢复过程中,如何处理数据不一致的问题?6. 什么是数据库备份的监控和审计?请简述其作用?7. 在数据库备份和恢复中,如何优化性能?8. 什么是数据库的灾难恢复计划?请简述其主要组成部分?参考答案选择题:1. ABD2. ABD3. B4. ABD5. CD6. ABC7. C8. AB9. A 10. A11. ABCD 12. AC 13. B 14. ABC 15. BCD 16. ABCD 17. A 18. B 19. A 20. C21. C 22. B 23. B 24. A 25. A 26. D 27. A 28. ABCD 29. D 30. ABD31. D 32. ABD 33. ABC 34. D 35. D 36. ABCD 37. C 38. D 39. A 40. C41. ABCD 42. B 43. ABCD 44. ABCD问答题:1. 什么是数据库备份?请列举几种常见的数据库备份方法?数据库备份是指将数据库中的数据和相关信息复制到一个安全的存储位置的过程。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

A. 数据字典、应用程序、审计档案、数据库后备副本B. 数据字典、应用程序、审计档案、日志文件C. 日志文件、数据库后备副本D. 数据字典、应用程序、数据库后备副本二、简答题1.试述事务的概念及事务的四个特性。

答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。

事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。

这个四个特性也简称为ACID特性。

原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。

一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。

隔离性:一个事务的执行不能被其他事务干扰。

即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。

持续性:持续性也称永久性(Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。

接下来的其他操作或故障不应该对其执行结果有任何影响。

2.为什么事务非正常结束时会影响数据库数据的正确性,请列举一例说明之。

答:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。

如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。

例如某工厂的库存管理系统中,要把数量为Q的某种零件从仓库1移到仓库2存放。

则可以定义一个事务T,T包括两个操作;Q1=Q1-Q,Q2=Q2+Q。

如果T非正常终止时只做了第一个操作,则数据库就处于不一致性状态,库存量无缘无故少了Q。

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

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

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

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

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

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

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

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

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

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

静态转储:在系统中无运行事务时进行的转储操作。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

8. 登记日志文件时为什么必须先写日志文件,后写数据库?答:把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。

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

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

如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次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)步重做已完成的事务的算法是:a. 正向扫描日志文件,找出故障发生前已提交的事务的标识,将其记入重做队列b. 再一次正向扫描日志文件,对重做队列中的所有事务进行重做处理。

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

10. 具有检查点的恢复技术有什么优点?答:利用日志技术进行数据库恢复时,恢复子系统必须搜索日志,确定哪些事务需要REDO,哪些事务需要UNDO。

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

这样做有两个问题:一是搜索整个日志将耗费大量的时间。

二是很多需要REDO处理的事务实际上已经将它们的更新操作结果写到数据库中了,恢复子系统又重新执行了这些操作,浪费了大量时间。

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

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

答:①从重新开始文件中找到最后一个检查点记录在日志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。

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

这里建立两个事务队列:· UNDO-LIST: 需要执行undo操作的事务集合;· REDO-LIST: 需要执行redo操作的事务集合;把ACTIVE-LIST暂时放入UNDO-LIST队列,REDO队列暂为空。

相关文档
最新文档