1. 程式人生 > >Oracle PCTFREE PCTUSED FREELIST 講的明白

Oracle PCTFREE PCTUSED FREELIST 講的明白



在早期的手動空間管理階段,Oracle通過一種列表結構FREE LIST來記錄資料塊的使用情況。需要為每個段設定幾個引數。

PCTFREE定義資料塊中空閒空間百分比
 

PCTUSED定義資料塊被使用的空間百分比
 

FREELISTS每個段使用的空閒列表數量
 

PCTFREE儲存引數告訴ORACLE什麼時候應該將資料塊從物件的空閒列表中移出。ORACLE的預設引數是PCTFREE=10;也就是說,一旦一個INSERT操作使得資料塊的90%被使用,這個資料塊就從空閒列表(free list)中移出。
PCTUSED儲存引數告訴ORACLE什麼時候將以前滿的資料塊加到空閒列表中。當記錄從資料表中刪除時,資料庫的資料塊就有空間接受新的記錄,但只有當填充的空間降到PCTUSED值以下時,該資料塊才被連線到空閒列表中,才可以往其中插入資料。PCTUSED的預設值是PCTUSED=40。


儲存引數規則小結 
(1)PCTUSED較高意味著相對較滿的資料塊會被放置到空閒列表中,從而有效的重複使用資料塊的空間,但會導致I/O消耗。PCTUSED低意味著在一個數據塊快空的時候才被放置到空閒列表中,資料塊一次能接受很多的記錄,因此可以減少I/O消耗,提高效能。 
(2)PCTFREE的值較大意味著資料塊沒有被利用多少就從空閒列表中斷開連線,不利於資料塊的充分使用。PCTFREE過小的結果是,在更新時可能會出現資料記錄遷移(Migration)的情況。(注:資料記錄遷移(Migration)是指記錄在是UPDATE操作擴充套件了一個VARCHAR2型別的列或BLOB列後,PCTFREE引數所指定的空間不夠擴充套件,從而記錄被ORACLE強制遷移到新的資料塊,發生這種情況將較嚴重的影響ORACLE的效能,出現更新緩慢)。
當進行大量更新操作,並且會增加行長度,這時可以設定大的pctfree;當進行大量插入和刪除操作,並且不會引起行長度的增加,設定高的pctused,可以快速刪除來重新利用釋放的空間。
通過設定合適的pctfree和pctused  來避免行連結和行遷移。
行連結是指如果一個數據塊無法裝下一行的資料,會把為行分配另一個數據塊。
行遷移是指如果在一個數據塊內進行大量的更新操作,從而引起行長度增加,而此時塊內的空閒空間又無法容下這個行,ORACLE會把整行移到另一個數據塊,而在原來的塊中保留一個指向這個新資料塊的指標。

如果PCTFREE的值太大,記錄又可能很長,這會引起行連結(ROW-CHAINING),同時空間利用率也不高; 
Row Chaining在初次insert時發生,如果記錄大小超過了整個block可用大小,那麼記錄將會跨越多個block。- PCTFREE的值太大,block的可用於insert的空間就小,so...


如果PCTFREE的值太小,會影響塊資料記錄的增長,容易引起行遷移(ROW-MIGURATING);     
Row Migrating在update的時候發生,一條原來儲存在一個block中的記錄由於更新而發生記錄長度變大的時候,需要使用block中的空閒空間,如果空閒空間不夠,那麼整條記錄會全部遷移到一個新的block中。- PCTFREE的值太小,block可用於update的空間就小,so...

pctused的值關係到block是否進入freelist,低於pctused的進入。
如果pctused過大,那麼可能僅僅是刪除了一點兒內容,這個block就又重新被標誌為free了,當又增加了一點兒內容(達到了1-pctfree的值),又被從freelist中摘除,頻繁操作freelist是影響效能的。
如果pctused過小,那麼即使刪除了很多內容,也許這個block仍然不被放到freelist中也就仍然不能被用於insert新資料,所以空間浪費。

相關推薦

Oracle PCTFREE PCTUSED FREELIST 明白

 在早期的手動空間管理階段,Oracle通過一種列表結構FREE LIST來記錄資料塊的使用情況。需要為每個段設定幾個引數。 PCTFREE定義資料塊中空閒空間百分比   PCTUSED定義資料塊被使用的空間百分比   FREELISTS每個段使用的空閒列表數量  

oracle pctfree pctused 詳解

一、建立表時候,注意PCTFREE引數的作用       PCTFREE:為一個塊保留的空間百分比,表示資料塊在什麼情況下可以被insert,預設是10,表示當資料塊的可用空間低於10%後,就不可以被insert了,只能被用於update;即:當使用一個block時,在

oracle pctfreepctused詳解

blank 可用 htm post alt lock tables span 重新 一、建立表時候,註意PCTFREE參數的作用 PCTFREE:為一個塊保留的空間百分比,表示數據塊在什麽情況下可以被insert,默認是10,表示當數據塊的可用空間低於

oracle pctfreepctused 詳解

.cn 數據塊 ctf 通過 insert lte date 參數 alter 一、建立表時候,註意PCTFREE參數的作用 PCTFREE:為一個塊保留的空間百分比,表示數據塊在什麽情況下可以被insert,默認是10,表示當數據塊的可用空間低於10%

Oracle pctfreepctused

pctfree:預設為10,指當一個數據塊中的資料量達到90%時,就不可以再向這個塊中插入資料,剩餘的空間留做更新資料時使用。 pctused:一般為40,指當空閒空間量減少到pctfree時,不能插入資料直到當你刪除資料到40以下時才可以再次插入資料。 查看錶

oracle pctfreepctused的含義

