1、 数据库的恢复定义
       系统能把数据库从被破坏、不正确的状态,恢复到最近一个正确的状态,就是数据库的可恢复性。主要由DBMS的恢复管理子系统采取一系列措施保证在任何情况下保持食物的原子性、持久性,确保数据部丢失,不破坏。

2、 数据库恢复的策略

a)平时做好两件事,转储和建立日志

i. 周期地对整个数据库进行拷贝,转储到另一个磁盘或磁带一类存储介质中
ii. 建立日志数据库

b) 一旦发生数据库故障,分两种情况处理

i.如果数据库未遭到物理性破坏,只是数据不一致,此时只要利用日志库撤销所有不可靠的修改,再利用重做功能,把数据库恢复到正确状态;
ii.如果数据库遭到物理性破坏,必须装入最近一次拷贝的数据库备份到新的磁盘,然后利用日志库执行重做已提交的事务,把数据库恢复。

3、 数据库的常见故障

a)事务故障(由系统完成)

i.可以预期的事务故障,即在程序中可以预先估计到的错误,解决方法:在事务代码中加入rollback语句
ii.非预期的事务故障,即在程序中发生的未估计到的错误,解决方法:由系统直接对事务执行撤销操作

b)系统故障(由系统完成),也称为软故障

i.引起系统停止运转随之要求重新启动的事件称为系统故障。
解决方法:重启之后对未完成事务做撤销处理,对已提交事务但更新还留在缓冲区的事务进行重做处理

c)介质故障(由DBA完成),也称为硬故障

i.在发生介质故障或遭受病毒破坏时,磁盘上的物理数据遭到毁灭性破坏。
解决方法:重装最近转储的后备副本到新的磁盘,使数据库恢复到转储时的一致状态,在日志中找出最近转储以后所有已提交的事务,对这些已提交的事务进行重做处理,将数据库恢复到某一时的一致状态。

4、 检查点技术
在DBS运行时,DBMS定时设置检查点,在检查点时候才真正做到把对DB的修改写到磁盘,并在日志文件上写入一条检查点记录。数据库中重做,撤销处理,实际上是采用检查点方法实现的,大多数DBMS都提供这种技术。一般DBMS产品自动实行检查点操作,无须人工干预。恢复算法:

a)根据日志文件建立事务重做队列和事务撤销队列

i. 从头扫描日志文件,找出故障中已提交的事务,标识为重做队列
ii.从头扫描日志文件,找出故障中未提交的事务,标识为撤销队列

b) 对重做队列进行REDO处理,对撤销队列进行UNDO处理

i.正向扫描日志文件,根据重做队列,对每个事务执行REDO
ii.反向扫描日志文件,根据撤销队列,对每个事务执行UNDO

