本地管理表空間LMT&自動段空間管理ASSM

--------------------------------------------LMT本地管理表空間----------------------------
LMT:改進了表空間中對象的性能,並且減輕了表空間的管理,不再存在表空間的存儲碎片。
LMT通過位圖跟蹤表空間的空閒空間.
執行任何LMT空間相關操作時可以減少或消除回滾信息。因爲表空間中位圖的更新沒有記錄在數據字典中,所以不會爲該事物生成任何回滾信息。
使用LMT時,沒有更新數據字典,並且在盤區創建期間沒有生成回滾活到,LMT自動跟蹤鄰近的空閒空間,從而不需合併盤區。
可以使用LMT來處理表空間中的盤區管理,通過維護空閒塊和使用塊的每個數據文件中的位圖或數據文件中的多組塊,本地管理的表空間可以管理自己的表空間。
每次分配盤區或釋放盤區以重用時,數據庫更新位圖以顯示新的狀態。
通過本地託管盤區,這些盤區管理操作都會被重新分配到數據文件頭中的位圖塊上,這同時也提高了性能,因爲數據庫的每個表空間都只包含自己的盤區信息。可以使用快速散列進程訪問該信息,而不是使用較慢的基於表的查詢訪問。

使用LMT時,除了在字典託管表空間中可用的傳統“用戶”託管盤區定義外。oracle還定義了將盤區分配到段的兩個選項:統一和自動分配
1.統一:在創建LMT時將盤區分配爲unifrom,所有盤區將具有相同的大小,因爲所有盤區具有相同的大小,所以不會有任何的存儲碎片。
       表空間中的所有盤區都使用在創建表空間時指定的相等大小進行分配,而不
       在使用統一盤區創建LMT時,建議在表空間名稱中指定盤區的尺寸。這樣可用很容易地確定表空間上的盤區尺寸,並且可以很容易地確定該把這個段移動或創建到哪個表空間上。
2.自動分配: 盤區具有64KB,1MB,8MB,64MB 的大小當表空間中的段增長時,數據庫使用內部算法來確定適當的下一個盤區尺寸。
           優點是:如果表已經被定義爲具有不適當的下一個盤區尺寸時,數據庫將自動增加表的下一個盤區尺寸,並且因此減少表具有全部盤區的數量。

在LMT中創建段時,不要指定定義參數存儲子句 。例如inital,next,pctincrease
create tablespace sales datafile '' size 100m extend management local uniform size 256kb

(1)一個段中的盤區量的多少總是會影響數據庫性能
(2)碎片會阻礙數據庫的空間管理
(3)擁有很多跨多個數據文件的不連續盤區的位圖索引就是一個大的性能問題。

-------------按下面步驟來避免與盤區管理相關的性能問題。
1.如果知道端將增大到多大尺寸,使用本地託管的統一盤區表空間。
2.使用統一的盤區大小重建或分割表空間
3.把增大過大的表放到有合適盤區大小的表空間中
4.使盤區尺寸時數據塊尺寸的倍數
5.通過使用ASSM避免freelist爭用。
查找增大到最大盤區數量的段,然後適當管理這些段,定期使用查詢DBA_SEGMENTS通常可以保證對象不會建立太多的盤區。
rowid操作不會關心段中有多少個盤區。
如果您增長到超過4096個盤區的段,則可以考慮將其移動到盤區大小更適合於段大小的表空間。

如果表變得很大,可以新建一個新表空間並把數據移動到這個新的位置中,以減少盤區的數量
可以通過DBA_EXTENTS視圖查詢到該盤區的信息。
select sequence_name,bytes from dba_extents where segment_name='emp';


---------------------------------------------ASSM自動段空間管理------------------------------
在給定具有自動管理盤區或統一盤區的LMT,段自身中的空閒空間可用是auto,manual。
使用自動段空間管理時,使用位圖來表明多少空間用於每個塊中。在創建段時不再需要指定pctused,freelists和freelist groups。p164.
此外,改進併發dml操作的性能,因爲段的位圖允許併發訪問,在空間列表管理的段中,當一個寫程序正在查詢段中的空閒空間時,段頭中包含空閒列表的數據塊對塊的所有其他寫
程序鎖定。雖然,爲非常活躍的段分配多個空閒列表確實可以在某些方面解決這個問題,但他是dba必須管理的另一種結構。

作爲在LMT中使用空閒列表的備選方法。這種管理段中空閒空間的系統利用位圖來跟蹤塊中可用於行插入的空閒的數量。
在啓用ASSM的情況下。不再使用空閒列表,因此可以最大程度地減少數據庫所需的總時間和資源。

ASSM應該能夠改進段中塊管理的整體性能,但是在將空閒空間位圖用於塊使用的體系結構中,ASSM可能會降低性能,小型表(少於1000行)的全表掃描要獲得比ASSM表空間更多的緩衝區。因此,如果按照顧位圖的大小組織表空間,則只應該對具有大型段媒介的表空間使用ASSM。

段中的3層位圖結構表明HWM下的塊是否已滿,(少於pctfree),0-25%空間,25%-50%,50%-75%,75%-100%空閒或者未格式化。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章