Oracle Freelist和HWM原理及效能最佳化(轉)
Oracle Freelist和HWM原理及效能最佳化(轉)[@more@]近期來,FreeList的重要作用逐漸為Oracle DBA所認識,網上也出現一些相關的討論。本文以FreeList為線索對Oracle的儲存管理的原理進行較深入的探討,涉及Oracle段區塊管理的原理,FreeList演算法等。而與FreeList密切相關的一個重用特性HWM,與sql效能密切相關,本文也作了原理分析介紹。在原理探討的基礎上,介紹了常用的儲存引數分析方法,並對所涉及的儲存最佳化、HWM的最佳化和Freelist競爭最佳化作了說明。
縮略語:
ASSM:auto segement space management
HWM:high water mark
DBA:data block address
OLTP:online transaction process
OPS:oracle parallel server
1.簡介
Oracle的空間管理和儲存引數管理是Oracle管理及最佳化的重要部分。FreeList作為Oracle底層儲存引數中的核心引數,其行為方式對Oracle的儲存管理及效能最佳化有重大影響,而現有的Oracle文件對此方面的內容比較缺乏。雖然Oracle 9i已出現了ASSM,但是作為深入調優對FreeList認識仍是必要的。
近期來,FreeList的重要作用逐漸為Oracle DBA所認識,網上也出現一些相關的討論。本文以FreeList為線索對Oracle的儲存管理的原理進行較深入的探討,涉及Oracle段區塊管理的原理,FreeList演算法等。而與FreeList密切相關的一個重用特性HWM,與sql效能密切相關,本文也作了原理分析介紹。在原理探討的基礎上,介紹了常用的儲存引數分析方法,並對所涉及的儲存最佳化、HWM的最佳化和Freelist競爭最佳化作了說明。
這些原理分析和效能最佳化都建立在探討的基礎上,限於篇幅和本人經驗可能存在侷限、偏差或謬誤。
為了準確文中部分結構和欄位的說明直接用英文描述。限於篇幅本文不對同樣很重要的block結構作更深入的討論,對OPS效能有重要影響的free list group本文也未提及,因此本文在單一free list group下討論。對於block的深入討論、free list group的介紹與最佳化以及PCTUSED和PCTFREE等重要引數的最佳化請參見參考文獻和資料。
2.原理探討
FreeList作為一個Oracle儲存管理的核心引數。其行為方式由Oralce內部控制,我們一般不需要掌握和控制。但是我們可能會遇到這些問題,當插入一條記錄,會插入到那個塊中?是使用新塊,還是插入有資料的老塊?段是什麼時候擴充套件的,如何擴充套件的?表中只有一條記錄,但是作一次select時代價卻是上千個塊,為什麼?如果我們從原理上清楚了Oracle的儲存管理方式,對相關這些問題的解決及效能最佳化就清晰自然了。
2.1 Oracle的邏輯儲存結構
Oralce的邏輯儲存結構按表空間,段,區,塊進行管理。塊是Oracle用來管理儲存空間的最基本單元,Oracle資料庫在進行輸入輸出操作時,都是以塊為單位進行邏輯讀寫操作的。區由一系列連續的塊組成,Oralce在進行空間分配、回收和管理時是以區為基本單位的。段由多個區組成,這些區可以是連續的也可以是不連續的,一般情況下一個物件擁有一個段。表空間中容納段和區。
在生成段的時候,會同時分配初始區(initial extents), 初始區的第一個塊就格式化為segment header,並被用來記錄free list描述資訊、extents資訊,HWM資訊等。
縮略語:
ASSM:auto segement space management
HWM:high water mark
DBA:data block address
OLTP:online transaction process
OPS:oracle parallel server
1.簡介
Oracle的空間管理和儲存引數管理是Oracle管理及最佳化的重要部分。FreeList作為Oracle底層儲存引數中的核心引數,其行為方式對Oracle的儲存管理及效能最佳化有重大影響,而現有的Oracle文件對此方面的內容比較缺乏。雖然Oracle 9i已出現了ASSM,但是作為深入調優對FreeList認識仍是必要的。
近期來,FreeList的重要作用逐漸為Oracle DBA所認識,網上也出現一些相關的討論。本文以FreeList為線索對Oracle的儲存管理的原理進行較深入的探討,涉及Oracle段區塊管理的原理,FreeList演算法等。而與FreeList密切相關的一個重用特性HWM,與sql效能密切相關,本文也作了原理分析介紹。在原理探討的基礎上,介紹了常用的儲存引數分析方法,並對所涉及的儲存最佳化、HWM的最佳化和Freelist競爭最佳化作了說明。
這些原理分析和效能最佳化都建立在探討的基礎上,限於篇幅和本人經驗可能存在侷限、偏差或謬誤。
為了準確文中部分結構和欄位的說明直接用英文描述。限於篇幅本文不對同樣很重要的block結構作更深入的討論,對OPS效能有重要影響的free list group本文也未提及,因此本文在單一free list group下討論。對於block的深入討論、free list group的介紹與最佳化以及PCTUSED和PCTFREE等重要引數的最佳化請參見參考文獻和資料。
2.原理探討
FreeList作為一個Oracle儲存管理的核心引數。其行為方式由Oralce內部控制,我們一般不需要掌握和控制。但是我們可能會遇到這些問題,當插入一條記錄,會插入到那個塊中?是使用新塊,還是插入有資料的老塊?段是什麼時候擴充套件的,如何擴充套件的?表中只有一條記錄,但是作一次select時代價卻是上千個塊,為什麼?如果我們從原理上清楚了Oracle的儲存管理方式,對相關這些問題的解決及效能最佳化就清晰自然了。
2.1 Oracle的邏輯儲存結構
Oralce的邏輯儲存結構按表空間,段,區,塊進行管理。塊是Oracle用來管理儲存空間的最基本單元,Oracle資料庫在進行輸入輸出操作時,都是以塊為單位進行邏輯讀寫操作的。區由一系列連續的塊組成,Oralce在進行空間分配、回收和管理時是以區為基本單位的。段由多個區組成,這些區可以是連續的也可以是不連續的,一般情況下一個物件擁有一個段。表空間中容納段和區。
在生成段的時候,會同時分配初始區(initial extents), 初始區的第一個塊就格式化為segment header,並被用來記錄free list描述資訊、extents資訊,HWM資訊等。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-962931/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle Freelist和HWM原理探討及相關效能最佳化Oracle
- Oracle Freelist和HWM原理探討及相關效能最佳化(1)Oracle
- Oracle Freelist和HWM原理探討及相關效能最佳化(2)Oracle
- Oracle Freelist和HWM原理探討及相關效能最佳化(3)Oracle
- Oracle Freelist和HWM原理探討及相關效能優化(轉)Oracle優化
- Oracle Freelist和HWM原理探討及相關效能優化Oracle優化
- 轉:Oracle Freelist和HWM的效能優化Oracle優化
- ORACLE FREELIST HWM(轉)Oracle
- Oracle效能調優之FreeList和HWMOracle
- Oracle效能調優 之FreeList和HWMOracle
- Oracle Freelist和HWM的效能優化Oracle優化
- ORACLE FREELIST HWM(3)Oracle
- ORACLE FREELIST HWM(2)Oracle
- ORACLE FREELIST HWM(1)Oracle
- Oracle高水位線(HWM)及效能優化Oracle優化
- Oracle效能最佳化之SQL最佳化(轉)OracleSQL
- Oracle HWMOracle
- ORACLE最佳化器工作原理及及執行方式Oracle
- Oracle效能最佳化之應用最佳化(轉)Oracle
- Oracle效能最佳化之最佳化排序操作(轉)Oracle排序
- Oracle案例10——HWM(高水位線)效能優化Oracle優化
- ORACLE SQL效能最佳化系列 (十) (轉)OracleSQL
- Oracle效能最佳化之LockContention(轉)Oracle
- ORACLE SQL效能最佳化系列 (十一) (轉)OracleSQL
- ORACLE SQL效能最佳化系列 (一) (轉)OracleSQL
- ORACLE SQL效能最佳化系列 (二) (轉)OracleSQL
- ORACLE SQL效能最佳化系列 (三) (轉)OracleSQL
- ORACLE SQL效能最佳化系列 (四) (轉)OracleSQL
- ORACLE SQL效能最佳化系列 (九) (轉)OracleSQL
- ORACLE SQL效能最佳化系列 (五) (轉)OracleSQL
- ORACLE SQL效能最佳化系列 (八) (轉)OracleSQL
- ORACLE SQL效能最佳化系列 (六) (轉)OracleSQL
- ORACLE SQL效能最佳化系列 (七) (轉)OracleSQL
- ORACLE SQL效能最佳化系列 (十二) (轉)OracleSQL
- Oracle效能最佳化之Rollback(undo)Segment最佳化(轉)Oracle
- FREELIST和FREELIST GROUPS簡介
- Oracle 之HWMOracle
- Oracle中 HWM與資料庫效能的探討Oracle資料庫