您好,登錄后才能下訂單哦!
邏輯空間管理:
本地管理表空間:
(默認值) 數據庫使用表空間本身中的位圖塊來管理擴展區。
因此,本地管理空間需要預留表空間的一部分用于位圖塊,記錄區空間的使用情況。
在一個表空間中, 數據庫可以使用自動段空間管理(ASSM)或手動段空間管理(MSSM)來管理段。
位圖塊:
本地管理表空間在數據文件頭維護一個位圖,以跟蹤數據文件體中的可用空間和已用空間。每一位對應一組塊。當空間被分配或釋放時,Oracle數據庫更改位圖值,以反映數據塊的新狀態。
本地管理表空間優勢:
1. 避免使用數據字典來管理擴展區。
2. 自動跟蹤相鄰的可用空間
3. 自動確定本地管理擴展區的大小
字典管理表空間:
字典管理表空間使用數據字典來管理其擴展區。
每當分配或釋放了一個擴展區時,Oracle數據庫更新數據字典中的表。
例如,當表需要擴展區時,數據庫查詢數據字典表,并搜索空閑擴展區。如果數據庫找到了空間,則修改一個數據字典表,并插入一行。按這種方式,數據庫通過修改和移動數據來管理空間。
段空間管理:
段空間管理是一個從包含該段的表空間繼承來的數據。
在一個本地管理表空間中, 數據庫可以自動地或手動管理段 。
例如,在users表空間中的段使用自動管理,而tools表空間中的段使用手動管理。
自動段空間管理(ASSM):
僅使用PCTFREE來控制空間分配,此參數指定塊中保留用于將來的更新的空間百分比,防止行遷移。
ASSM的并發性:
多個事務可以搜索多個相互獨立的空閑數據塊列表,從而減少爭用和等待。
手動段管理空間(MSSM):
舊式的MSSM方法使用稱為空閑列表的鏈表來管理段中的可用空間。
對一個具有可用空間的數據庫對象,有一個空閑列表會跟蹤位于高水位線HWM之下的數據塊。當塊被使用時,數據庫根據需要將塊放入空閑列表,或將塊從空閑列表中刪除。
除了 PCTFREE,MSSM還使用PCTUSED設置在當前使用塊中必須存在的可用空間百分比, 當塊中已使用的空間的比例小于這個百分比的時候,這個塊才被標識為有效狀態,并將其放入空閑列表中。只有有效的塊才被允許插入數據。 在ORACLE9I以后,缺省為自動管理方式,ASSM廢棄pctused屬性。
說明
:假如向一個表中插入行。數據庫檢查該表的空閑列表,以查找第一個可用的塊。
如果行無法容納進該塊中,并在塊中已使用空間大于或等于pctused,則數據庫將該表從空閑列表中移出,并搜索另一個塊。如果從塊中刪除行,則數據庫檢查塊中的已使用空間現在是否小于pctused。如果是,則數據庫將該塊置于空閑列表的開頭。
--來源于oracle database concept
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。