三种不同的数据库故障,其恢复数据库的策略也是不同的 

  • 事务故障的恢复
  • 系统故障的恢复
  • 介质故障的恢复

1、事务故障的恢复

事务故障:事务运行至正常终点前被终止

恢复方法:利用日志文件撤销此事务对数据库进行的修改

恢复步骤

  • 反向扫描日志文件,查找该事务的更新操作
  • 对该事务的更新操作执行逆操作:即是将更新前的值写入数据库

特点:事务故障的恢复由系统自动完成,不需要用户进行干预

2、系统故障的恢复

系统故障造成数据库不一致性的原因:

  • 未完成事务对数据库的更新已经写入数据库
  • 已经提交的事务仍然留在缓冲区,没有写入数据库

恢复的方法:

  • Undo故障发生时未发生的事务
  • Redo已经完成的事务

恢复的步骤:

  • 正向扫描日志文件,根据有无BEGIN TRANSACTION和COMMIT记录来分类Undo队列和Redo队列
  • 对Undo队列的事务进行撤销处理(反向扫描,将更新前的值写入数据库)
  • 对Redo队列的事务进行重做处理(正向扫描,将更新后的值写入数据库)

特点:系统故障的恢复由系统在重新启动的时候自动恢复,不需要用户干预

3、介质故障的恢复:

  • 重装数据库
  • 重做已经完成的事务

恢复步骤:

①、装入最新的后备数据库副本,是数据库恢复到最近一次数据库一致性的状态

  • 对于静态转储的数据库副本,装入后数据库即处于一致性的状态
  • 对于动态转储的数据库副本,还必须装入转储时刻的日志文件副本,利用恢复系统故障的方法,才能将数据库恢复一致性状态

②、装入有关的日志文件副本,重做已经完成的事务

  • 首先扫描日志文件,找出故障发生时已经提交的事务的表示,将其记入重做队列
  • 然后正向扫描日志文件,将重做队列中的事务进行重做处理,即将更新后的值写入数据库

特点:介质故障的恢复需要管理员的介入

管理员的工作:

  • 重装最近一次的数据库副本以及日志文件副本
  • 执行系统提供的恢复命令,但是具体的恢复操作仍由数据库管理系统完成

3、小结

数据库原理 恢复策略相关推荐

  1. 数据库备份恢复策略_如何根据备份策略选择和检查正确的数据库恢复模型

    数据库备份恢复策略 介绍 (Introduction) Following best practices, we should apply principles like segregation of ...

  2. 数据库原理 恢复的实现技术

    恢复的实现技术 恢复机制涉及的关键问题是什么? 如何建立冗余数据(数据转储.登记日志文件) 如何利用这些冗余数据实施数据恢复 转储 1.什么是数据转储? 转储是数据库管理员 定期将数据库 复制到磁带. ...

  3. 【数据库原理及应用】经典题库附答案(14章全)——第七章:数据库恢复技术

    [数据库原理及应用]经典题库附答案(14章全)--第一章:数据库基础知识 [数据库原理及应用]经典题库附答案(14章全)--第二章:关系数据库知识 [数据库原理及应用]经典题库附答案(14章全)--第 ...

  4. mysql数据库恢复策略_MySQL 备份和恢复策略(一)

    在数据库表丢失或损坏的情况下,备份你的数据库是很重要的.如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态.本文主要对MyISAM表做备份恢复. 备份策略一:直接拷贝数据 ...

  5. PG数据库内核分析学习笔记_XLOG日志恢复策略

    PG数据库内核分析学习笔记_XLOG日志恢复策略 在PostgreSQL中,系统在崩溃后重新启动时会调用StartupXlog入口函数. // xlog.c /** This must be call ...

  6. 数据库的故障及其恢复策略

    在数据库运行过程中,可能会出现各种各样的故障,这些故障可分为以下三类:事务故障.系统故障和介质故障.应该根据故障类型的不同,采取不同的恢复策略. 1,事务故障及其恢复: 事务故障表示由非预期的.不正常 ...

  7. 数据库恢复技术(事物、三种更新策略以及恢复策略)

    数据库恢复技术(事物.三种更新策略以及恢复策略) 数据库恢复所要达到的目标 数据库为了达到目标的恢复策略 事务和日志的基本内容 事务的基本内容 日志的基本内容 更新数据库规则和三种更新策略 数据库更新 ...

  8. 考研复试数据库原理课后习题(十)——数据库恢复技术

    数据库恢复技术 1.事务是用户定义的一个数据库操作序列,这些操作要么全做,要么不做,是一个不可分隔的工作单位. 事务具有四个特性(ACID):原子性.一致性.隔离性.持续性 原子性:事务是数据库的逻辑 ...

  9. 数据库恢复---恢复策略

    事务故障的恢复 事务故障:事务在运行到正常终点前停止,恢复子系统用日志文件撤销(UNDO)事务已对数据库进行的修改. 事务故障的恢复步骤 从后向前扫描日志文件,查找事务的更新操作. 对该事务的更新操作 ...

最新文章

  1. Windows查看端口被占用的程序!
  2. mysql存储过程写法—动态参数运用
  3. 【SQL编程】Greenplum 实现树结构+自定义函数+避免函数重复调用+ function cannot execute on a QE slice 问题处理(优化过程全记录)
  4. Android USB转串口开发(hoho.android.usbserial串口库)
  5. 【caffe-Windows】微软官方caffe之 matlab接口配置
  6. Java高级工程师必看系列,已拿到offer
  7. NET 提供了执行异步操作的三种模式
  8. 防止Linux库so中的接口冲突
  9. python制作u盘病毒_十行代码--用Python写一个USB病毒!
  10. vector用法 java equals_java泛型vector的用法 | 学步园
  11. linux性能监控命令dstat详解【杭州多测师_王sir】【杭州多测师】
  12. 2019年Python数据挖掘就业前景前瞻
  13. ftp服务器的创建文件夹,ftp服务器创建文件夹命令
  14. Leetcode-二分+递归/回溯-1723. 完成所有工作的最短时间
  15. 【学习笔记】密码学入门(2) 单向散列函数,消息认证码,数字签名,证书
  16. 微信开发:JS自动关闭内置浏览器回到微信对话窗口
  17. 本周AI热点回顾:AI消除马赛克神器公布;Github黑暗模式正式发布;「中国AlphaFold」创生!
  18. iOS 17 开放侧载,微信双开要来了?
  19. DDOS防御的发展和演变
  20. html5连连看源码解析,JS连连看源码完美注释版(推荐)

热门文章

  1. Python 字典(Dictionary) setdefault()方法
  2. Nginx 启动、关闭、重启、检测等常用命令
  3. 医药采购之采购单模块需求
  4. kindeditor获取html
  5. JavaScript之DOM常用属性及方法详解
  6. 树莓派linux 容量不足,树莓派内存不足,使用zram来压缩数据增加内存
  7. 10月25日:《千字文》故事:王永德
  8. 怎么编辑图片大小?图片如何调整尺寸大小?
  9. 高中学历能学python_高中生学Python编程基础知识(4) | k12教育网
  10. 我,Jeff Dean弟子,拒过Bengio的offer,还需要去混个本科学历么?