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

Posted 梦西空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库三种故障及其恢复手段相关的知识,希望对你有一定的参考价值。

三种故障:

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

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

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

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

 

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

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

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

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

以上是关于数据库三种故障及其恢复手段的主要内容,如果未能解决你的问题,请参考以下文章

数据库恢复技术

数据库恢复技术

数据库恢复技术

浅述实现系统高可用,常用的解决手段

从炉石传说数据库故障谈谈MongoDB的数据库备份和恢复手段

深度技术Windows系统中unity web player是啥程序