有关LGWR

     今天群里有人问关于数据库进程的事情,当然,他对oracle的后台进程不是很熟悉。当时我举了个例子,是关于LGWR,但是由于我学艺不精,当时只想起来了这个进程会被commit激发,实在是贻笑大方。回来以后查了一下书,于是记录在此,也算是和大家的分享吧。

     LGWR被触发的情况:

     1 commit。在提交之后,oracle会先把确认信息写到日志缓冲区里,然后再激发LGWR,将日志缓冲区内的Redo Entry写到联机重做日志文件里。

     2 如果尚在日志缓冲区内的Redo Entry超过三分之一以上日志缓冲区大小的话,就会触发LGWR,将Redo Entry写到联机重做日志文件里。

     3 LGWR每三秒触发一次。

     4 DBWR被触发,但是脏缓冲相关的Redo Entry还没有写到联机重做日志文件里,这个时候会首先让LGWR将Redo Entry写到联机重做日志文件里,之后DBWR才会写脏数据到数据文件里。

     把这个记录在云端,以备不时之需。

posted @ 2011-12-28 21:37  wingsless  阅读(1059)  评论(0编辑  收藏  举报