- 1、本文档共53页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10 第十章 数据库恢复课件
第十章 数据库恢复;主要内容:;10.1数据库恢复技术10.1.1数据库恢复概述;■故障的影响
□运行事务非正常中断
□破坏数据库
(1)非永久存储器:如主存、缓存等。
特点:存取速度快
故障:不可恢复
(2)永久存储器:如磁盘、散存等。
特点:存取速度较慢
故障:可恢复
(3)永恒存储器
(理论上永远不会丢失信息。);10.1.2数据库恢复实现技术;1、常用的一些日志记录格式
T :事务名,执行WRITE(Q)操作的事务。
X:数据项名,Q的唯一名字。
V1:原始值,Q在执行WRITE(Q)之前的值。
V2:新值,Q在执行WRITE(Q)之后的值。
(1)T,start:事务T已经开始。
(2)T,X,V1,V2:事务T在数据项X上执行的写操作。X在执行写操作之前的值为V1,执行写操作之后的值为V2。
(3)T,commit:事务T已经提交。
注:为保证日志在系统和磁盘发生故障时仍可使用,必须将它存储在永恒存储器上。
;二、恢复技术(重点)
1、推迟更新技术(重点)
该事务对数据库的所有更新操作记录在日志中,把所有数据库更新操作推迟到该事务提交时执行。
推迟更新协议:
(1)每个事务在到达提交点之前不能更新数据库。
(2)在一个事务的所有更新操作对应的日志记录写入永恒存储器之前,该事务不能到达提交点。
注:一事务到达提交时,称该事务进入部分提交状态。;?推迟技术执行事务T的过程:
(1)T开始执行,记录T,start;
(2)T发出WRITE(X)操作,记录T,X,V1,V2;
(3)T达部分提交状态时,记录T,commit,并将日志中形如T,X,V1,V2 的记录,把数据库中数据项X更新为新值V2。
(4)数据库真正的被事务T更新,T进入提交状态。;?由于推迟更新技术仅需新值,所以可以简化日志结构为T,X,V2。
实例:银行数据库系统中:
事务T1:从账号A向账号B转储50元;
事务T2:从账号C支出100元。两事务分别定义如下:
T1:READ(A); T2:READ(C);
A:=A-50; C:=C-100;
WRITE(A); WRITE(C);
READ(B);
B:=B+50;
WRITE(B);; 设A,B和C的初值分别是1000元、2000元和700元。且T1与T2按串行调度T1,T2
日志中所包含的有关T1、T2的信息如下:
T1,START T2,START
T1,A,950 T2,C,600
T1,B,2050 T2,COMMIT
T1,commit
说明:
?数据库中A、B值仅有在T1,COMMIT写入日志后才能被更改。
?数据库中C值仅有在T2,COMMIT写入日志后才能被更改。;?日志与数据库变化过程实例:
日志记录 数据库
T1,START
T1,A,950
T1,B,2050
T1,COMMIT
A=950
B=2050
T2,START
T2,C,600
T2,COMMIT
C=60;?针对推迟更新技术DBMS所采用的恢复机制:(故障发生后,确定需要重做的事务T)
REDO(T):
FOR日志中每个形如(T,X,V)的记录DO
把数据库中数据项X的值改为V;
END FOR
注:REDO操作必须是幂等的,即执行多次和执行一次的效果相同。
;故障实例1:设故障恰好发生在T1的WRITE(B)操作信息被写入日志之后。(重点)
日志内容如下:
T1 T2
T1,start
T1,A,950
T1,B,2050
数据库中A、B值未改变。
数据库恢复机制:不采取任何恢复行动。
结果:A=1000,B=2000,C=700。;故障实例2:设故障恰好发生在T2的WRITE(C)操作之后。(重点)
日志内容如下:
T1 T2
T1,start
T1,A,950
T1,B,2050
T1,commit
文档评论(0)