oracle重做日志文件组v$log

v$log中status指的是重做日志文件组的状态,各状态含义:

CURRENT:当前的,正在被使用的日志文件,同一时刻只有一个日志文件会处于CURRENT状态,处于CURRENT的日志文件被LGWR进程实时的写入
ACTIVE:活动的,未被LGWR写,刚切换完成,尚未发生检查点,实例恢复时需要的重做日志文件为ACTIVE(处于ACTIVE的日志文件组无法删除)
INACTIVE:不活动的,实例恢复时不需要的重做日志文件为INACTIVE
UNUSED:还没有被写入的空白日志文件
CLEARING:正在被清除的日志文件,日志清除后状态变为UNUSED
CLEARING_CURRENT:正在被清除的CURRENT日志文件

SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARCHIVED STATUS           FIRST_CHANGE# FIRST_TIME  NEXT_CHANGE# NEXT_TIME
---------- ---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- ----------- ------------ -----------
        21          1     541787  536870912        512          1 YES      INACTIVE         1025670969103 2016/9/18 1 102567098835 2016/9/18 1
        22          1     541788  536870912        512          1 YES      INACTIVE         1025670988354 2016/9/18 1 102567100793 2016/9/18 1
        23          1     541783  536870912        512          1 YES      INACTIVE         1025655942230 2016/9/18 1 102565596150 2016/9/18 1
        24          1     541784  536870912        512          1 YES      INACTIVE         1025655961500 2016/9/18 1 102565598107 2016/9/18 1
        25          1     541786  536870912        512          1 YES      INACTIVE         1025655999506 2016/9/18 1 102567096910 2016/9/18 1
        26          1     541785  536870912        512          1 YES      INACTIVE         1025655981078 2016/9/18 1 102565599950 2016/9/18 1
        34          1     541789  536870912        512          1 YES      INACTIVE         1025671007934 2016/9/18 1 102567102642 2016/9/18 1
        35          1     541790  536870912        512          1 YES      ACTIVE           1025671026423 2016/9/18 1 102567104561 2016/9/18 1
        36          1     541791  536870912        512          1 YES      ACTIVE           1025671045615 2016/9/18 1 102567105747 2016/9/18 1
        37          1     541792  536870912        512          1 NO       CURRENT          1025671057476 2016/9/18 1 281474976710 
        38          1     541781  536870912        512          1 YES      INACTIVE         1025655905322 2016/9/18 1 102565592325 2016/9/18 1
        39          1     541782  536870912        512          1 YES      INACTIVE         1025655923257 2016/9/18 1 102565594223 2016/9/18 1

12 rows selected

SQL> 

注意

  如果数据库处于ARCHIVELOG模式(归档模式),在没有被后台归档进程(ARCn)归档前,ACTIVE的日志文件不能被再次使用;如果数据库处于NOARCHIVELOG模式(非归档模式),当最后一个重做日志文件被写满后,LGWR会重新写入第一个ACTIVE日志文件
  可以使用alter database checkpoint命令手动的创建一个检查点,来使active的日志文件组变成inactive的日志文件组

active和inactive的区别

  这两种状态的重做日志都是已经归档的,不同的是,active状态的重做日志文件组是在实例恢复的时候被需要的,因为有一些事务虽然已经提交了,但是这些记录的更改还没有写到datafile中,如果这个时候实例down掉,在进行实例恢复的时候会需要这些active状态的日志文件组,每过一段时间,当系统负载不是很大的时候,Oracle会尝试将内存中的数据写入到datafile中,这个时候active的日志文件组就会变成inactive状态,我们可以使用alter database checkpoint强制来执行这个过程;而inactive是在实例恢复的时候不被需要的日志文件组。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值