2006年02月14日
總結一下到底有多少event會促使DBWR將數據寫入Disk
在網路上看到不錯整理,轉貼一下,以後看時較方便
來源:
http://blog.csdn.net/kamus/archive/2004/08/02/58236.aspx
來源:
http://blog.csdn.net/kamus/archive/2004/08/02/58236.aspx
1. 当Buffer Cache中的Dirty List長度達到閥值:DBW0將Dirty List中的Dirty Buffer寫入磁盤(user Server Process在LRU List中查找free buffer時將碰到的dirty blocks移入Dirty List)
2. 当user Server Process在Buffer Cache的LRU List中搜索了過長的時間而仍然沒有找到free buffer:DBW0直接從LRU List中將Dirty Buffer寫入磁盤
3. 每过3秒鐘:DBW0把dirty buffers從LRU List移到Dirty List,一旦Dirty List長度達到閥值,DBW0便將數據寫入磁盤
4. Checkpoint發生時:DBW0把所有的dirty buffers從LRU List移到Dirty List,並且開始寫數據
5. 当Tablespace開始Hot backup時:DBW0把所有屬於該表空間的dirty buffers從LRU List移到Dirty List,並且開始寫數據
6. 当Tablespace offline時:DBW0把所有屬於該表空間的dirty buffers從LRU List移到Dirty List,並且開始寫數據
7. 执行Drop時:drop table或者index將促使DBW0先將屬於該segment的dirty blocks寫入磁盤
引用URL
http://cgi.blog.roodo.com/trackback/1120896