1. 关于log buffer大小设置的误区
大小不要超过3m,因为log buffer中脏数据超过1m 就会触发lgwr进行去写,同时超过1/3 log buffer大小时,也会触发。
因此,网上流传的结论是1*3=3m,认为超过3m 的log buffer大小设置是毫无意义的?
早期的原理的直接写入redo logfile中,为了避免IO问题能在sga中引入了一块 共享的内存区域,即log buffer。 即当满足一定
条件之后,lgwr进程再从log buffer中写出到logfile中去
从上图我们可以看出,redo log buffer位于Oracle SGA中,且与log buffer相关的就2类进程,Server Process和LGWR进程。 其中
Server Process进程负责将redo entry从pga中copy到log buffer中,而lgwr进程负责将log buffer中的redo条目信息写出到logfile文
件中。
对于Redo Log buffer 的结构,我们将上图中的部分进行放大,如下图所示:
我们可以看出,redo log buffer这个内存区域的结构是一个环状结构,由于log buffer是覆盖重复利用的,因此,虽然存在多种
lgwr触发的机制,但是如果log