Welcome 微信登录

首页 / 数据库 / MySQL / Oracle教程:Redo write触发的四种情况

1、当LGWR空闲的时候,会每隔3秒检查一次是否有从redo buffer写入redelog中的数据,如果有,一个后台进程就会自动的执行将其写入2、当有进程要从redo buffer中分配空间时,会先计算redo buffer中已经占用的空间,如果该空间大于_log_io_size这个参数值,并且此时的LGWR处于空闲状态,便会被激活执行后台写。_log_io_size的默认值是redo buffer大小的三分之一,从8.0开始,_log_io_size 的上限值是1M,和其他的hidden参数一样,如果没明确的设置,在X$KSPPSV视图中查出的值为03、当一个事物commit时,会产生一个commit标志在redo流中,在redo buffer中的log包括commit标志写入硬盘之前,这个事物是不可恢复的,因此在给用户返回类似‘Commit complete’之前,必须等待LGWR将redo buffer中写入硬盘,在commit后会激活LGWR并且sleeps on a log file sync wait with a timeout of 1 second。为了避免等待可以将_wait_for_sync 参数设置成false,但是这样就不能保证已经commit的的事物实例失败时可以恢复。_log_io_size 和  _wait_for_sync  都是隐藏参数,可以通过下面的sql查看其值
  1. select i.ksppinm name, i.ksppdesc description, cv.ksppstvl value,   
  2. cv.ksppstdf isdefault, decode(bitand(cv.ksppstvf,7),1,"MODIFIED",4,"SYSTEM_MOD","FALSE") ismodified,   
  3. decode(bitand(cv.ksppstvf,2),2,"TRUE","FALSE") isadjusted   
  4. from sys.x$ksppi i,   
  5. sys.x$ksppcv cv   
  6. where i.inst_id=userenv("Instance") and   
  7. cv.inst_id=userenv("Instance") and   
  8. i.indx=cv.indx and i.ksppinm like "/_%" escape "/" order by replace(i.ksppinm,"_","");  
需要注意的是在回调语句中的commit并不会等待LWGR写入,例如存储过程中可能会有n个commit操作,但只有当药返回给用户执行结果的时候才会等待LWGR写入,即只会sync最后一个commit操作。一个SGA变量(kcrfshsb, according to bug 182447)是用来确定最大的需要同步的log block号,当LGWR处于激活的状态过程中即正在像disk中写时,几个不同的实例事物执行commit操作,kcrfshsb 变量记录了需要同步的最高块号,这些commit会全部写入disk中在一次redo write中,称为group commit4、当DBWn需要写入一个或多个块的high RBA ,并且high rba超出了on-disk RBA时,从Oracle 8i开始DWBn将这些块放入延迟队列并且post LGWR来同步最高的RBA,但是不会等待,DBWn会继续执行其他的不需要延迟的写,在8i以前,DBWn会sleep发生a log file sync wait。更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12Oracle 10201升级到10204的ORA-01092问题的解决Oracle命令 外部结合相关资讯      Oracle高级培训 
  • delete表的数据后恢复  (08/30/2012 08:59:58)
  • 使用ASH信息,发现高CPUsession  (08/14/2012 07:21:32)
  • 如何阅读Oracle Errorstack Output  (08/14/2012 07:15:47)
  • Oracle Apps Patching:adpatch(  (08/16/2012 15:41:37)
  • 话说V$SQL_MONITOR  (08/14/2012 07:19:54)
  • Oracle Apps DBA工具:ADADMIN使用  (08/14/2012 07:00:09)
本文评论 查看全部评论 (0)
表情: 姓名: 字数