所在位置:北大青鸟广州天河培训中心 >> 漫谈软件技术流 >>Oracle触发LGWR进程写日志的4个条件

Oracle触发LGWR进程写日志的4个条件

1,每三秒钟超时(timeout):


当LGWR处于空闲状态时,它依赖于rdbms rpc message等待事件,处于休眠状态,直到三秒时间到,如果这个时候LGWR发现有Redo信息需要写出的话,那么LGWR将执行写的操作,logfileparallel 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执行写的操作,在Oracle8i之前,此时DBWR将等待Log file sync事件。从Oracle8i开始,DBWR把这些block(将要写出的block,这种block的高RBA超过了LGWR的on-disk RBA)放入defer队列中,同时通知LGWR执行Redo写出。


注:


log buffer space等待事件说明log buffer空间不够用了。

开班信息
咨询热线:020-85566215
名师讲座

软件世界 梦幻体验

讲座时间:周六、日 14:00
1.软件行业真的那么高深莫测?
2.软件技术真的那么难学?
3.学习软件能做什么工作?
4.软件行业可否托付终身?

 让北大青鸟金牌培训师为你
  逐一打开问号!!

订座热线:020-85566216