ITPub博客

首页 > 数据库 > 数据库开发技术 > 数据库三种故障及其恢复手段

数据库三种故障及其恢复手段

原创 数据库开发技术 作者:1030249563 时间:2020-12-26 09:12:12 0 删除 编辑

三种故障:

1.事务故障:事务内部的故障,主要有可预期和不可预期的。

解决办法:可预期的用户会在写应用程序的时候用 if 语句避免,不可预期的系统自动根据日志文件对事务进行撤销和重做。

2.系统故障:由于各种原因导致系统停止运行,使得缓冲区里的数据没写进磁盘造成的故障,对数据库无损害。

基本解决方法:
(1)正向扫描日志文件找到 已提交的事务和  未提交的事务
(2)已提交的加入redo队列,未提交的加入undo队列。
(3)反向扫描日志文件对undo队列里所有事务执行逆操作,正向扫描日志文件对redo队列里的所有事务重做。

 

检查点法:
(注:建立检查点时会强制把此时缓冲区的数据写入磁盘)

(1)在日志文件里找发生故障前的最后的一个检查点。
(2)把这个检查点记录里的所有正在运行的事务加入undo队列。
(3)从检查点开始正向扫描日志文件遇到一个事务的开始就把这个事务加入undo队列,遇到一个事务的结束就把这个事务从undo队列加到redo队列。
(4)对undo队列里事务执行撤销,对redo队列里的事务实行重做。

3.介质故障:硬件故障造成的数据库损坏,数据丢失。

解决办法:重装副本,再根据日志文件把已完成的事务redo。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69966433/viewspace-2745545/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
需要采集软件+V❤:1030249563

注册时间:2020-03-13

  • 博文量
    18
  • 访问量
    12634