系统故障的恢复机制,是数据库课程里挺关键的一块。像事务没跑完,怎么撤销;提交了的,又怎么重做,嗯,课件里讲得还蛮清楚。挺适合刚上手数据库事务管理的同学,也适合回炉复习用。
UNDO和REDO两个流程都拆开讲了,逻辑也比较顺。有图配着流程看,理解起来不吃力。
里面讲的恢复流程,大致就是:系统崩了,先撤销那些没做完的,用的是UNDO
;重做那些已经提交的事务,用的是REDO
。这块你要是搞不明白,调试事务的时候容易翻车。
配套的文章也不少,像事务故障恢复的数据库技术这篇,补充得蛮详细,还有像Oracle 数据库缓冲区性能优化,如果你是在做Oracle
,可以搭着看。
建议你搞清楚缓冲区
和事务日志
之间的关系,恢复机制靠它们撑着。别忘了提交之后不等于立刻写盘,缓冲区
还在那兜着呢,一崩就得靠REDO
补救。
如果你正准备搞个自己的数据库小项目,或者对事务一致性
这块有点兴趣,这份课件还蛮值得翻翻的。