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