extent是“區間”的意思
在Oracle資料庫中:extent management 有兩種方式 extent management local(本地管理); extent management dictionary(資料字典管理)
預設的是local
每種也有兩種大小增長方式:
uniform:預設為1M大小,在temp資料表空間裡為預設的,但是不能被應用在undo資料表空間
本地管理資料表空間與字典管理資料表空間相比大大提高了管理效率和資料庫效能,其優點如下:
1.減少了遞迴空間管理
本地管理資料表空間是自己管理分配,而不是象字典管理資料表空間需要系統來管理空間分配,本地資料表空間是通過在資料表空間的每個資料檔案中維持一個位元影像來跟蹤在此檔案中塊的剩餘空間及使用方式。並及時做更新。這種更新只對錶空間的額度情況做修改而不對其他資料字典表做任何update操作,所以不會產生任何回退資訊,從而大大減少了空間管理,提高了管理效率。同時由於本地管理資料表空間可以採用統一大小分配方式(UNIFORM),因此也大大減小了空間管理,提高了資料庫效能。
2.系統自動管理extents大小或採用統一extents大小
本地管理資料表空間有自動分配(AUTOALLOCATE)和統一大小分配(UNIFORM)兩種空間分配方式,自動分配方式(AUTOALLOCATE)是由系統來自動決定extents大小,而統一大小分配(UNIFORM)則是由使用者指定extents大小。這兩種分配方式都提高了空間管理效率。
3.減少了資料字典之間的競爭
因為本地管理資料表空間通過維持每個資料檔案的一個位元影像來跟蹤在此檔案中塊的空間情況並做更新,這種更新只修改資料表空間的額度情況,而不涉及到其他資料字典表,從而大大減少了資料字典表之間的競爭,提高了資料庫效能。
4.不產生回退資訊
因為本地管理資料表空間的空間管理除對錶空間的額度情況做更新之外不修改其它任何資料字典表,因此不產生回退資訊,從而大大提高了資料庫的運行速度。
5.不需合并相鄰的剩餘空間
因為本地管理資料表空間的extents空間管理會自動跟蹤相鄰的剩餘空間並由系統自動管理,因而不需要去合并相鄰的剩餘空間。同時,本地管理資料表空間的所有extents還可以具有相同的大小,從而也減少了空間片段。
6.減少了空間片段
7.對暫存資料表空間提供了更好的管理
autoallocate:
You can convert a tablespace from dictionary extent management to local extent management
and back with the Oracle-supplied PL/SQL package DBMS_SPACE_ADMIN. The SYSTEM
tablespace and any temporary tablespaces, however, cannot be converted from local to the
older style dictionary managem
兩種extent管理方式是可以相互轉換的,利用PL/SQL DBMS_SPACE_ADMIN
但是系統資料表空間和暫存資料表空間不能從local管理轉化到dictionary管理。