第十章数据库恢复技术:习题
名词解释
- 事务:是用户定义的一个数据库操作序列。这些操作要么不做,要么全做,是一个不可分割的工作单位。例如在RDBMS中一个事务可以是一条SQL语句或整个程序。事务是数据库恢复和并发控制的基本单位
- 事务原子性:事务是数据库的逻辑工作单位,事务中包含的诸多操作要么全做、要么不做。因故障未能做完的,需要有一套机制用于“撤销”那一部分已经做了的
- 事务一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态
- 事务隔离性:一个事务不能被其他事务干扰。也即一个事务的内部操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰
- 事务持续性:一个事务一旦提交,它对数据库中数据的改变就是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响
- 数据库恢复:把数据库从因破坏或故障而导致的错误状态恢复到某个已知的正确状态的技术
- 事务故障:某个事务在运行过程中由于种种原因未运行至正常终止点就夭折了
- 事务撤销(UNDO):事务故障意味着事务没有达到预期的终点(COMMIT或者显式的ROLLBACK),因此,数据库可能处于不正确状态。恢复程序要在不影响其他事务运行的情况下,强行回滚该事务,即撤销该事务已经作出的任何对数据库的修改,使得该事务好像根本没有启动一样
- 系统故障:是指造成系统停止运转的任何事件,使得系统需要重新启动
- 数据转储:指DBA定期手动或者通过设置使DBMS定期自动将整个数据库复制到存储介质上保存起来的过程。这些备用的数据称之为后备副本。当数据库早到破坏后可以将后备副本重新装入,但是重装后的副本只能将数据库恢复到转储时的状态,要想恢复到故障发生时的状态,必须重新运行自转储以后的所有更新事物。因此,转储常和日志配合使用
- 静态转储:是在系统中无运行事务时进行的转储操作。即转储操作开始的时刻数据库处于一致性状态,而转储期间不允许(或不存在)对数据库的任何存取、修改活动。显然,静态转储得到的一定是一个数据一致性的副本
- 动态转储:是指转储期间允许对数据库进行存取或修改,也即转储和用户事物可以并发执行
- 数据库镜像:自动地将整个数据库或其中关键数据复制到另一个磁盘上。需要注意,在实际应用中,只对关键数据和日志文件进行镜像,而不是对整个数据库进行镜像
简答题
应用题
【答案】
事务的概念
四个特性
恢复技术可以保证事务的原子性和持久性
【答案】
事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致性状态。 例如,某工厂的库存管理系统中,要把数量为Q的某种零件从仓库1移到仓库2存放,则可以定义一个事务T。T包括两个操作:Q1=Q1-Q,Q2=Q2+Q。如果T非正常终止时只做了第一个操作,则数据库就处于不一致性状态,库存量无缘无故少了Q
【答案】
如果先写了数据库修改,而在运行记录中没有登记下这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,按日志文件恢复时只不过是多执行一次不必要的UNDO操作,并不会影响数据库的正确性。所以为了安全,一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改
原则
【答案】 (1)、重做;、回滚
(2)重做;、回滚
(3)重做;、回滚
(4)重做;回滚
【答案】
(1)A=8、B=7、C=11
(2)A=10、B=0、C=11
(3)A=10、B=0、C=11
(4)A=10、B=0、C=11
(5)A=0、B=0、C=0
【答案】
【答案】
【答案】
【答案】
#数据库##考研#数据库系统概论王珊第五版笔记 文章被收录于专栏
数据库系统概论王珊第五版笔记