在Oracle中,表空间是一个逻辑概念,由若干个操作系统文件组成一个表空间,一个数据文件只能是属于一个表空间,而一个数据库空间由多个表空间组成。常见的表空间有系统表空间,临时表空间,用户自定义表空间。
创建表空间语法结构
CREATE TABLESPACE 表空间名
DATAFILE '文件名'SIZE 数字(大小)
EXTENT MANAGEMENT LOCAL
UNIFORM SIZE 数字
(上面的文件名指的是完整路径和文件名 SIZE定义文件初始大小一般以“M”为单位,EXTENT MANAGEMENT LOCAL表示表空间类型是本地管理表空间)
例 创建一个表空间,数据文件大小为5MB,它的EXTENT大小为2MB,注意创建表空间必须是管理员才能创建。
执行后可以看到在G盘下多出了一个文件
表空间的扩充:表空间的空间不足可以使用下面格式的语句追加数据文件
ALTER TABLESPACE tabletest2
ADD DATAFILE'G:/tablespace' SIZE 20M;
表空间增加,设置自增长,并限制最大值
表空间的删除,语法如下
Drop TABLESPACE tabletest1;
创建表时指定表空间:
CREATE TABLE TABLEES(
TESTID NUMBER,
TESTNAME VARCHAR2(5)
)
TABLESPACE tabletest2
例子
创建表时,表中的数据存放在用户默认的表空间中,但也可以指定存放在哪个表空间,创建索引也是可以
指定表空间。
创建索引时指定表空间
表和索引创建后,表空间不可以再修改。
查看所有表空间:
重命名表空间
ALTER TABLESPACE tabletest2 RENAME TO tabletest3;
创建临时表空间
设置表空间的读写,下面语句设置表空间为只读,WRITE为写
查看表空间数据文件信息