1、redolog的作用
redolog的作用就是为了恢复实例或者恢复介质,如果oracle永远不会崩溃redolog就作用不大了 。
2、redolog与SCN的关系
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --------- ---------- ------------- ------------
1 1 35 52428800 1 YES INACTIVE 383064577 16-8月 -13
2 1 37 52428800 1 NO CURRENT 383067785 16-8月 -13
3 1 36 52428800 1 YES INACTIVE 383065564 16-8月 -13
FIRST_CHANGE#是这组日志第一次写入时的SCN,如果这组日志状态为INACTIVE,这组日志的last_ change#就是下组日志FIRST_CHANGE#-1.
redolog中的内容是由lgwr从log buffer中写入的,当一组regolog(group2)写满之后,这些日志所对应的内存中更改的块不一定全部写入disk中(dbwr会根据参数设置计算写入速度),所以这组日志的状态是active,就是说实例恢复的时候会需要使用这组日志,随着dbwr的工作,redolog(group2)所对应的dirty block全部写入到disk,此时这组日志会触发两件事:
1、状态由active变成inactive,并且会更新控制文件中的system scn,datafilebeginscn和datafile_header中的SCN,状态变成inactive表示实例恢复不需要这组日志,当介质恢复仍然需要。
2、触发归档进程(AHCR)归档当前日志