1 DB Cache 是以bock爲單位組織的緩衝區,不一樣大小的BLOCK對應不一樣的緩衝區參數
2 DB Cache的命中率越高,訪問性能就越好
3 Cache中的數據塊經過散列算法實現
4 每一個鏈上的buffers數量,最佳的狀況是每一個鏈上只有一個buffer
5 DBWR進程控制髒數據寫入
6 在DB Cache,同一個數據塊中可能存在多個版本的數據
7 大表的掃描,熱塊衝突均可能致使閂鎖的爭用
引入tch計數器,避免LRU鏈上頻繁移動
LRU鏈上搜索達到最大深、LRU-W上沒有足夠的clean buffers都會觸發標記位,使得DBWR進程講髒數據寫入磁盤
幾個重要的數據鏈:
1 LRU list普通的LRU鏈
2 LRU-AUX list 被確認的clean的鏈,包括DBWR已經寫回文件的 數據塊和乾淨快
3 LRU-XO list 重用對象鏈
4 LRU-XR list CKPT搜索這些BUFFER,將髒數據寫入該鏈,再由DBWR寫入磁盤
閂鎖爭用:
1 熱塊衝突
2 數據庫在某個時間段出現大量的數據塊掃描、熱鏈
使用keep pool存放大表,能夠下降物理讀,改善cache命中率
使用owi觀點和時間模型分析,幫助分析數據庫性能
DB cache命中率低,意味着更多的物理IO、更多的閂鎖使用、較低的效率。RAC中,更多的實例間通訊消息
DB cache調優,注意 free buffere waits \ writes complete waits兩個性能指標