Oracle 表空間的段管理

2021-06-02 05:01:22 字數 794 閱讀 4806

當使用者進行插入、更新和刪除操作時,段中的資料塊的空間會發生變化,塊的狀態也會發生變化。 

oracle使用兩種方法進行塊管理:

手動管理(manual segment space management)

自動管理(automatic segment space management,assm)

1) 手動管理

oracle使用自由列表(free list)管理段中的塊,自由列表列出允許進行插入操作的資料塊。 

oracle通過pct_free和pct_used兩個引數來控制乙個資料塊是否允許插入資料。當對乙個塊進行insert或者update操作後,oracle會把這個塊中剩餘的自由空間和pct_free進行對比,如果這個資料塊中的自由空間小於pct_free的設定,oracle將把這個快從自由列表中取出,這時,這個塊不再允許進行insert操作,但這個塊仍然允許update操作。當對乙個塊進行delete或者update操作以後,oracle會把這個塊中已經使用的空間和pct_used進行對比,如果這個資料塊中已經使用的空間小於pct_used的設定,則oracle把這個塊重新放回自由列表中,這時,這個塊又可以進行insert了。 

在建立表空間的時候,使用子句segment space management manual設定段的手動管理。 

例:建立手動管理表空間

2) 自動管理

段的手工管理使用自由列表管理段中資料塊的使用,自動管理使用點陣圖來管理資料快。當塊發生變化時,oracle會更新位圖,以反映這個塊是否允許insert操作。點陣圖使oracle自動管理自由空間。 

例:建立自動管理表空間

表空間管理,段管理

字典表空間管理 用2個use free 2個表管理所有資料檔案中的所有區 本地表空間管理 每個資料檔案用位圖管理各自檔案內部的區 高併發 手動段管理 mssm 用freelist管理資料塊,但是很難控制freelist的個數,如果freelist太少會引起競爭,而且對資料塊的使用程度處理的不合理 自...

oracle表空間的空間管理

表空間 tablespace 為資料庫提供使用空間的邏輯結構,其對應物理結構是資料檔案,乙個表空間可以包含多個資料檔案.本地管理表空間 locally managed tablespace簡稱lmt 8i以後出現的一種新的表空間的管理模式,通過本地位圖來管理表空間的空間使用。字典管理表空間 dict...

Oracle 表空間管理

一 建立表空間f create tablespace mytablespace datafile 建立乙個名為mytablesapce的表空間 path filename1.dbf size 2048m autoextend off,指明資料檔案在存放地點,並關閉檔案的自動擴充套件功能,如果開啟了這...