10数据库的备份与恢复32页PPT
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
恢复子系统可以定期或不定期地建立检查点保存 数据库状态。检查点可以按照预定的一个时间间隔建 立。如,每隔一小时建立一个检查点;也可以按照某 种规则建立检查点,如日志文件已写满一半建立一个 检查点。
使用检查点方法可以改善恢复效率。当事务T在 一个检查点之前提交,T对数据库所做的修改一定都 已写入数据库,写入时间是在这个检查点建立之前或 在这个检查点建立之时。这样,在进行恢复处理时, 没有必要对事务T执行Redo操作。
如果先写DB,则可能在写的中途发生系统崩 溃,导致内存缓冲区内容丢失,而外存DB处 于不一致状态,由于日志缓冲区内容已破坏, 导致无法对DB恢复。
日志记录将要发生何种修改。
写入DB表示实际发生何种修改。
服务器容错技术:
磁盘镜像,双机备份,双机磁盘阵列
服务器
服务器
服务器
服务器
服务器
RAID
RAID(磁盘阵列:Redundant Array of Inexpensive Disk,简称RAID技术)。它是1988年由美国加州大学 Berkeley分校的David Patterson教授等人提出来的磁 盘冗余技术。从那时起,磁盘阵列技术发展得很快, 并逐步走向成熟。
RAID 0 (0级磁盘阵列) RAID 0又称数据分块,即把数据分布在多个盘
上,没有容错措施。其容量和数据传输率是单机容量 的N倍,N为构成磁盘阵列的磁盘机的总数,I/O传输 速率高,但平均无故障时间MTTF(Mean Time To Failure)只有单台磁盘机的N分之一,因此零级磁盘阵 列的可靠性最差。
● 日志内容包括:记录名、旧记录值、新记录值、 事务标识符、操作标识符等。
– 基本的恢复操作:
对圆满事务所做过的修改操作应执行redo操作, 即重新执行该操作,修改对象被赋予新记录 值。
对夭折事务所做过的修改操作应执行undo操 作,即撤消该操作,修改对象被赋予旧记录 值。
– 先写日志的原则(WAL) 对于尚未提交的事务,在将DB缓冲区写到外 存之前,必须先将日志缓冲区内容写到外存 去。
检查点
故障点
REDO
撤消
数据库恢ቤተ መጻሕፍቲ ባይዱ(小结)
- 定义
● 恢复是把数据库从错误状态恢复到某一正确状态 的功能,从而确保数据库的一致性。
● 恢复的基本原理是冗余,即数据库中任一部分的 数据可以根据存储在系统别处的冗余数据来重建。
- 日志
● 日志文件是用来记录数据库的每一次更新活动的 文件,由系统自动记录。
RAID 2 (2级磁盘阵列) RAID 2又称位交叉,采用汉明码作盘错检验,
10数据库的备份与恢复
56、死去何所道,托体同山阿。 57、春秋多佳日,登高赋新诗。 58、种豆南山下,草盛豆苗稀。晨兴 理荒秽 ,带月 荷锄归 。道狭 草木长 ,夕露 沾我衣 。衣沾 不足惜 ,但使 愿无违 。 59、相见无杂言,但道桑麻长。 60、迢迢新秋夕,亭亭月将圆。
数据库技术
第 10 讲 数据库的备份与恢复
RAID l (1级磁盘阵列) RAID l又称镜像(Mirror)盘,采用镜像容错来提
高可靠性。即每一个工作盘都有一个镜像盘,每次写 数据时必须同时写入镜像盘,读数据时只从工作盘读 出。一旦工作盘发生故障立即转入镜像盘,从镜像盘 中读出数据,然后由系统再恢复工作盘正确数据。因 此这种方式的数据可以重构,但工作盘和镜像盘必须 保持一一对应关系。这种磁盘阵列可靠性很高,但其 有效容量减小到总容量一半以下。因此RAID l 常用 于对出错率要求极严的应用场合,如财政、金融等领 域。
登记日志文件( Logging )
原则: 登记的次序严格按事务执行的时间次序。 必须先写日志,后写数据库。
3、恢复策略
事务故障的恢复 指事务在运行至正常终点前被终止。
a.反向扫描日志文件,查找该事务的更新操作。 b.对该事务的更新操作执行逆操作。
说明:事务故障的恢复由系统自动完成。
系统故障的恢复 a.正向扫描日志文件,找出故障发生前已提交的事务, 将其放入重做(REDO)队列;找出故障发生前未 提交的事务,将其放入撤消(UNDO)队列。 b.对撤消(UNDO)队列中的事务进行撤消处理。 c.对重做(REDO)队列中的事务进行重做处理。
– 隔离性(Isolation) 系统必须保证事务不受其它并发执行事务的影响。 对任何一对事务T1,T2,在T1看来,T2要么在T1开 始之前已经结束,要么在T1完成之后再开始执行。 隔离性通过并发控制机制实现。
– 持久性(Durability) 一个事务一旦提交之后,它对数据库的影响必须是 永久的。
事务状态
部分 提交状态
提交状态
活动状态
最后一条语 成功完成,永 句被执行后 久写入数据库
初始状态
失败状态
中止状态
事务无法继 续正常执行
事务回滚,数据库恢 复到事务开始前状态
2、日志文件 日志文件的格式和内容
日志文件是用来记录事务对数据库的更新操作 的文件。不同数据库系统采用的日志文件格式并不 完全一样。
每个日志记录的内容主要包括: 事务标识 (标明是哪个事务) 操作的类型(插入、删除或修改) 操作对象(记录内部标识) 更新前数据的旧值 (对插入操作而言,此项为空值) 更新后数据的新值 (对删除操作而,此项为空值)
日志文件的作用:
正常运行
故障点 登记日志文件
数据库恢复
利用日志文件恢复事务 继续运行 登记日志文件
介质故障的恢复 a.装入数据库备份和日志文件备份。 b.重做已完成的事务。
具有检查点(checkpoint)的恢复技术
问题的提出:在执行恢复操作时,需要扫描整个日志 文件,有可能重复执行某些操作。
检查点的用途是在磁盘上建立事务处理一致性的标志。
技术原理:在日志文件中增加一类新记录,检查点; 增加一个重新开始文件; 恢复子系统动态维护日志。
进行数据的备份是数据库的日常维护工作之一。
事务特性(ACID)
– 原子性(Atomicity) 事务中包含的所有操作要么全做,要么全不做。
– 一致性(Consistency) 事务的隔离执行必须保证数据库的一致性。 事务开始前,数据库处于一致性的状态;事务结 束后,数据库必须仍处于一致性状态。