数据库管理之数据库的恢复相关推荐

  1. 视频教程-Oracle12数据库管理/DBA/数据库工程师培训-Oracle

    Oracle12数据库管理/DBA/数据库工程师培训 郑老师拥有超过二十年的IT行业经验,技术总监/培训师/系统工程师/项目经理.精通系统工程的很多领域:数据库(Oracle).操作系统Unix(So ...

  2. zData 数据库一体机v5.4和 zDBM 数据库极速恢复平台v2.8正式发布!

    继8月19日数据库云管平台 zCloud v3.5发布之后,一体机产品也快速跟上,产品能力再上新台阶.今日,zData 数据库一体机v5.4正式发布,新版本增强了数据库管理能力和数据恢复能力.同期发布 ...

  3. 数据库管理员 DBA 数据库管理: 数据库基础

    数据库管理员 DBA 数据库管理: 数据库基础 基本使用 建表 数据类型 约束条件 修改表 键值 +++++RDBMS1_DAY03 mysql-5.7 1 数据导入与导出 1.1 默认检索路径 1. ...

  4. oracle数据库财务恢复,Oracle数据库备份与恢复特性浅谈【常用财务软件使用教程】...

    Oracle数据库备份与恢复特性浅谈 Oracle数据库备份与恢复有三种不同的方式,这里将简单介绍这些方式的使用策略已经Oracle数据库的用户角色管理策略. Oracle数据库备份与恢复是每个Ora ...

  5. mysql备份数据库语句6_13.4 MySQL用户管理;13.5 常用sql语句;13.6 MySQL数据库备份恢复...

    扩展 : SQL语句教程 什么是事务?事务的特性有哪些? 根据binlog恢复指定时间段的数据 mysql字符集调整 使用xtrabackup备份innodb引擎的数据库  innobackupex  ...

  6. mysql用户管理,常用sql语句,mysql数据库备份恢复

    2019独角兽企业重金招聘Python工程师标准>>> mysql用户管理 grant all on . to 'user1' identified by 'passwd'; gra ...

  7. mysql被格式化恢复数据_三种常见数据库文件恢复方法介绍

    数据库可以说是一个数据仓库,因此在数据安全方面,每个数据库从备份到恢复,都有自己的一套方法流程.今天我们就从常见的MySQL, SQL以及Oracle三种数据库,来讲讲数据库恢复方法. 首先,最简单的 ...

  8. oracle数据库硬恢复,ORACLE数据库恢复技术

    一.恢复的意义 当我们使用一个数据库时,总希望数据库的内容是可靠的.正确的,但由于计算机系统的故障(硬件故障.网络故障.进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据 ...

  9. [导入]VB实现SQL Server数据库备份/恢复

    VB实现SQL Server数据库备份/恢复 文章来源:http://blog.csdn.net/zjcxc/archive/2004/03/21/20099.aspx

最新文章

  1. Flv网络播放器制作全攻略(续)
  2. ZXing二维码和条形码
  3. JSF基于事件的沟通:过时的方法
  4. python-内存中的那些事儿-看懂变量取值的过程
  5. Windows下Mysql定时备份的实现
  6. return可以返回多个值_JDK10的新特性:var泛型和多个接口实现
  7. Android登陆界面实现-支持输入框清楚和震动效果功能
  8. python滚动条翻页爬取数据_scrapy实践之翻页爬取的实现
  9. 通过PMP认证考试的心得分享
  10. Kafka权威指南,初识 Kafka
  11. Java程序员的职业规划是什么?叩丁狼的建议
  12. 计算机一级一分钟要打多少字,打字速度分几个等级,一分钟打多少个字算较快?...
  13. 从北京到新加坡再到阿姆斯特丹,他去公布了一个惊天的“秘密”
  14. 网页游戏mysql修改_大天使之剑奇迹网页游戏 一键服务端+架设教程+修改方法
  15. 阿里实人认证java_GitHub - lap888/react-native-face-aliverify:      基于阿里金融级实人认证sdk封装分享...
  16. 算法Day8|字符串专题二 剑指 Offer 58 - II. 左旋转字符串,28. 找出字符串中第一个匹配项的下标,459. 重复的子字符串
  17. 用Chrome浏览器模拟手机,android,iphone,ipad访问网站
  18. 笑看云卷云舒,聆听花开花落
  19. long mode 分页_LuLu UI中文文档和演示 » 分页
  20. MySQL 表的建立与多表联结查询

热门文章

  1. 如何把图片背景设置透明色?如何批量图片去底色?
  2. 要成为游戏开发人员需要有以下书籍(二)
  3. 在外包干了几年,感觉自己都快费了
  4. TCP/IP协议 之IPV4与IPV6的区别
  5. Unity3d Ugui 17 Content Size Fitter
  6. 有助睡眠的方法有哪些?睡不着,这些方法就能帮到你
  7. 高斯-赛德尔(Gauss-Seidel)解线性方程组的Matlab实现
  8. 光流传感器不是一个到手就能用的PIX外设
  9. 桌面移到D盘根目录下还原的办法
  10. ZUCC_Object Oriented Programming_Lab01 Introduction to Java