一,表空间建立
#创建本地管理表空间
create tablespace SSQ
datafile 'G:\SSQ.dbf' size 50m
extent management local autoallocate;//自动分配区间
create tablespace SSQ
datafile 'G:\SSQ.dbf' size 50m
extent management local uniform size 128k;//设置最小区间为128k
#区别
使用本地化的扩展功能,可避免发生重复的空间管理操作
本地化管理的自动扩展能够跟踪临近的自由空间,可消除结合自由空间的麻烦
#创建大文件表空间
create bigfile tablespace SSQ
datafile 'G:\SSQ.dbf' size 1g;
#区别
大文件表空间是为超大型数据库所设计的,但只有一个数据文件。
#创建自动段管理方式的表空间
create tablespace SSQ
datafile 'G:\SSQ.dbf' size 30m
extent management local autoallocate
segment space management auto;
#创建手动段管理方式的表空间
create tablespace SSQ
datafile 'G:\SSQ.dbf' size 30m
extent management local autoallocate
segment space management manual;
#区别
手动管理是为了向后兼容而保留的
自动管理具有更好的性能
自动段管理不能用于创建临时表空间和系统表空间
Oracle推荐使用自动段空间管理方式管理永久表空间
#创建临时表空间
create temporary tablespace SSQ
tempfile 'G:\SSQ.dbf'
size 20m reuse
extent management local uniform size 16m;
#区别
是一个磁盘空间,主要用于内存排序区不足而必须将数据写到磁盘
其中的临时段是由数据库根据需要创建,管理和删除的
主要用于Select distinct查询,union联合查询,minus计算,analyze分析
二,表空间的操作
#重命名表空间
alter tablespace SSQ rename to SSQQ;
#向本地管理表中增加数据文件
alter tablespace SSQQ
add datafile 'G:\SSS.dbf' size 10m;
#修改大文件表空间属性
alter tablespace SSQ resize 4g;
#向临时表空间中添加临时文件
alter tablespace SSQ
add tempfile 'G:\ss.dbf' size 20m;
#修改表空间为联机状态
alter tablespace SSQQ online;
#修改表空间为脱机状态
alter tablespace SSQQ offline;
#查看表空间的状态
select Tablespace_name,contents,status from dba_tablespaces;
#设置表空间为只读表空间
alter tablespace SSQQ Read ONLY;
#设置表空间为只写表空间
alter tablespace SSQQ Write ONLY;
#设置表空间为读写表空间
alter tablespace SSQQ Read Write;
三,表空间的删除
#删除表空间
drop tablespace SSQ;
#删除表空间的同时删除其中的段
drop tablespace SSQ including contents;
#删除表空间,其中的段以及数据文件
drop tablespace SSQ including contents and datafiles;