数据库系统-故障与恢复:事务故障、系统故障和介质故障的恢复

  • 1,事务故障的恢复
    • 2,系统故障的恢复
    • 3,介质故障的恢复:重装数据库,然后重做已完成的事务。

1,事务故障的恢复

(1) 反向扫描日志文件,查找该事务的更新操作。
(2) 对该事务的更新执行逆操作,即将日志记录中“更新前的值”写入数据库。
(3) 继续反向扫描日志文件,查找该事物的其它更新操作,并做同样处理。
(4) 如此继续下去,直到读到此事务的开始标记,事务故障恢复就完成了。

2,系统故障的恢复

(1) 正向扫描日志文件,找出在故障发生前已经提交的事务,将其事务标识记入重做队列(REDO-LIST)。同时找出故障发生时尚未完成的事务,将其事务标识记入撤销队列。
(2) 对撤销对列中的各个事务进行撤销处理。进行撤销处理的方法是,反向扫描日志文件,对每个撤销事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库。
(3) 对重做队列中的各个事务进行重做处理。进行重做处理的方法是:正向扫描日志文件,对每个重做事务重新执行日志文件登记的操作,即将日志记录中“更新后”的值写入数据库。

3,介质故障的恢复:重装数据库,然后重做已完成的事务。

(1) 装入最新的数据库后备副本(离故障发生时刻最近的转储副本),使数据库恢复到最近一次转储时的一致性状态。
(2) 转入相应的日志文件副本,重做已完成的事务。即首先扫描日志文件,找出故障发生时已提交的事物的标识,将其记入重做队列;然后正向扫描日志文件,对重做队列中的所有事务进行重做处理。即将日志记录中“更新后的值”写入数据库。

参考资料:数据库系统概论(第五版)王珊,高等教育出版社

事务故障、系统故障和介质故障的恢复相关推荐

  1. 关系数据库——数据库恢复

    实现技术 恢复操作的基本原理:冗余  恢复机制涉及的两个关键问题 如何建立冗余数据 数据转储(backup) 登录日志文件(logging)  如何利用这些冗余数据实施数据库恢复 数据转储 数据转储定 ...

  2. 超硬核!数据库学霸笔记,考试/面试随便秒杀

    废话不多说,上干货是兔老大的传统了,收藏就完事了. 目录 数据库系统概论 四个基本概念 数据模型 数据库系统结构 数据库系统模式的概念 数据库系统的三级模式结构 数据库的二级映像功能与数据的独立性 数 ...

  3. 软考数据库详细知识点整理(全)

    目录 第一章 计算机系统基本知识 1.1 计算机系统 1.1.1 计算机硬件组成 1.1.2 中央处理单元 1.1.3 数据表示 1.1.4 校验码 1.2 计算机体系结构 1.2.1 体系结构分类 ...

  4. 数据库原理与应用课程知识点

    数据库原理与应用课程知识点 文章目录 数据库原理与应用课程知识点 **第一章 绪论** 数据.数据库.数据库管理系统.数据库系统的概念 数据管理技术发展的三个阶段及各阶段的优缺点 概念模型中的基本术语 ...

  5. 数据库笔记整理--基于《数据库系统概论》第五版王珊一书|复习提纲和错题整合

    数据库原理复习大纲 第一章 数据库概述 1.1 概述 1.基本概念 数据库(DB).数据库管理系统(DBMS).数据库系统(DBS)概念 数据库是存储在计算机内.有组织的.可共享的数据集合. 数据库管 ...

  6. MySQL入门(持续更新)

    文章目录 0.SQL概述总括 1.思维导图 2.入门SQL需要学习以下几个方面 3.SQL使用方式分类 一. 数据库基础概念 1.名词概念 2.数据库分类 3.数据库系统的体系结构(三级模式和两级映像 ...

  7. 《数据库系统概论》课程指南

    <数据库系统概论>课程指南 课程目标 知识:掌握数据库系统的组成.关系数据库理论.数据库设计以及数据库编程.查询优化等方面的知识 能力: 具备分析问题并能进行数据库设计的能力 熟练掌握SQ ...

  8. 数据库系统概论:第十章 数据库恢复技术

    事务是一系列的数据库操作,是数据库应用程序的基本逻辑单元.事务处理(transaction processing)技术主要包括数据库恢复技术和并发控制技术. 10.1 事务的基本概念 事务:是用户定义 ...

  9. 『数据库』你以为删库跑路就能让你老板内(lei)牛(liu)满面--数据库的恢复技术

    数据库从入门到精通:戳我 文章目录 一. 事务的基本概念 1.事务 1.1what's the 事务: 1.2事务的定义 1.2.1 事务的显示定义 1.2.2 事务的隐式定义方式 2.事务的ACID ...

  10. 数据库恢复相关知识笔记

    1.数据库恢复的原理 数据库恢复的原理主要是在数据库发生故障之后,建立冗余数据,在故障发生之后利用冗余数据来完成数据库恢复.数据转储和建立日志文件是建立冗余数据常用的技术手段.一般情况下两种技术手段会 ...

最新文章

  1. android系统可以破吗,你的手机系统破到什么程度?一键查安卓漏洞
  2. 【机器视觉】 Halcon批量加载图像
  3. NLTK自带的词干提取器
  4. python开发小型数据库_Python开发【第十七篇】:MySQL(一)
  5. 【深度学习之ResNet】——深度残差网络—ResNet总结
  6. ZZULIOJ 1062:最大公约数
  7. SQL中的数据转换服务,数据库迁移
  8. 人际沟通最忌讳一脸死相【转】
  9. html5开发桌面程序调用dll,使用Visual Studio开发Html5应用
  10. android 对象输出到文件
  11. Python获取实时的时间
  12. Gif图片分解(支持批量)
  13. 中长焦投影仪买哪款好,当贝X3高流明热销你值得看
  14. CDN加速技术可以解决网络客户的哪些痛点问题?
  15. 精心整理了50个数据源网站(建议收藏)
  16. NDK (C++) 开发中如何使用 ASan 检测内存越界、溢出等内存错误
  17. e.keycode 代码含义
  18. php订阅号发送消息,php实现微信公众号主动推送消息
  19. C++读txt文件,存入vector容器中
  20. 设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)

热门文章

  1. 将中划线转为驼峰式写法
  2. selenium-登录腾讯防水墙案例
  3. spring学习笔记 (6)使用mybatis操作数据库增删改查
  4. 使用linaro工具链编译ARM64架构内核
  5. 网站嵌入YouTube视频
  6. 【直播】陈安东,马琦钧:赛题Baseline讲解以及语音识别基础知识介绍
  7. 用Java来解析torrent文件
  8. Schematic export failed or was cancelled. Please consult the transcript in the source windo
  9. windows远程桌面不能复制粘贴的解决办法
  10. 〖Python 数据库开发实战 - MySQL篇②〗- 一文通解关系型数据库与非关系型数据库