Chinaunix首页 | 论坛 | 博客
  • 博客访问: 669873
  • 博文数量: 759
  • 博客积分: 5000
  • 博客等级: 大校
  • 技术积分: 4845
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-27 13:51
文章分类

全部博文(759)

文章存档

2011年(1)

2008年(758)

我的朋友

分类:

2008-10-27 13:58:17

  总结一下Redo写的触发条件:
 
  1,每三秒钟超时(timeout):
 
  当LGWR处于空闲状态时,它依赖于rdbms rpc message等待事件,处于休眠状态,直到三秒时间到,如果这个时候LGWR发现有Redo信息需要写出的话,那么LGWR将执行写的操作,log file parallel write等待事件将会出现。
 
  2.阀值的达到:
 
  Redo log buffer 1/3 满;
 
  Redo log buffer 拥有 1MB 的脏数据;

  参数_log_io_size的设置很重要,一般为log_buffer的1/3大小。
 
  3.用户提交:
 
  当一个transaction提交的时候,在Redo stream中将记录一个提交标志。在这些Redo被写到磁盘上之前,这个transaction是不能恢复的。所以,在transaction返回成功标志之前,必须等待LGWR写的完成。进程通知LGWR写,并且以log file sync事件开始休眠。超时为1秒。
 
  4.在DBWn写之前:
 
  如果DBWR将要写出的数据的高RBA超过LGWR的on-disk RBA,则DBWR将通知LGWR执行写的操作,在8i之前,此时DBWR将等待Log file sync事件。从8i开始,DBWR把这些block(将要写出的block,这种block的高RBA超过了LGWR的on-disk RBA)放入defer队列中,同时通知LGWR执行Redo写出。
 
  注:
 
  log buffer space等待事件说明log buffer空间不够用了。

【责编:michael】

--------------------next---------------------

阅读(287) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~