表空間的增刪改

語句如下:

create [smallfile | bigfile] [permanent | undo | temporary ] tablespace  tbname

datafile | tempfile datafile_clause1 [,datafile_clause2,……]-->數據文件字句

[logging | nologging] –>

[extent mangement dictionary | local]  –>區的管理方式字典或本地管理,oralce已經淘汰了字典管理方式。

[autoallocate   | uniform [size integer [k | m]]] -->local-managed tablespace的2個表空間區的分配方式。

[default storge clause]        -->dictionary-managed tablespace的默認存儲參數字句。這兩條語句不能共存。

[segment space management auto | manual] -->段的管理方式,manual是爲兼容之前版本設置的,默認auto。

[blocksize integer [K | M]

[minimum extent integer [K | M]] -->區的最小大小,數據塊的整數倍。

[online | offline [normal | temporary | immediate | for recover]] ;

 

 

注:

bigfile是Oralce10g新引進的表空間,只能放置一個數據文件(或臨時文件),其數據文件可以包含4G個數據塊,按照一個數據塊爲8K,那麼大文件表空間容量就是32Tb。 
smallfile就是和bigfile相對而言的了,就是之前的那些表空間,例如system、sysaux等成爲小文件表空間。

datafile_clause1的語法如下:
'path_filename_suffix’ size integer [K | M] -->必須是絕對路徑
[reuse]
[autoextend off | on] -->自動擴展是否允許
[next integer [K | M]]
[maxsize unlimited | integer [K | M]] -->使用無限制大小還是指定大小

local-managed tablespace(本地管理方式)的2個表空間的區的分配方式:
autoallocate(自動分配),由oracle自動管理,是默認的。
uniform(統一分配),指定表空間中所有區的大小相同,區的大小默認是1M,也可以手工指定該大小。不能在undo中使用。

storge clause的語法如下:
storage initial integer [K | M]   -->initial指定第一個區的大小,next指定下一個區及以後的區的大小。
next integer [K | M]   –>initial默認是5個數據塊的大小,next的最小值是1個數據塊大小。
pctincrease integer  -->指定第三個區之後及後續區在前面區的基礎上增加的百分比。
minextents integer
maxextents {integer | unlimited}-->用無限制大小還是指定大小

 

 

 

permanent(永久表空間):除了undo(撤銷表空間),相對於temporary而言,其他的表空間都是永久表空間。

temporary(臨時表空間):當出現(order by)排序、group by(分組彙總)、create index(索引)等操作時,會產生大量的臨時數據,這些數據的存放地方就會使用臨時表空間。
temp表空間可以建立多個,每個用戶可以使用不同的temp表空間。

若在創建用戶時沒有爲用戶指定一個臨時表空間,Oralce會默認使用system表空間創建臨時段,存放臨時數據。

undo(撤銷表空間):該表空間的作用可以查看本博客的另一篇文章。

http://caidao.blog.51cto.com/254338/718308

undo表空間可以創建多個,但是同時只能有一個處於激活狀態,建立多個就是浪費磁盤存儲空間,完全可以把undo建立的大一點。

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