1. 程式人生 > >Oracle儲存結構(段、區、塊)認識

Oracle儲存結構(段、區、塊)認識

段:一個段是一系列的區的集合,包含表空內一個特定邏輯儲結構的所有資料。每個表Oracle會分配一個或者多個區段來成表資料段。一個表可能不止一個段的情況:索引組織表可能包含多個段、一表中有lob欄位(lob欄位存在獨立的段內),分割槽表
oracle
段的:資料段,臨時段,回段,索引段區:區是資料的一個邏輯單位,由多個連續的資料塊組成。一個或多個區段成一個段。當段中存空用完Oracle為這個段分配一個新區。區是按需分配的,段中的區可能在磁上並不連續。一個段或它的所有區段都儲存在一個表空上。在一個表空內,一個段可以包含來自多個數據檔案的區;就是

,段可以跨資料檔案。雖然如此,每個區段只能來自於一個數據檔案。雖然你可以分配額外的區段,但它的資料塊是單獨分配的。高水位線是段中可用空間和不可用空間的界線。建表空沒有指定區大小的,區的分配是隨著段的不斷撐大,區分配的大小是增的(64KB,1MB,8MB...)
塊:每個用戶創建的表空可以使用不同的大小。不管的大小,每個資料塊頭構都是一存放表和索引資料,構主要由塊頭、事務層、資料層和塊尾4部分尾是了和塊頭進行資料校,確保資料是一致的)瞭解行遷移和行接,行遷移由於一整行的資料被分成多個分片構成,些分片位於不同的資料,因此訪問這些資料需要多個邏輯讀
dml操作,其他分片也都要加行些附加的itl操作極大影響效能

每個itl槽的成:回段號,插槽號,事undo地址,志(事提交狀還有就是pct-freepct-used順帶提一下:
pctfree
這個引數定義了一個塊保留空間的百分比,保留空間是為了將來可能發生的更新操作
pctused
個引數控制一個什麼候被重新啟用來插入資料,但是是基於freelist管理的表空,一般建表空候系segment space management管理是auto(即用位管理),那麼就不啟用pct-used

反之管理模式manual使用freelist

管理啟用pct_used