Logfile的不同状态

| | Comments (2)

Logfile的不同状态

 

一、  V$LOG:STATUS 指的是GROUP的状态

 

UNUSED

尚未记录change的空白group(一般会出现在,loggroup刚刚被添加,或者刚刚使用了resetlogs打开数据库,或者使用clear logfile后)

 

CURRENT:

当前正在被LGWR使用的group(同时是ACTIVE状态)

 

ACTIVE

未被LGWR写,instance recovery需要的。还没有完成checkpoint

 

INACTIVE

online,未被LGWR写,对instance recovery不再有用了。

 

CLEARING

正在被cleargroupLog is being re-created as an empty log after an ALTER DATABASE CLEAR LOGFILE statement. After the log is cleared, the status changes to UNUSED.

 

CLEARING_CURRENT:

一个正在被clearCURRENT groupCurrent log is being cleared of a closed thread. The log can stay in this status if there is some failure in the switch such as an I/O error writing the new log header.)出现在中状态一般是有错误的。

 

二、V$LOGFILE:STATUS指的是member的状态

 

INVALID:

             不能使用的member,可能损坏了(另外,刚加入到redolog group的日志文件在被使用之前也是这个状态)

STALE

            见下面解释

DELETED

      被alter database drop logfile membermember

BLANK:

            正常的都是blank,不管是否被写。

 

下面是对metalink上对stale的解释:

 

Log files may have a status of stale regardless of redo log mirroring or

archival mode.

 

 

Solution Description:

=====================

 

In general, the stale status of a redo log member should not be a cause for

great concern, unless you observe that this happens frequently or

systematically.  Keep in mind that a stale log is not necessarily an invalid

log, but more of an "in-doubt" one. Once the corresponding redo group becomes

the current one again, the stale status will go away by itself.

 

 

下面是一个例子:

 

logfile中有两个filestale状态,当发生日志切换时,group1变成current状态,从而,group1下的logfile变成

blank(正常状态)

另外,这个例子也展示了logfile groupactiveinactive的变化。

当发生switch logfile前,group5current状态,switch logfile后,group5变为active状态,这说明recovery

group5是有用的,同时也说明logfile时发生的不是完全检查点。

当手工发生检查点后,group5active变为了inactive状态,此时,group5recovery不再有用。这说明:

 

alter system checkpoint发生的是完全检查点。

 

SQL> l  

  1* select * from v$logfile

SQL> /

 

    GROUP# STATUS  TYPE    MEMBER

---------- ------- ------- ----------------------------------------

         1 STALE   ONLINE  /opt/oracle/oradata/userlog2/redo01.log

         2 STALE   ONLINE  /opt/oracle/oradata/userlog2/redo02.log

         3         ONLINE  /opt/oracle/oradata/userlog2/redo03.log

         4         ONLINE  /opt/oracle/oradata/userlog2/redo04.log

         5         ONLINE  /opt/oracle/oradata/userlog2/redo05.log

 

SQL> select * from v$log;

 

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM

---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------

         1          1         21   20971520          1 NO  INACTIVE                704228 07-AUG-06

         2          1         22   20971520          1 NO  INACTIVE                753376 07-AUG-06

         3          1         23   20971520          1 NO  INACTIVE                785843 07-AUG-06

         4          1         24   20971520          1 NO  INACTIVE                868923 08-AUG-06

         5          1         25   20971520          1 NO  CURRENT                 951980 10-AUG-06

 

SQL> alter system switch logfile;

 

System altered.

 

SQL> select * from v$logfile;

 

    GROUP# STATUS  TYPE    MEMBER

---------- ------- ------- ----------------------------------------

         1         ONLINE  /opt/oracle/oradata/userlog2/redo01.log

         2 STALE   ONLINE  /opt/oracle/oradata/userlog2/redo02.log

         3         ONLINE  /opt/oracle/oradata/userlog2/redo03.log

         4         ONLINE  /opt/oracle/oradata/userlog2/redo04.log

         5         ONLINE  /opt/oracle/oradata/userlog2/redo05.log

 

SQL> select * from v$log;

 

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM

---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------

         1          1         26   20971520          1 NO  CURRENT                 994126 10-AUG-06

         2          1         22   20971520          1 NO  INACTIVE                753376 07-AUG-06

         3          1         23   20971520          1 NO  INACTIVE                785843 07-AUG-06

         4          1         24   20971520          1 NO  INACTIVE                868923 08-AUG-06

         5          1         25   20971520          1 NO  ACTIVE                  951980 10-AUG-06

 

SQL>

SQL> alter system checkpoint;

 

System altered.

 

SQL> select * from v$log;

 

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM

---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------

         1          1         26   20971520          1 NO  CURRENT                 994126 10-AUG-06

         2          1         22   20971520          1 NO  INACTIVE                753376 07-AUG-06

         3          1         23   20971520          1 NO  INACTIVE                785843 07-AUG-06

         4          1         24   20971520          1 NO  INACTIVE                868923 08-AUG-06

         5          1         25   20971520          1 NO  INACTIVE                951980 10-AUG-06

 

  - The End-

Categories

留言 (2)

congs. dodd.


Posted by: ricky at February 2, 2008 8:51 PM

test


Posted by: eygle at February 2, 2008 9:39 AM

发表留言:



Remember Me?
(输入验证码后方可评论,谢谢支持)


About this Entry

This page contains a single entry by Dodd published on February 1, 2008 5:19 PM.

祝贺Dodd'blog开张! was the previous entry in this blog.

有钱没钱回家过年 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Powered by Movable Type 4.0