理解数据库恢复的过程 :
数据库在 open 的时候,进行2次检查 :
[@more@]理解数据库恢复的过程 :
在数据库immediate 关闭的的时候,oracle 数据库将进行一系列的检查点的操作,
使结束scn (v$datafile 中的last_change# ) 由无穷大变成 开始 scn (v$datafile_header中的checkpoint_change#)
在数据库abort 关闭的的时候,oracle 数据库不进行一系列的检查点的操作
所以结束scn 为无穷大,也就是空值。
数据库在 open 的时候,进行2次检查 :
1. 检查数据文件头中 v$datafile_header (checkpoint_count) 的值和控制文件的中的checkpoint_count 是不是相同
如果相同,说明文件不是被cp 过来的,数据文件不需要恢复:
2. 检查结束scn 和 开始scn 是不是相同 ,如果相同,不需要恢复,不相同说明需要进行恢复 (前滚,回滚)
数据库是如何定位哪个日志文件的
有数据库文件头的 rba 定位到哪个日志文件,
从那个scn 一直恢复,应用归档日志,在线日志进行前滚和事务回滚 ,同时 pmon 进程进行一系列的数据快恢复
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/66233/viewspace-995285/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/66233/viewspace-995285/