事务故障、系统故障和介质故障的恢复

2023-10-30

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

1,事务故障的恢复

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

2,系统故障的恢复

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

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

事务故障、系统故障和介质故障的恢复 的相关文章

  • 为什么我这么累?

    本月十六日 我和媳妇喜爱的歌手姚贝娜去世了 你是个好歌手 真正的热爱音乐 希望你在天堂里面开心的唱歌 我是个参加工作不久的小程序员 过着家 地铁 公司三点一线的生活 每天早上七点二十出门 地铁上一个多小时 8点五十到公司 下午六点下班 一个
  • 【FreeRTOS 信号量】互斥信号量

    互斥信号量与二值信号量类似 但是互斥信号量可以解决二值信号量出现的优先级翻转问题 解决办法就是优先级继承 普通互斥信号量创建及运行 参阅安富莱电子demo 互斥信号量句柄 static SemaphoreHandle t xMutex NU

随机推荐

  • 卷积神经网络中卷积层、池化层、全连接层的作用

    1 卷积层的作用 卷积层的作用是提取输入图片中的信息 这些信息被称为图像特征 这些特征是由图像中的每个像素通过组合或者独立的方式所体现 比如图片的纹理特征 颜色特征 比如下面这张图片 蓝色框框住的地方就是脸部特征 这些特征其实是由一个个像素
  • 消息鉴别码的原理与应用

    消息鉴别码可以确认自己收到的消息是否就是发送者的本意 也就是说 使用消息鉴别码可以判断消息是否被篡改 以及是否有人伪装成发送者发送该消息 消息鉴别码实现鉴别的原理是 用公开函数和密钥产生一个固定长度的值作为认证标识 用这个标识鉴别消息的完整
  • uml活动图

    活动图与交互图的区别 交互图强调的是对象到对象的控制流 而活动图则强调的是从活动到活动的控制流 初始节点和活动终点 用一个实心圆表示初始节点 用一个圆圈内加一个实心圆来表示活动终点 活动节点 是活动图中最主要的元素之一 它用来表示一个活动
  • 基于CNN的人脸表情识别系统

    基于CNN的人脸表情识别系统 主要功能 1 图片识别 可以通过上传本地图片 进行表情识别 2 拍照识别 点击拍照识别按钮 可以调用摄像头实现拍照 并进 行表情识别 实现原理 1 表情库的建立 fer2013人脸数据集 可以从kaggle网站
  • 上/下采样的方法

    下采样方式一般使用池化 pooling 操作 上采样 upsampling 的三种方式 插值法 Interpolation 插值就是在周围像素色彩的基础上用数学公式计算补充插入像素点的色彩 但必须注意的是插值并不能增加图像信息 如双线性插值
  • 数字电子技术-逻辑门电路

    文章目录 一 理想开关 二 基本CMOS逻辑门电路 2 1 MOS管开关特性 2 2 CMOS反相器 2 3 常用CMOS逻辑门电路 2 4 CMOS传输门 2 5 CMOS漏极开路门和三态输出门电路 2 6 CMOS逻辑门电路的重要参数
  • 写一个GitHub图床

    刚刚完成一个作业 涉及到图片的上传服务 因为自己经常会有一些图片管理的需求 七牛云 阿里云的oos存储又是付费的 所以自己根据GitHub的官方API搭建一个自己的图床服务 以便后续自己开发使用 参考地址 GitHubAPI import
  • GoLang - colly爬虫框架

    大家好 我是TheWeiJun 很高兴又和大家见面了 国庆假期马上就要结束了 在国庆假期里小编看了下colly框架 故这篇文章中将提到colly的使用及分析 欢迎各位读者多多阅读与交流 特别声明 本公众号文章只作为学术研究 不作为其它不法用
  • 实践安装minio

    一 下载安装文件 1 在home目录下创建minio文件夹 mkdir home minio 2 进入 home minio 文件夹 cd home minio 3 下载文件 此处下载比较慢 建议手动下载 然后上传到目录中 wget htt
  • springboot集成nacos配置中心踩坑记录

    目录 1 下载安装 准备 下载地址 可以尝试选择最新版本 解压 2 添加数据库配置 特别注意 3 登陆nacos添加配置 4 springboot项目中获取配置中心配置 1 引入依赖 2 创建bootstrap yaml配置文件 3 启动注
  • 在嵌入式板子ARMv7 上利用neon对彩色图转换为灰度图进行加速

    RGB转GRAY公式如下 本实验通过对一张1920 1080 分辨率大小RGB彩色图进行灰度图转换测试耗时时间 测试条件为 嵌入式开发板ssc9381g A7 通过四种转换方式进行耗时对比 结果如下 方式1 通过opencv 库函数cvtC
  • 线程池异常java.util.concurrent.RejectedExecutionException

    问题及代码 使用 ThreadPoolExecutor 自定义线程池时 出现java util concurrent RejectedExecutionException的错误信息 源代码如下 public static void main
  • JVM系列(二) Java 堆内存分析

    Java 堆内存分析 堆是GC 垃圾收集器 执行垃圾回收的重点区域 所以今天我们着重讲下堆内存 自己的项目 如果出现OOM或者出现内存泄露 一定是出在堆内存上 因为堆是JVM中最大的一块内存空间 所有线程共享Java堆 物理上不连续的逻辑上
  • Vue/cli 3.0中使用百度地图api

    1 申请百度地图ak ak会在引入百度js的时候用到 你可以点击这里申请一个唯一ak 2 引入百度地图js 在public index html里面添加下面代码 注意把 你的ak 替换成你申请的ak 复制代码 3 配置webpack 由于c
  • 深度学习激活函数和权值初始化

    激活函数选择总结 尽量选择ReLU函数或者Leakly ReLU函数 相对于Sigmoid tanh ReLU函数或者Leakly ReLU函数会让梯度流更加顺畅 训练过程收敛得更快 权值初始化总结 好的初始化方法可以防止前向传播过程中的信
  • VB6反编译详解

    标 题 VB6反编译详解 一 作 者 kenmark时 间 2006 07 09 16 59 链 接 http bbs pediy com showthread php threadid 28715 详细信息 VB6反编译详解 by Ken
  • Juc04_阻塞队列概述、方法、实现类、Linked和Array区别、注意事项

    文章目录 什么是阻塞队列 BlockingQueue的主要方法 BlockingQueue的实现类 Linked和Array区别 不推荐使用快捷的线程池 什么是阻塞队列 阻塞队列 从名字可以看出 它也是队列的一种 那么它肯定是一个先进先出F
  • 在 Shell 中用 echo 输出变量丢失换行符的问题

    原文链接 http hi baidu com moligaloo item b404cf0736d085dd72e6765f 若 foo txt 是一个含有多行文本的文本文件 如 hello world 使用如下命令 foo cat foo
  • chrome浏览器如何避免network报错:ERR_CERT_AUTHORITY_INVALID并添加为例外或继续前往

    版权声明 转载请注明作者 独孤尚良dugushangliang 出处 https blog csdn net dugushangliang article details 101421339 本文接续https blog csdn net
  • 事务故障、系统故障和介质故障的恢复

    数据库系统 故障与恢复 事务故障 系统故障和介质故障的恢复 1 事务故障的恢复 2 系统故障的恢复 3 介质故障的恢复 重装数据库 然后重做已完成的事务 1 事务故障的恢复 1 反向扫描日志文件 查找该事务的更新操作 2 对该事务的更新执行