1 / 180
文档名称:

恢复系统.pptx

格式:pptx   大小:1,689KB   页数:180页
下载后只包含 1 个 PPTX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

恢复系统.pptx

上传人:wz_198613 2019/1/5 文件大小:1.65 MB

下载得到文件列表

恢复系统.pptx

相关文档

文档介绍

文档介绍:主要内容
故障分类
存储器结构
恢复与原子性
基于日志的恢复
Shadow Paging
并发事务的恢复
缓冲管理
非易失性存储器丢失信息的故障
Advanced Recovery Techniques
ARIES Recovery Algorithm
故障分类
事务故障:
逻辑错误: 因为某些内部错误条件导致事务不能完成
系统错误: 因为某种错误条件(如死锁)导致数据库系统终止一个活跃事务
系统崩溃: 停电故障或者其他软硬件故障导致系统崩溃
故障-停止假设: 假设非易失性存储器的内容不会因系统崩溃而破坏
数据库系统可通过许多完整性检查来防止磁盘数据被破坏
介质故障: 磁头损坏或类似的磁盘故障可能破坏全部或部分磁盘存储器
假设损坏是可以检测到的: 磁盘驱动器使用校验和来检测故障
恢复算法
恢复算法是指即使发生故障也能确保数据库一致性和事务原子性及持久性的技术
恢复算法两个部分
在正常事务处理过程中采取动作来确保有足够的信息用于从故障恢复(即事前预防措施,保证有尽量多的信息在故障中保存下来)
在故障发生后采取行动作将数据库内容恢复到一个确保原子性, 一致性和持久性的状态(即事后的恢复措施,保证原子性,一致性,耐久性)
存储器结构
易失性(Volatile)存储器
不能在系统崩溃后保存下来
例如: 主存, 高速缓存
非易失性(Nonvolatile)存储器
可以在系统崩溃后保存下来
例如: 磁盘, 磁带, 闪存, 非易失性RAM (电池供电)
稳定(Stable)存储器
虚构的能够经受任何故障的存储器
可用多个非易失性介质存储相同的副本来近似
稳定存储器的实现
在不同磁盘上维持多个副本
副本可以在远程站点上, 以防止象火灾或洪水之类的灾难
在数据传输过程中的故障仍然可导致不一致的副本,块传输的结果可能是
成功完成
部分失败: 目标块有错误信息
完全失败: 目标块根本没有更新
在数据传输过程中防止存储介质出故障的解决方法
输出操作如下执行(假设每个块有两个副本):
将信息写到第一个物理块
当第一个写操作成功完成, 再将相同信息写到第二个物理块
仅当第二个写操作成功完成之后输出才算完成
稳定存储器的实现
在数据传输过程中防止存储介质出故障(续):
块的副本间可能因输出操作过程中的故障而有不同,为了从故障恢复:
首先找到不一致的块
高代价的解决方法: 比较每个磁盘块的两个副本
更好的解决方法
将正在进行的磁盘写操作记录在非易失性存储器上(非易失性RAM或者磁盘的特定区域)
恢复时利用此信息找到可能不一致的块, 只需比较这些块的副本
用于硬件RAID系统
如果不一致块的一个副本上检测到错误(错误的校验和), 则用另一副本覆盖它即可
如果两个副本都没有错误但却不一致, 则用第二个块覆盖第一个块
数据存取
物理块是位于磁盘上的块
缓冲块是临时位于主存中的块
磁盘和主存之间的块移动通过下列两个操作来引发:
input(B) :将物理块 B 传入主存
output(B): 将缓冲块 B 传到磁盘, 并且替换相应的物理块
每个事务Ti 都有自己的私有工作区, 用来保存它存取和更新的所有数据项的局部副本
Ti 对应于数据项 X 的局部副本记为xi
为简单起见, 假设每个数据项都能存入并且确实存储在单个块中
数据存取
事务使用下列操作来在系统缓冲块和它的私有工作区之间传送数据项:
read(X) 将数据项X 的值赋给局部变量xi.
write(X) 将局部变量 xi 的值赋给缓冲块中的数据项 X
这两条命令在赋值前都可能要求发出 input(BX) 指令, 如果X 所在的块 BX 当前不在主存中的话
数据存取
事务
第一次访问 X 时执行read(X)
以后的访问是对局部副本进行的
最后一次访问之后, 执行write(X)
output(BX) 不必紧随write(X)立即执行
系统可在它认为适当的时候执行output 操作
数据存取例
x
Y
A
B
x1
y1
缓冲区
缓冲块 A
缓冲块 B
input(A)
output(B)
read(X)
write(Y)
磁盘
T1的工作区
T2的工作区
内存
x2