ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Redo active状态解析

Redo active状态解析

原创 Linux操作系统 作者:oracle_ace 时间:2007-12-29 13:14:02 0 删除 编辑

当我们手动执行日志切换的时候:

SQL> alter system switch logfile;

系统已更改。


SQL> select group#,sequence#,status,archived from v$Log;

    GROUP#  SEQUENCE# STATUS           ARC
---------- ---------- ---------------- ---
         1         23 CURRENT          NO
         2         21 INACTIVE         YES
         3         22 ACTIVE           YES

我们看日志文件组3已经归档,但是状态为ACTIVE的。
某个日志文件为ACTIVE状态,其实是表示这个文件的检查点还没有作完。而检查点没有做完的根本原因是dbwr执行的dirty buffer写出还没有执行完成,也就是说ckpt进程会等待dbwr写出数据完成,等待的过程就是表示等待将current日志中修改过的数据块信息写入到数据文件的过程。因为这些信息其实是实例恢复的时候要用到的信息,如shutdown abort时,oracle会利用redo日志中的信息对数据库进行实例恢复。
同时有一点需要补充的是:
当检查点发生的时候,不仅仅dbwr进程会触发(记住有的检查点不是一定要触发dbwr的),lgwr也会跟着触发,他会把检查点发生时的SCN之前的存储在redo log buffer中的redo,写入到我们的redo log file中。那么all in all,检查点的发生,就是lgwr和dbwr写buffer到磁盘文件的过程。但是效率却截然不同。
回到正题,log switch的时候会触发检查点,因此lgwr进程会把log buffer中的redo log写入redo log file中,如果我们这个时候设置了log_checkpoints_to_alert=TRUE,则我们可以在alert_icmnlsdb.log日志中,看到如下信息:
-------------------------------------------------------------
Sat Dec 29 12:59:43 2007
Beginning log switch checkpoint up to RBA [0x18.2.10], SCN: 0x0000.0003b0f6
Thread 1 advanced to log sequence 24
  Current log# 2 seq# 24 mem# 0: D:\ORACLE\ORADATA\ICMNLSDB\REDO02.DBF
Sat Dec 29 12:59:43 2007
ARC0: Evaluating archive   log 1 thread 1 sequence 23
ARC0: Beginning to archive log 1 thread 1 sequence 23
Creating archive destination LOG_ARCHIVE_DEST_1: 'D:\ORACLE\ARCHIVED_DEST\ARC00023.001'
ARC0: Completed archiving  log 1 thread 1 sequence 23
---------------------------------------------------------------
注意信息中的SCN,这就是我们通过log switch触发checkpoint时的SCN,那么当checkpoint做完后,ckpt进程会把这个SCN更新到数据文件头上。但是这个checkpoint在这个时候确实是要等待dbwr将dirty buffer写完到数据文件后才算结束(dbwr要写到RBA(Beginning log switch checkpoint up to RBA [0x18.2.10]).因此如果日志切换到这个active的日志的时候,由于checkpoint要等待dbwr将RBA之前的所有dirty buffer写出,因此整个过程会等待。当然我们还要注意dbwr可能是执行多次写才能到RBA。这个和dbwr的写机制是有密切的关系。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12361284/viewspace-52651/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-10

  • 博文量
    284
  • 访问量
    786079