Oracle In-Memory Undo的特性討論
前兩天我在相關(guān)的網(wǎng)上看到了一篇關(guān)于技術(shù)文檔 All About Oracle's In-Memory Undo,其中主要是對 Oracle In-Memory Undo (IMU)的研討,在前幾年我們大家有對其強(qiáng)烈談?wù)撨^,大部分基于猜測,這算是看到的第一篇比較細(xì)致的東西。
Oracle 公司在 10g 推出 IMU 這個特性(已經(jīng)申請了專利)。Undo 作為最重要的組成部分之一,其高效與否直接關(guān)系到整個 DB 的能力。Undo 舊有的基于 Block 的段(Segment,指存儲層的概念)管理模式方式,UNDO 本身的變化要記錄到 Redo Log Buffer 里,而 IMU 避免了這個操作(因?yàn)槭莾?nèi)存而不是存儲),從而減小了生成的 Redo 量。
另外,因?yàn)樽x一致性開銷直接到了內(nèi)存里而不再依賴存儲段, 整體也大大降低,CPU 的負(fù)荷也會有效降低。其應(yīng)用模式應(yīng)該說是適合一致讀的需求量比較大的 OLTP。
Oracle 10g 默認(rèn)是使用 IMU 這個特性的。通過隱含參數(shù) _in_memory_undo 可以關(guān)閉這個特性。因?yàn)槭请[含參數(shù),也側(cè)面反映出該特性并非那么成熟。搜索一下 Metalink,有不少關(guān)于 IMU 的 Bug,而 UNOD 的 Bug 一旦遇到,不停 DB 恐怕都很難解決。所以,對于可用性要求比較高的系統(tǒng),現(xiàn)在起用該特性還是需要三思。
以上的相關(guān)內(nèi)容就是對Oracle In-Memory Undo的討論,望你能有所收獲。
文章出自:http://www.programbbs.com/doc/class10-2.htm
【編輯推薦】