oracle區管理和段空間管理詳細介紹

來源:互聯網
上載者:User

作為一名DBA,常見的一個情境之一:

建立資料表空間:

複製代碼 代碼如下:createtablespaceThink
datafile'/u01/app/oracle/oradata/orcl/think.dbf'size100M
autoextendonnext10Mmaxsize4096M
extentmanagementlocaluniformsize256K
segmentspacemanagementauto;

建立使用者: 複製代碼 代碼如下:createuserbin
defaulttablespaceThink
temporarytablespacetemp;

授予許可權: 複製代碼 代碼如下:grantconnect,resourcetobin;
revokeunlimitedtablespacefrombin;
alteruserbinquotaunlimitedonThink;

在這個情境中,有兩條語句:
①extentmanagementlocaluniformsize256K
②segmentspacemanagementauto
其中,前者是區管理;後者則是段空間管理

㈠區管理
區管理實際上就是資料表空間的管理
8i以前,是字典管理資料表空間,當建立或刪除對象時,Oracle的空間分配或回收是通過資料字典來記錄和管理
在高並發系統中,這會導致效能衰減、空間片段等難題
這已經是門過去的技術,這裡就不贅述了。
8i開始,Oracle引入本地資料表空間管理
在每個資料表空間的資料檔案的頭部加入了一個位元影像地區
一個段的第一個區的第一個塊是firstlevelbitmapblock
第二個塊是secondlevelbitmapblock
第三個塊才是段頭塊
這兩個塊是用來管理freeblock

文法: 複製代碼 代碼如下:extentmanagementlocal{autoallocate|uniformsizenK/M}

是自動分配還是統一尺寸
若為自動分配,則Oracle會按照遞增演算法來分配空間
如果選擇統一尺寸,還可以詳細指定每個區間的大小
dba_extents這個視圖可以看到哪些對象分配了多少區間

㈡段空間管理
Oracle以區間為單位將空間分配給對象段,而段內則是以block為單位進行空間使用和管理
我們以幾個參數來理解段空間管理 複製代碼 代碼如下:[sql]
<spanstyle="font-size:18px;">sys@ORCL>selectextent_management,segment_space_managementfromdba_tablespaces;
EXTENT_MANSEGMEN
----------------
LOCALMANUAL
LOCALMANUAL
LOCALAUTO
LOCALMANUAL
LOCALMANUAL

從9i開始,段空間管理有兩種:
①MSSM:由你設定freelists、freelistgroups、pctused、pctfree、initrans等參數來控制如何分配、使用段中的空間
②ASSM:你只需控制一個參數pctfree,其他參數即使建了也將被忽略
⑴freelist
使用MSSM資料表空間管理時,Oracle會在freelist中為有自由空間的對象維護HWM以下的塊
freelist和freelistgroup在ASSM資料表空間中根本不存在,僅在MSSM資料表空間使用這個技術
⑵pctfree和pctused
pctfree告訴Oracle:塊上應該保留多大的空間來完成將來的更新
對於MSSM,她控制著塊何時放入freelist中,以及何時從freelist中取出。
如果大於pctfree,則這個塊會一直在freelist上
對於ASSM,因為ASSM根本不使用freelist。在ASSM中,pctused也將被忽略。
但她仍然會限制能否將一個新行插入到一個塊中
適當的設定pctfree有助於減小行遷移
⑶initrans
無論是ASSMorMSSM這個參數仍然有效
塊頭的事務槽的初始化大小有對象的initrans指定

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.