Oracle 空閒列表管理機制與pctfree和pctused引數
被擊碎的自信,被老本行Oracle一片一片的恢復。- ----譚志堅
Oracle中有空閒列表的概念.空閒列表中儲存的是可供插入新行的塊資訊.所以新的行資料只會插入到那些存在於空閒列表中的塊. 空閒列表的治理機制與建表時pctfree和pctused引數兩個引數有緊密關係. 當一個塊第一次開闢的時候,當然是在空閒列表中的.
隨著不斷地插入行資料,當使用率達到或者超過 1-PCTFREE%的時候,該塊從空閒列表中移出.
所以這時候新的行資料不可能再存放到該塊中. 那這個剩餘的PCTFREE%部分豈不是浪費了,當然不是了.
隨著UPDATE 活動的增多,某些存在該塊中的行資料的就會變大,變大部分的資料就存放在PCTFREE部分中.
Delete活動,會將行資料從塊中抹去,這時候塊的使用率可能會低於1-pctfree%, 但是該塊還是不會立即回到空閒列表,也就是該塊這時候不會接受新的行資料. 那什麼時候該塊會重新回到空閒列表中呢?
直到該塊的使用率低於PCTUSED%的時候,才會回到空閒列表中,也就是說這時候可以接受新的行資料了.
所以當你的系統有較多的update活動並且行資料的大小變化較大的時候,應該預留較多的pctfree.
例如一個公文審批系統,一個公文在流轉的過程中,資料在不斷地變大。
對於一個沒有update活動的表,可以將其設定為0.如系統中的組織架構表,更新的可能性幾乎為0。
假如你想充分地利用塊,則將PCTUsed 設定地高一點,以便在發生Delete活動後,快速地回到空閒列表中.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/701141/viewspace-1031/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle pctfree與pctusedOracle
- Oracle pctfree 和 pctusedOracle
- 建立表時引數PCTFREE和PCTUSED詳解
- oracle pctfree和pctused詳解Oracle
- Oracle資料庫的PCTFREE與PCTUSEDOracle資料庫
- pctfree和pctused的區別。
- Oracle中關於PCTFREE和PCTUSED的說明Oracle
- Oracle8i 與Oracle9i 中對pctused 和pctfree, pctincrease 的理解Oracle
- How PCTFREE and PCTUSED Work Together(十)
- PCTFREE, PCTUSED, and Row Chaining(七)AI
- pctused, pctfree, pctincrease , 行遷移 & 行連結
- block學習(pctfree&pctused),行遷移問題(zt)BloC
- 引數傳值機制
- Oracle 空閒等待事件Oracle事件
- Oracle:PDB 引數管理Oracle
- PostgreSQL的"double buffers"刷髒機制和引數SQL
- oracle buffer cache管理機制_buffer cache dump與lru機制小記Oracle
- Oracle表空間建立引數解析Oracle
- Oracle PGA引數的管理Oracle
- ORACLE RAC GUARD配置引數——RAC GUARD概念和管理Oracle
- 引數傳遞機制之JWTJWT
- Oracle 本地表空間管理與字典表空間管理Oracle
- Oracle 表空間 建立引數 說明Oracle
- Oracle RAC引數檔案管理Oracle
- 閒聊oracle SQL*Net相關的空閒等待事件OracleSQL事件
- MySQL:引數wait_timeout和interactive_timeout以及空閒超時的實現MySqlAI
- Oracle RAC初始化引數管理Oracle
- Chrome 啟動引數列表Chrome
- 培訓管理和機制梳理
- php原始碼02 -基本變數與記憶體管理機制PHP原始碼變數記憶體
- Oracle中INITRANS和MAXTRANS引數Oracle
- Oracle和SUN Solaris核心引數Oracle
- Oracle 12C 中CDB和PDB的引數檔案管理Oracle
- 【MYSQL】MHA引數列表說明MySql
- Linux 核心引數 和 Oracle相關引數調整LinuxOracle
- Python 中函式的 收集引數 機制Python函式
- ORACLE空間管理實驗2:區的管理與分配Oracle
- Oracle 靜態引數與動態引數型別介紹Oracle型別