日期:2014-05-16  浏览次数:20520 次

RedoLog Checkpoint 和 SCN关系

?

?

?

一.?Redo?log?作用

?

数据库异常关机(比如突然断电,shutdown?abort:?它会立即关闭数据库,等同于断电)之后,这时已经commit的事务已经记录到online?redo?log中,下次启动数据库时,Oracle进行恢复操作,将online?redo?log中的事务操作调入内存中,进行相应操作后将数据记入到数据文件中,数据操作完成。对于没有commit而已经写入数据文件或回退段的数据,也要进行滚操作,将数据恢复到rollback的状态,使数据文件和控制文件恢复到崩溃前的一致性状态。总之,数据库下次打开时会占用比正常关闭更长的时间。

?

注意:并不是所有异常关机后,下次启动时都可以恢复到正常状态,异常关机容易导致坏块的产生,这种情况下数据库是不能正常启动的,如果处理不当,将会导致大量数据的丢失。?具体参考我的blog

?

Oracle?坏块?总结

http://blog.csdn.net/tianlesoftware/archive/2009/12/18/5024966.aspx

?


Rolling?Forward(前滚)
Oracle启动实例并加载数据库,然后通过Online?Redologs中的重做日志,重现实例崩溃前对数据库的修改操作。在恢复过程中对于已经提交的事务,但尚未写入数据文件的那部分数据全部写入数据文件.


Rolling?Back(回滚)

Rolling?Forward之后,虽然已经提交的修改操作更改的数据都已经被写入数据文件,但在实例崩溃时,部分未提交的事务操作的数据也被写入到数据文件,这些事务必须被撤销.

?

?

触发LGWR进程的条件有:?
??1.?用户提交?
??2.?