语句如下:

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建立的大一点。