- 1、本文档共81页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1. 重装数据库, 使数据库恢复到一致性状态 2. 重做已完成的事务 离散数学 10.5.3 介质故障的恢复 利用动态转储副本将数据库恢复到一致性状态 Ta Tb Tf 动态转储 运行事务 故障发生点 正常运行 ─┼───────┼───────────── 登记日志文件 登记新日志文件 ────────┼───────────── ? 转储日志文件 重装后备副本,然后利用转储的日志文件恢复 恢复到一 ━━━━━━┥ 致性状态 离散数学 10.5.3 介质故障的恢复 2、装入有关的日志文件副本,重做已完成的事务。 首先扫描日志文件,找出故障发生时已提交的事务 的标识,将其记入重做队列。 然后正向扫描日志文件,对重做队列中的所有事务 进行重做处理。即将日志记录中“更新后的值”写入 数据库。 介质故障的具体恢复步骤: 1、装入最新的后备数据库副本,使数据库恢复到最近 一次转储时的一致性状态。 离散数学 10.5.3 介质故障的恢复 介质故障的恢复需要DBA介入 DBA的工作 重装最近转储的数据库副本和有关的各日志 文件副本 执行系统提供的恢复命令 具体的恢复操作仍由DBMS完成 离散数学 §10.6 具有检查点的恢复技术 一、问题的提出 二、检查点技术 三、利用检查点的恢复策略 离散数学 一、问题的提出 两个问题 搜索整个日志将耗费大量的时间 REDO处理:重新执行,浪费了大量时间 解决方案 具有检查点(checkpoint)的恢复技术 在日志文件中增加检查点记录(checkpoint) 增加重新开始文件 恢复子系统在登录日志文件期间动态地维护日志 离散数学 二、检查点技术 检查点记录的内容 建立检查点时刻所有正在执行的事务清单 这些事务最近一个日志记录的地址 重新开始文件的内容 记录各个检查点记录在日志文件中的地址 离散数学 二、检查点技术 离散数学 二、检查点技术 在检查点维护日志文件步骤 1、将当前日志缓冲区中的所有日志记录写入磁盘的 日志文件上 2、在日志文件中写入一个检查点记录 3、将当前数据缓冲区的所有数据记录写入磁盘的 数据库中 4、把检查点记录在日志文件中的地址写入一个重新 开始文件 离散数学 二、检查点技术 建立检查点 定期 不定期 按照预定的一个时间间隔 按照某种规则,如日志文件已写满一半建立 一个检查点 离散数学 三、利用检查点的恢复策略 当事务T在一个检查点之前提交,T对数据库所做的 修改已写入数据库。在进行恢复处理时,没有必要 对事务T执行REDO操作 Tc (检查点) Tf(系统故障) REDO UNDO UNDO REDO T2 T3 T4 T5 不要REDO T1 离散数学 把ACTIVE-LIST暂时放入UNDO-LIST队列, REDO队列暂为空。 三、利用检查点的恢复策略 利用检查点的恢复步骤 1、从重新开始文件中找到最后一个检查点记录在 日志文件中的地址,由该地址在日志文件中找到 最后一个检查点记录 2、由该检查点记录得到检查点建立时刻所有正在 执行的事务清单ACTIVE-LIST 建立两个事务队列 UNDO-LIST、REDO-LIST 离散数学 三、利用检查点的恢复策略 3、从检查点开始正向扫描日志文件,直到日志文件 结束 4、对UNDO-LIST中的每个事务执行UNDO操作, 对REDO-LIST中的每个事务执行REDO操作 如有新开始的事务Ti,把Ti暂时放入 UNDO-LIST队列 如有提交的事务Tj,把Tj从UNDO-LIST队列 移到REDO-LIST队列 利用检查点的恢复步骤 离散数学 §10.7 数据库镜像 介质故障是对系统影响最为严重的一种故障,严重 影响数据库的可用性 介质故障恢复比较费时 为预防介质故障,DBA必须周期性地转储数据库 提高数据库可用性的解决方案 数据库镜像(Mirror) 离散数学 数据库镜像 数据库镜像 DBMS自动把整个数据库或其中的关键数据复制到 另一个磁盘上 DBMS自动保证镜像数据与主数据的一致性 出现介质故障时,DBMS自动利用镜像磁盘数据 进行数据库的恢复,不需要关闭系
文档评论(0)