active状态的含义 :redo对应的数据缓冲区的内容还没有写到datafile中.
如果重做日志文件在实例恢复的时候被需要,那么我们称作这个重做日志文件为active的。
重做日志文件在实例恢复的时候不被需要,那么我们称作这个重做日志文件为inactive的。
另外在说一下active和inactive的一些区别:
其实这两种状态的重做日志都是已经归档的,不同的只是,active状态的重做日志文件组是在实例恢复的时候被需要的,因为有一些事务虽然已经提交了,但是这些记录的更改还没有写到datafile中,如果这个时候实例一旦失败(断电或者其他的突发情况),在进行实例恢复的时候会需要这些active状态的日志文件组,每过一段时间,当系统负载不是很大的时候,Oracle会尝试将内存中的数据写入到datafile中,这个时候active的日志文件组就会变成inactive状态,我们可以使用alter database checkpoint强制来执行这个过程;
而inactive是在实例恢复的时候不被需要的日志文件组。
SQL> select group#,status from v$log;
GROUP# STATUS
---------- ----------------
1 ACTIVE
2 CURRENT
3 INACTIVE
SQL> alter system checkpoint;
System altered.
SQL> select group#,status from v$log;
GROUP# STATUS
---------- ----------------
1 INACTIVE
2 CURRENT
3 INACTIVE
2914

被折叠的 条评论
为什么被折叠?



