中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

assm/msmm

發布時間:2020-08-08 21:09:49 來源:ITPUB博客 閱讀:282 作者:不一樣的天空w 欄目:關系型數據庫
一、MSSM和ASSM如何工作:
MSSM是在每個段中以freelistl鏈方式管理段中空閑數據塊(塊中空閑區高于pctfree默認10%),當向一個空數據塊插入數據量達到數據塊大小1-pctfree時,即停止對該塊進行插入,而再分配另一個新數據塊進行插入,并將該塊從空閑列表freelist中移除。因此每個塊的利用率為1-pctfree,是為了以后發生update 操作此塊發生行遷移或行連接,增加磁盤I/O。
當數據塊內數據被刪除到pctused所指定值(默認40%)時,即將該塊掛起到freelist上,使其可以接受新數據段插入。

在segment中若同一時刻發生多個insert,會引起freelist爭用,故一個segment中可存在多個freelist。freelist的多少決定了同一時刻在同一segment中進行insert操作的數量。多個freelist又可歸屬于不同的freelist group。

當grouplist=1時,第一個block為段頭塊,存放freelist及HWM信息,其余均為數據塊,第一個數據塊是從第二個塊開始插入的。
當freelist group >=2時,freelist從segment header內分離出來,存在單獨的block中,每個freelist group占一個block,及真正的數據從1(段頭)+n (freelist group數據)塊之后的塊開始。

ASSM(默認)以位圖BMB方式管理段中的空閑數據塊以避免freelist鏈表競爭,
當段空間<=1M,第一個塊為一級位圖塊,該塊管理2個分區內那些塊,第二個塊為二級位圖塊,它指明所有一級位圖塊的位置,第三塊為段頭,存放所有區的編號、一級位圖塊和而及位圖塊。第17個塊也為位圖塊,管理第18~32個塊,即2個區。依次類推。
當當段空間>1M,前16個區與上述相同,從17個區開始2個一級位圖管理1個區,因為一個一級位圖最多可管理64個塊

二、ASSM介紹
ASSM是Automatic Segment Space Management的縮寫。與ASSM相對是Manul Segment Space Management。只有在Locally Managed Tablespace中可以使用ASSM,system tablespace不可以使用ASSM。Locally managed tablespace和ASSm是11gR2的默認配置。

In a locally managed tablespace, following parameters are not used any more:

    next
    pctincrease
    minextents
    maxentents
    default

ASSM uses bitmap to manage space, whereas MSSM uses free list to manage free space.

在創建Tablespace時可以顯式指定:

    create tablespace tools  
    datafile '/ora01/dbfile/INVREP/tools01.dbf'  
    size 100m -- Fixed datafile size  
    extent management local -- Locally managed  
    uniform size 128k -- Uniform extent size  
    segment space management auto -- ASSM  

表空間tools雖然采用ASSM,但是空間超出100M后,依然需要手工增長。或者增加datafile。亦即,表空間存儲空間的上限是有數據文件的屬性決定的,不是ASSM。
ASSM的參數比MSSM少許多,一個Pctfree就夠了。以下參數不再需要

    pctused
    freelist
    freelist group

查看tablespace是如何管理的:

    select tablespace_name ,extent_management ,segment_space_management  
    from dba_tablespaces  
    order by tablespace_name;

三、assm補充
從Oracle 9i開始,管理段空間有兩種方法:手動段空間管理和自動段空間管理(Auto Segment Space Management,ASSM);

ASSM用位圖來跟蹤或管理每個分配到對象的塊,每個塊有多少剩余空間根據位圖的狀態來確定,如>75%,50%-75%,25%-50%和<25%,也就是說位圖其實采用了四個狀態位來代替以前的PCTUSED,什么時候該利用該數據塊則由設定的PCTFREE來確定。

對于ASSM,只需控制與空間使用相關的一個參數:PCTFREE。創建段時也可以接受其他參數,但是這些參數將被忽略。
在存儲/段 特征這方面,應用于ASSM段的存儲設置只有:

BUFFER_POOL
PCTFREE
INITRANS
MAXTRANS(僅用于9i,在10g及以上版本中,所有段都會忽略這個參數。)

BUFFER_POOL : 可以將表放到keep或其它中,如: ALTERTABLE Table_Name STORAGE ( BUFFER_POOL KEEP) ;

PCTFREE:該參數用于告訴oracle應該在塊上保留多少空間來完成將來的更新,默認10%。如果自由空間百分比高于PCTFREE中指定的值,這個塊就被認為是自由的。

使用ASSM時,PCTFREE會限制能否將一個新行插入到一個塊中,但是它不會控制一個塊是否在FRRELIST上,因為ASSM根本不會使用FREELIST,在ASSM中PCTUSED也被忽略。

PCTFREE有3種設置:太高、太低、剛剛好。如果把塊的PCTFREE設置的太高,就會浪費空間。如果把PCTFREE設置為50%,而你從未更新數據,那么每個塊都會浪費50%的空間。不過,在另一個表上,可能50%非常合理。如果行最初很小,現在想將行的大小加倍,但是倘若 PCTFREE設置太小,更新行時就會導致行遷移。


行遷移是指(rowmigration)是指由于某一行變得太大,無法再與其余的行一同放在創建這一行的塊中,而放到其它的塊中。

如果這種行遷移所占的比例相當大,而且有大量用戶在訪問這些行,訪問這些數據的速度就會開始變慢,因為額外的i/o以及與i/o相關的閂定都會增加訪問時間,緩沖區緩存的效率開始下降,因為需要緩存兩個塊,而如果沒有行遷移只需要緩存一個塊。另外表的大小和復雜性都有所增加。


如何設置PCTFREE(ASSM):
如果你插入了將要更新的大量數據,而且這些更新會頻繁地增加行的大小,此時可以設置比較高的PCTFREE,因為這可以在插入后在塊上預留大量空間。
如果只想對表完成INSERT或DELETE,或者UPDATE只是對行大小影響比較小,此時可以設置比較低的PCTFREE。

 

相關信息可參考:

Oracle 自動段空間管理(ASSM:autosegment space management)

http://blog.csdn.net/tianlesoftware/article/details/4958989

Oracle ASSM三級位圖塊結構

http://www.eygle.com/archives/2007/07/oracle_assm_level3_bmb.html

http://www.itpub.net/thread-99486-1-1.html

 






向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

府谷县| 威海市| 怀远县| 陇南市| 庆安县| 固始县| 栾川县| 讷河市| 嵊州市| 平度市| 准格尔旗| 铁岭县| 静海县| 延安市| 潮安县| 临海市| 金昌市| 藁城市| 三明市| 咸阳市| 石首市| 贵定县| 鹿邑县| 蕉岭县| 永宁县| 抚顺市| 富源县| 大港区| 牡丹江市| 新野县| 武鸣县| 子洲县| 子长县| 洛隆县| 喀喇| 嵊州市| 七台河市| 屯留县| 新巴尔虎左旗| 曲阜市| 义乌市|