本地管理表空間

2021-06-01 01:22:40 字數 1721 閱讀 9148

本地 管理

表空間的好處:

1:快速,併發空間操作,表空間的分配和**都是在本地操作

2:能夠增強效能

3:本地管理的臨時表空間不產生任何undo和redo

4:空間的分配變的簡單,因為當指定 autoallocate 之句時,

資料庫在分配空間時,會選擇合適的extent的大小

5:能夠減少使用者對資料字典的訪問,因為必要的資訊都儲存在資料塊的檔案頭位圖裡面

6:本地管理表空間沒必要合併空閒的extent。

建立本地表空間

只需要指定create tablespace ........extent management local 即可。還可以選擇autoallocate 或者 uniform. ,如果你想資料庫物件有多種extent size 可以指定 autoallocate ,資料庫會為資料庫物件選擇合適的extent 大小,這是最簡單的管理方式,但是會浪費一定的空間。如果你能精確的知道物件的大小,可以使用uniform. 這樣能避免空間的浪費。

如果create tablespace 使用預設儲存子句,那麼將建立本地管理自動分配extent的表空間。1>如果指定了minimum extent子句,資料庫將評估minimum extent,initial和next 是否相等,以及pctincrease 是否等於0,如果都相等,那麼資料庫將建立乙個本地管理的uniform. extent的 表空間並且extent size等於 initial。如果minimum extent,initial ,next 不相等以及pctincrease 不等於0 資料庫就會忽略任何extent儲存引數,並將建立乙個本地管理 autoallocate 表空間。2>如果沒有指定 minimum extent 大小,資料庫將評估 initial ,next 是否相等,以及 pctincrease  0 如果是建立乙個uniform的本地管理表空間。

建立乙個autoallocate 本地管理的表空間: create tablespace lmtbsb datafile /u01/oradata/lmtbsb01.dbf size 50m extent management local autoallocate;

autoallocate 表空間的預設minimum extent 是 64k

建立乙個uniform. 的表空間:  create tablespace lmtbsb datafile /u01/oradata/lmtbsb01.dbf size 50m extent management local uniform;

預設的uniform. extent size 是1m.

本地表空間的segment的管理

在本地表空間中有兩種segment 空間管理一種是手動另一種是自動。手動segment 空間的管理使用的freelists 列表管理segment的空閒空間,自動segment空間管理使用的是bitmap。自動segment 空間管理比手動管理高效,預設本地管理的表空間,除了臨時表空都是使用自動segment空間 管理。

預設是使用自動segment 空間管理,有可以手動指定

create tablespace lmtbsb datafile /u01/oradata/lmtbsb02.dbf size 50 m extent management local  segment space management auto;

segment space management manual 子句禁用自動管理。

一旦在建立表空間的時候指定了segment space 的管理就不能更改了

本地管理表空間和字典管理表空間

oracle的儲存分為四個層次,block extent segment和tablespace。oracle分配空間到segment時,是將一組連續的block新增到segment,這組連續的block稱作乙個extent。對於已經分配和還未分配的extent的元資料可能存放在資料字典中 字典管理表...

字典管理和本地管理的表空間

expert oracle database architecture 學習筆記 字典管理和本地管理的表空間 在oracle8.1.5之前,表空間中管理區段的分配只有一種方法 字典管理的表空間 dictionary managed tablespace 這種情況下,需要執行遞迴sql來得到更多空間,...

oracle的本地管理表空間(LMT)

在oracle8i 以前,oracle使用字典管理表空間 dictionary managed tablespace 對於使用資料字典來管理表空間,每當分配或 時,oracle伺服器將更新資料字典中的相應的表,這就是表空間預設的空間管理方法。對於oracle8.0版和更早版本內這是唯一可用的方法。從...