数据库恢复--ARIES 算法 |
发布: 2009-08-12 13:19 |
大多数数据恢复均采用 ARIES 算法。该算法的三个基本原理: 1 WAL(Write-ahead logging) 写优先日志法 对于数据库的修改永远先写LOG然后再修改数据库。因此,修改数据的流程如下(假设内存中没有需要修改的数据) 从硬盘读取数据到内存中 ——〉写日志(更新记录的日志) ——〉修改内存中对应数据 该原理能确保数据不丢失,已经保证读一致性。大多数数据库都是采用这个原理。 之后,我会介绍oralce是如何使用WAL保证系统崩溃时数据库不丢失。 2 重做时重复历史 数据库会从某一时间点开始(经过分析后确定该时间点),根据该点之后所有事务日志恢复所有事务,而不是仅仅恢复提交的事务。 在我看来,重做某一时间点之后的所有事务,与只重做提交事务相比较,前者对于恢复进程而言更加简单减少判断,其他优点我暂时没有想出来。 3恢复修改记录 反做(撤消)没有提交的事务,这点能保证数据库的正确性。 |
原文: http://qtchina.tk/?q=node/321 |
Powered by zexport
|