oracle表空間

 

表空間

數據庫的表空間可以分爲四種:系統表空,臨時表空間,撤銷表空間,應用表空間。

Ø  系統表空間:包括system,sysaux兩個表空間

Ø  臨時表空間:執行order by,group by,create index等sql語句,會產生大量的臨時數據。這些會先數據保存到PGA中,如果PGA空間不足就會寫到臨時段中。如果沒有指定默認表空間,就存放在臨時表空間。如果沒有臨時表空間就會在system表空間中創建臨時段。這樣的弊端就是吃了system表空間,產生了大量的碎片,甚至宕機。

Ø  撤銷表空間:回退事務

Ø  應用表空間:沒啥說的

大文件表空間:只能包含一個數據文件,但是可以包含4G個數據塊。Create bigfile tablespace spacename….

小文件表空間:最多1024個比數據文件,關鍵字:samllfile, 默認是這種表空間。

表空間的區、段管理

區管理方式:

Ø  數據字典管理方式:空間表中分配、回收區空間時,對數據字典中的相關基礎表進行更新

Ø  本地管理方式:表空間中區的分配與回收信息保存在表空間的數據文件中。此方式可以指定2鍾區分配方式:

l   Uniform:統一分配,所有區的大小是相同的

l   Autoallocate:自動分配,區的大小隨表的大小自動地動態改變,這種方式可以簡化DBA工作。

段管理方式:

Ø  MANUAL:默認設置。使用可用列表來管理段的空閒數據塊。空閒的數據塊都存在列表中,需要存儲空間時就從列表中進行搜索。

Ø  AUTO:使用位圖來管理段的已用數據塊和空閒數據塊,能提供更哈偶的存儲利用率。

Ø  使用uniform區分配方式:

Create tablespace space1

Datafile “c:\da\space\space1.dbf’ size 2M uniform size 128k;

Ø  使用autoallocate區分配方式:

Create tablespace space2

Datafile “c:\da\space\space2.dbf’ size 2M autoallocate;

Ø  使用auto段管理方式

Create tablespace space3

Datafile “c:\da\space\space3.dbf’ size 2M uniform size 128k segment space management auto;

修改表空間

修改表空間大小

表空間是個數據文件大小之和,修改表空間的大小有三種方式:

Ø  增加數據文件

Alter tablespace space1

Add datafile “c:\da\space\space1.1.dbf’ size 2        M

Ø  修改數據文件的大小

Alter tablespace

Datafile “c:\da\space\space1.dbf’ resize 4M

Ø  允許數據文件自動擴展

Alter database

Datafile “c:\da\space\space1.1.dbf’ autoextend on next 1M maxsize 20M

設置默認表空間

Ø  默認表空間

alter database default tablespace space1;

Ø  默認臨時表空間

Alter database default temporary tablespace space2;

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章