第七章 恢复系统PPT讲稿.ppt
《第七章 恢复系统PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第七章 恢复系统PPT讲稿.ppt(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第七章 恢复系统第1页,共54页,编辑于2022年,星期一 因为有故障,才需要恢复。计算机可能发生的故障:电源、软件、机房失火、人为破坏等。恢复机制是数据库系统必不可少的组成部分,一旦故障发生,数据库必须保持事务的原子性和持久性。第2页,共54页,编辑于2022年,星期一71 故障分类故障分类 72 存贮器结构存贮器结构 73 恢复与原子性恢复与原子性 74 基于日志的恢复基于日志的恢复 75 影子分页影子分页 78 非易失性存储器数据的恢复非易失性存储器数据的恢复79 高级恢复技术高级恢复技术77 缓冲区管理缓冲区管理76 并发事务的恢复并发事务的恢复第3页,共54页,编辑于2022年,星期
2、一71 故障分类故障分类第4页,共54页,编辑于2022年,星期一1 事务故障:a.逻辑错误。事务由于某些内部条件而无法继续正常执行。如:非法输入、找不到数据、溢出等 b.系统错误。系统进入一种不良状态(如死锁),结果事务无法正常执行。2 系统崩溃:硬件故障,或数据库软件、操作系统漏洞,导致易失性存储器内容的丢失,并使得事务处理终止。而非易失存储器完好。3 磁盘故障:在数据传送操作过程中由于磁头损坏或故障造成磁盘上数据的丢失。第5页,共54页,编辑于2022年,星期一 恢复算法:在正常事务处理时采取的措施,保证有 足够的信息可用于故障恢复。故障发生后采取的措施,将数据库内容 恢复到某个保证数据
3、一致性,事务原子 性及持久性的状态。第6页,共54页,编辑于2022年,星期一72 存贮器结构存贮器结构 第7页,共54页,编辑于2022年,星期一1存贮器类型 易失存储器:主存、高速缓存 非易失存储器:磁盘、磁带 稳定性存储器:通过一些技术手段实现 2稳定存贮器的实现 RAID 第8页,共54页,编辑于2022年,星期一3数据访问 给一些概念和记号 数据库常驻在磁盘上,以块为单位存贮。一块可以包含多个数据项。假设没有数据块是跨块的。输入/出操作以块为单位,磁盘上的块为物理块,临时位于主存的块为缓冲块。内存中用以存放块的区域称为缓冲区。第9页,共54页,编辑于2022年,星期一 磁盘和主存间的
4、块移动由下面两个操作完成。(1)input(B)传送物理块B至主存。(2)output(B)传送缓冲块B至磁盘,并 替换磁盘上相应的物理块。第10页,共54页,编辑于2022年,星期一 Ti的私有工作区,在事务初始化时创建,事务提交或中止时删除。Ti的工作区中保存的每一个数据项X记为Xi,Ti通过在其工作区和系统缓冲区之间传送数据与数据库交互,所用的两个操作:(1)Read(x)将数据项X的值赋予局部变量xi。a.若X所在的块Bx,不在内存,则发指 令input(Bx)。b.将缓冲块Bx中X的值赋予xi(2)Write(x)将局部变量xi的值赋予缓冲块 中的数据项X。a.若X所在的块Bx不在内
5、存,则发指令input(Bx)。b.将xi的值赋予缓冲块Bx中的X第11页,共54页,编辑于2022年,星期一73 恢复与原子性恢复与原子性 第12页,共54页,编辑于2022年,星期一 发生故障和简单的故障恢复过程,可能导致数据库的不一致。为了保持原子性的目标,需记录对数据修改的描述信息。例:考虑事务Ti,将¥50从帐户A转到帐户B,A和B的初值分别为1000和2000,假设Ti执行过程中系统发生崩溃,且发生在output(BA)之后,output(BB)之前,由于内存的内容丢失,无法知道事务的结局。可以调用恢复过程。第13页,共54页,编辑于2022年,星期一 重新执行Ti,A的值变为90
6、0而不是950,系统产生不一致。不重新执行Ti,A的值变为950而B的值为2000,系统仍然不一致。第14页,共54页,编辑于2022年,星期一74 基于日志的恢复基于日志的恢复 第15页,共54页,编辑于2022年,星期一日志:记录数据库中的所有更新活动。包括以下段:*事务标识是执行Write操作的事务的唯一标识*数据项标识是所写数据项的唯一标识,通常是数据项在磁盘上的位置。*旧值是数据项的写前值。*新值是数据项的写后值。日志记录:事务Ti开始 :事务Ti对Xj执行写操作,Xj的写前值是V1,写后值是V2。:事务Ti提交 :事务Ti中止 第16页,共54页,编辑于2022年,星期一 事务执行
7、写操作前,生成该次写操作的日志。为了使用日志恢复数据库,日志必须放在稳定存储器上。第17页,共54页,编辑于2022年,星期一 1延迟的数据库修改 延迟修改技术通过在日志中记录所有的数据库修改,将一个事务的所有write操作拖延到事务部分提交时才执行,从而保证事务的原子性。当事务部分提交时,日志上有关该事务的信息被用来执行延迟写。在事务完成其执行前系统崩溃,或事务中止,则忽略日志上的信息。事务Ti的执行过程:Ti开始执行前,向日志中写入记录,Ti的一次write(X)操作,导致向日志中写入一条新记录。当Ti部分提交时,向日志中写入记录。第18页,共54页,编辑于2022年,星期一当Ti部分提交
8、时,日志中相关的记录用来执行延迟写。执行更新时可能发生故障,更新前将日志记录写到稳定存储器上。然后进行更新,事务提交。第19页,共54页,编辑于2022年,星期一 仍然用银行的例子说明:T0:read(A)T1: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。第20页,共54页,编辑于2022年,星期一 日志:第21页,共54页,编辑于2022年,星期一利用日志,可以恢复易失性存储器上的信息丢失恢复过程:redo(Ti):将事务Ti更新的所有数据项的
9、值置为新值。故障发生后,恢复子系统检查日志,以确定需要重新执行的事务。事务Ti需要重新执行,当且仅当日志中有和。如果系统在事务完成后崩溃,用日志信息可以将系统恢复到系统完成后的一致状态。第22页,共54页,编辑于2022年,星期一 此时发生崩溃,系统重新启动,不必做redoA,B的值仍为1000和2000。第23页,共54页,编辑于2022年,星期一 此时发生崩溃,系统重新启动,做redo(T0)A的值950,B的值2050,C的值700 第24页,共54页,编辑于2022年,星期一 此时发生崩溃,系统重新启动,做redo(T0)和redo(T1)。A的值950,B的值2050,C的值600
10、第25页,共54页,编辑于2022年,星期一2立即的数据库修改 立即更新技术允许数据库修改在事务仍处于活跃状态时就进行数据库修改。活跃事务所做的数据库修改称为未提交修改。发生故障时,利用日志记录将数据库恢复成旧值。用undo操作完成。事务Ti的执行过程:Ti开始执行前,向日志中写入记录,Ti的一次write(X)操作,导致向日志中写入一条新记录。当Ti部分提交时,向日志中写入记录。第26页,共54页,编辑于2022年,星期一 还用银行的例子。日志:第27页,共54页,编辑于2022年,星期一利用日志,可以恢复易失性存储器上的信息丢失恢复过程:undo(Ti):将事务Ti更新的所有数据项恢复为
11、旧值。redo(Ti):将事务Ti更新的所有数据项的值置为新值。故障发生后,恢复子系统检查日志,以确定哪个事务需要redo,哪个需要undo。第28页,共54页,编辑于2022年,星期一 事务Ti需要redo,当且仅当日志中有和。事务Ti需要undo,当且仅当日志中有而没有。第29页,共54页,编辑于2022年,星期一 此时发生崩溃,系统重新启动,发现有而没有,T0的操作必须取消。执行undo(T0)。第30页,共54页,编辑于2022年,星期一 此时发生崩溃,系统重新启动,做undo(T1)和redo(T0)。第31页,共54页,编辑于2022年,星期一 此时发生崩溃,系统重新启动,做red
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第七章 恢复系统PPT讲稿 第七 恢复 系统 PPT 讲稿
限制150内