1.pctfree和pctused是oracle使用block時的兩個閥值,這兩個值決定block的狀態。 2.pctfree:當orcale insert/update資料時,檢查該block的空閒情況,如果空閒率小於pctfree的值,那麼該block被放入非空閒列表中,

終於有人把雲計算、大數據和人工智能明白了!

曲線 梳理 服務 過程 數據排序 海量 人的 彈性 應該 今天跟大家講講雲計算、大數據和人工智能。為什麽講這三個東西呢?因為這三個東西現在非常火,並且它們之間好像互相有關系:一般談雲計算的時候會提到大數據、談人工智能的時候會提大數據、談人工智能的時候會提雲計算……感覺三者之

一次性明白Linux系統呼叫(1)

什麼是系統呼叫 Linux核心中設定了很多可以實現各種系統功能的子程式,這些子程式就叫系統呼叫。而系統呼叫和普通函式呼叫的區別主要是在系統呼叫是系統提供的,函式一般是函式庫或者自己提供的。 為什麼要用系統呼叫 其實很多我們平時用的C語言標準函式,在Linux

通過圖文給你明白java GC的實現原理

本文原連結 http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html 1. JAVA GC 概述 JAVA GC採用了分代思想,將java堆分成新生代,年老代,永久代。

從頭到尾給你明白Android View實現原理

Activity是Android開發者寫第一行程式碼起就開始接觸到的。而在onCreate方法中呼叫setContentView(R.layout.main_activity),恐怕也是絕大多數開發者的頭等任務。然後我們可以呼叫findViewById(R.id.xxx)來獲取佈局中的某

終於有人把雲端計算、大資料和人工智慧明白了!(1)

此文已由作者劉超授權網易雲社群釋出。 歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。 今天跟大家講講雲端計算、大資料和人工智慧。為什麼講這三個東西呢?因為這三個東西現在非常火,並且它們之間好像互相有關係:一般談雲端計算的時候會提到大資料、談人工智慧的時候會提大資料、談人工智慧的時候會提雲端計算……感覺三

終於有人把雲端計算、大資料和人工智慧明白了! (2)

此文已由作者劉超授權網易雲社群釋出。 歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。 3大資料時代,眾人拾柴火焰高 當資料量很小時,很少的幾臺機器就能解決。慢慢的,當資料量越來越大,最牛的伺服器都解決不了問題時,怎麼辦呢?這時就要聚合多臺機器的力量,大家齊心協力一起把這個事搞定,眾人拾柴火焰高。 對

終於有人把“TCC分布式事務”實現原理明白了!

出錯 訂單狀態 關於 重復數據 復數 同時 可能 參數 開啟 之前網上看到很多寫分布式事務的文章,不過大多都是將分布式事務各種技術方案簡單介紹一下。很多朋友看了還是不知道分布式事務到底怎麽回事,在項目裏到底如何使用。 所以這篇文章,就用大白話+手工繪圖,並結合一個電商系統的

明白combineByKey()運算元,不是談原始碼

簡單介紹  combineByKey()是最通用的對key-value型rdd進行聚集操作的聚集函式(aggregation function)。類似於aggregate(),combineByKey()允許使用者返回值的型別與輸入不一致。 其定義如下,我們可以根據這個形式來分別定義create

終於有人把雲端計算極速賽車原始碼出售、大資料和人工智慧明白了!

今天跟大家講講極速賽車原始碼出售QQ2952777280【話仙原始碼論壇】hxforum.com雲端計算、大資料和人工智慧。這三個詞現在非常火,並且它們之間好像互相有關係。 一般談雲端計算的時候會提到大資料、談人工智慧的時候會提大資料、談人工智慧的時候會提雲端計算……感覺三者之間相輔相成又不可分割。 但如

終於把雲端計算、大資料和 AI 明白

看懂雲端計算,大資料,人工智慧 我今天要講這三個話題,一個是雲端計算,一個大資料,一個人工智慧,我為什麼要講這三個東西呢?因為這三個東西現在非常非常的火,它們之間好像互相有關係,一般談雲端計算的時候也會提到大資料,談人工智慧的時候也會提大資料,談人工智慧的時候也會提雲端

明白編碼亂碼問題

在開發的過程中,在處理字串輸入輸出的時候,經常會碰到亂碼的問題。通常的解決方案,在百度或google上查一下,很快就能把問題解決了。對於其原理,並沒有深究。這次,嘗試著把編碼問題理解清楚。 編碼檔案常見的一些詞語有unicode,utf-8,gb2312,ASCII等,這些詞語就是是什麼含義,他

終於有人把雲端計算 大資料和 AI 明白

                                                                                                    (點選上方公眾號,可快速關注)作者:劉超www.cnblogs.com/popsuper1982/p/8505

終於有人把雲端計算、大資料和人工智慧明白

我今天要講這三個話題,一個是雲端計算,一個大資料,一個人工智慧,我為什麼要講這三個東西呢?因為這三個東西現在非常非常的火,它們之間好像互相有關係,一般談雲端計算的時候也會提到大資料,談人工智慧的時候也會提大資料,談人工智慧的時候也會提雲端計算。所以說感覺他們又相輔相

終於有人把資料、資訊、演算法、統計、概率和資料探勘都明白了!

01 什麼是資料 資料是什麼?這幾乎成為一個我們熟視無睹的問題。 有不少朋友腦子裡可能會直接冒出一個詞“數字”——“數字就是資料”,我相信會有一些朋友會斬釘截鐵地這麼告訴我。 一些朋友會在稍作思考後回答“數字和字元、字母,這些都是資料”。 不知道你現在是不是正在糾結哪個回答更正確,亦