数据库原理与应用第10章作业
一. 单选题(共20题,80分)
-
(单选题, 4分)事务日志的用途是( )
A. 事务处理
B. 实现数据库的安全性
C. 进行数据库恢复或并发操作
D. 实现数据共享 -
(单选题, 4分)下列关于数据库镜像叙述不正确的是( )
A. 可以通过磁盘镜像来实现
B. 通过集群技术来实现
C. 镜像只是考虑安全性,不会提高速度(还会降低速度)
D. 镜像既能提高安全性也能提高速度 -
(单选题, 4分)下列不是数据库恢复采用的方法是()。
A. 建立检查点
B. 建立副本
C. 建立日志文件
D. 建立索引 -
(单选题, 4分)关于基于日志的恢复叙述中,哪项是正确的()
A. 利用更新日志记录中更新前的值可以进行UNDO,利用更新日志记录中更新前的值可以进行REDO
B. 利用更新日志记录中更新前的值可以进行UNDO,利用更新日志记录中更新后的值可以进行REDO
C. 利用更新日志记录中更新后的值可以进行UNDO,利用更新日志记录中更新前的值可以进行REDO
D. 利用更新日志记录中更新后的值可以进行UNDO,利用更新日志记录中更新后的值可以进行REDO -
(单选题, 4分)恢复机制的关键问题是()。
A. 登记日志文件
B. 数据转储
C. 建立冗余数据
D. 数据镜像
【解析】数据库的恢复机袆咲关键问题是建立冗余数据,建立冗余数据的主要方式有数据转储、建立日志文件等,已备数据库出现故障时利用冗余数据进行恢复。
- (单选题, 4分)对于数据库恢复,下列描述正确的是()。
A. 介质故障的恢复不需要DBA的参与,由DBMS自动完成
B. 日志文件严格按照事务的请求时间顺序进行记录
C. 事务故障恢复时需要逆向扫描日志对未完成事务进行UNDO操作
D. 检查点时刻的数据库一定是处于一致性状态的
答案解析:介质故障可以是硬盘损坏,数据库物理文件损坏,需要DBA更新并装载备份,故选项A是错误的;事物请求后由DBMS的事物调度子系统安排响应及并发执行的调度,日志是按照各事物执行过程中对数据的更新时间顺序记录的,与请求时间没有直接的关系,故选项B是错误的;设置检查点是为了提高故障恢复效率,恢复时以该点数据库状态为基础向后恢复至故障时刻,而不必提前到日志开始时刻向后恢复,设置检查点允许事务进行中,故该时间数据库一般不要求处于一致性状态,故选项D也是错误的;事务故障时系统要撤销该事务已执行了的更新操作,其方法即是逆向扫描日志,对该事务已执行的更新操作进行UNDO,故选项C是正确的。
- (单选题, 4分)对于事务故障的恢复,下列描述正确的是 ( ) 。
A. 事务故障的恢复不需要访问日志文件
B. 事务故障恢复时需要REDO已提交的事务
C. 事务故障恢复时需要正向扫描日志,对该事务进行UNDO操作
D. 事务故障恢复时需要反向扫描日志,对该事务进行UNDO操作
答案解析:[分析] 本题考查对故障及恢复技术的理解。事务故障是指由于事务程序运行过程中,因为非预期的原因,导致在运行过程中不能达到预期的终点(COMMIT或显示的ROLLBACK),造成数据库的不一致。事务故障的恢复,即需要将产生故障的事务已经完成的对数据库的修改撤销。事务对数据库的修改内容被严格按照执行的时间顺序记录在日志中,可以通过逆向扫描日志文件,将产生故障的事务对数据库的操作逐一复原(UNDO),直到事务开始标志,就像该事务未执行一样,即完成恢复。
- (单选题, 4分)下列关于数据库系统基于日志的恢复的叙述中正确的是( )。
A. 利用更新日志记录中的改前值可以进行UNDO,利用更新日志记录中的改前值可以进行REDO
B. 利用更新日志记录中的改前值可以进行UNDO,利用更新日志记录中的改后值可以进行REDO
C. 利用更新日志记录中的改后值可以进行UNDO,利用更新日志记录中的改前值可以进行REDO
D. 利用更新日志记录中的改后值可以进行UNDO,利用更新日志记录中的改后值可以进行REDO
答案解析: 日志文件在数据库恢复中起着非常重要的作用,它能够很好地支持事务故障的恢复和系统故障的恢复。利用更新日志记录中的改前值可以进行UNDO,撤销已做的修改操作,将数据项恢复到修改以前的旧值;利用更新日志记录中的改后值可以进行 REDO,重做已完成的操作,将数据项置为修改后的新值。
- (单选题, 4分)某商场经营管理系统在运行过程中数据库系统突然发生软故障,数据库管理员发现问题后重启了数据库。重启后,系统业务正常。设重启期间可能有如下操作:
Ⅰ.使用日志文件重做已提交的事务
Ⅱ.对未提交的事务进行回滚
Ⅲ,使用RAID技术对数据进行恢复
Ⅳ.使用镜像数据库对数据进行恢复
Ⅴ.使用数据库备份对数据进行恢复
为了保证数据的一致性,系统可能进行的操作是( )。
A. 仅Ⅰ
B. 仅Ⅰ和Ⅱ
C. 仅Ⅰ、Ⅱ和Ⅴ
D. 以上都是
答案解析: 系统故障又称软故障。这类故障影响正在运行的所有事务。要消除这些事务对数据库的影响,保证数据库中数据的一致性,办法是在计算机系统重新启动后,对于未完成的事务可能已经写入数据库中的内容,回滚所有未完成的事务写的结果,以保证数据库中数据的一致性;对于已完成的事务可能部分或全部留在缓冲区的结果,需要重做所有已提交的事务,以将数据库真正恢复到一致状态。
- (单选题, 4分)先写日志的原则是为了发生故障后保持数据库的( )所必须遵循的原则
A. 原子性和持久性
B. 一致性和持久性
C. 原子性和一致性
D. 原子性和隔离性
答案解析:为了安全,一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改,这称作先写日志的原则。这样做是为了发生故障后保持数据库的原子性和持久性。
-
(单选题, 4分)若系统在运行过程中,由于某种原因,造成系统停止运行,致使事务在执行过程中以非正常方式终止,这时内存中的信息丢失,而存储在外存上的数据未受影响,这种情况称为( )
A. 事务故障
B. 系统故障
C. 介质故障
D. 运行故障 -
(单选题, 4分)数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据是指( )
A. 数据字典、应用程序、审计档案、数据库后备副本
B. 数据字典、应用程序、日志文件、审计档案
C. 日志文件、数据库后备副本
D. 数据字典、应用程序、数据库后备副本 -
(单选题, 4分)若系统在运行过程中由于某种硬件故障,致使存储在外存上的部分损失或全部损失,这种情况称为( )
A. 事务故障
B. 系统故障
C. 介质故障
D. 运行故障 -
(单选题, 4分)制作后援副本的过程称为( )
A. 数据转储
B. 日志文件
C. 事务
D. 增量转储 -
(单选题, 4分)事务日志的用途是( )
A. 事务处理
B. 实现数据库的安全性
C. 进行数据库恢复或并发操作
D. 实现数据共享 -
(单选题, 4分)以下关于数据库镜像叙述不正确的是()
A. 在数据库镜像会话中,主体服务器和镜像服务器作为伙伴进行通信和协作
B. 数据库正常运行时,数据库镜像可以用于并发操作
C. 在出现介质故障时,可由镜像数据库继续提供使用,不需要关闭系统和重装数据库副本
D. 每当数据库更新时,DBMS不能自动保证镜像数据和主数据的一致性
答案解析:[解析] 数据库镜像涉及尽快将对主体数据库执行的每项插入、更新和删除操作重做到镜像数据库中,重做通过将每个活动事务日志记录按顺序应用到镜像数据库中,这样,每当数据库更新时,DBMS将自动保证镜像数据与主数据的一致性。
- (单选题, 4分)数据库镜像可以用于( )。
A. 保证数据库的完整性
B. 实现数据库安全性
C. 进行数据库恢复或并发操作
D. 实现数据共享
答案解析:[分析] 定期对整个数据库进行复制或转储可实现数据库恢复,转储是数据库恢复中常用的基本技术,它是指DBA把数据库复制到另一个磁盘上的过程,可分为静态转储和动态转储。
- (单选题, 4分)数据库镜像有很多优点,但不包括()。
A. 提供完整或接近完整的数据允余,提高数据可靠性
B. 主数据库系统发生故障时,可快速启用数据库镜像提供服务
C. 降低数据库存储系统的建设成本
D. 提高主数据库系统在升级期间的可用性
答案解析:解析] 数据库镜像有如下优点:数据库镜像提供完整或接近完整的数据冗余,增强数据保护功能;发生灾难时,数据库镜像可快速使数据库的备用副本提供服务,使数据不会丢失,提高数据库的可用性;提高镜像数据库在升级期间的可用性。数据库镜像是把整个数据库或其中的关键数据复制到另一个磁盘上,其建设成本只会提高。
- (单选题, 4分)关于具有检查点的恢复技术,下列说法不正确的是()
A. 检查点最大限度地减少数据库完全恢复时所必须执行的日志部分
B. 使用检查点方法可以改善恢复效率
C. 无论事务在检查点之前还是之后提交,都需要执行REDO操作
D. 复子系统可以定期地建立检查点,也可以按照某种规则建立检查点
答案解析:[解析] 当事务在一个检查点之前提交,对数据库所做的修改一定都已经写入数据库,写入时间是在这个检查点建立之前或是在这个检查点建立之时,这时就不需要对该事务执行REDO操作了。
- (单选题, 4分)关于检查点恢复技术,下列说法错误的是()
A. 利用检查点可以减少DBMS中恢复子系统日志搜索的工作量
B. 检查点可以按照预定的一个时间间隔建立,也可以按照某种规则建立
C. 检查点记录一般不保存在日志文件中,而是单独写在检查点记录文件中
D. 在建立检查点之前,需要将系统日志缓冲区中的所有日志写入磁盘日志文件中
答案解析:正确答案:C解析:检查点最大限度地减少数据库完全恢复时所必须执行的日志部分;检查点可以按照预定的一个时间间隔建立,也可以按照某种规则建立;检查点记录是写入到日志文件中的,而并非单独写在检查点记录文件中。
二. 简答题(共2题,20分)
- (简答题, 10分)数据库在运行过程中可能产生的故障有哪几类?
正确答案:
(1)事务故障:事务在运行过程中由于种种原因,如输入数据的错误,运算溢出,违反了某些完整性限制,某些应用程序的错误,以及并行事务发生死锁等,使事务未能运行到正常中指点之前就被撤消了,这种情况称为’事务故障’。(2)系统故障:系统鼓掌是指系统在运行过程中,由于某些原因,如OS和DBMS代码错误,操作员操作事务。特定类型的硬件错误(CPU故障),突然停电等造成系统停止运行,致使事务在执行过程中以非控方式中指。这时。内存中的信息丢失,而存储在外存储上的数据未受影响,这种情况称为’系统故障。(3)介质故障:系统在运行过程中,由于某种硬件故障,如磁盘损坏,磁头碰撞,或由于OS的某种潜在的错误。瞬间强磁场干扰,使存储在外存的数据部分损失或全部损失,称之为’介质故障。(4)计算机病毒:计算机病毒是一种人为的故障和破坏,它是一种计算机程序,通过读写染有病毒的计算机系统中的程序和数据这些病毒可以迅速繁殖和传播,危害计算机系统和数据库。
- (简答题, 10分)试述事务的概念及事务的四个特性。
正确答案:
事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。
事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这个四个特性也简称为ACID特性。
原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
持续性:持续性也称永久性(Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。