表空间是数据库的逻辑存储控件,理解为存储数据的空间。表空间是有一个或者多个数据文件构成的,数据文件的大小和位置可以由用户定义。
表空间的分类,永久表空间,临时表空间,UNDO表空间。
其中UNDO表空间是保存事务被修改之前的数据存储。可以保证数据回滚。
查看用户的表空间。dba_tablespace.user_tablespaces数据字典,第一个是管理级的,第二个是普通用户的。
select tablespace_name from dba_tablespaces;语句查看管理用户表空间。
select tablespace_name from user_tablespaces;查看普通用户表空间。
dba_user、user_users数据字典。第一个管理员级,第二个普通用户级。
设置用户默认或者临时表空间
alter user username
DEFAULT|TEMPORARY
TABLESPACE tablespace_name
创建表空间语法
CREATE [TEMPORARY] TABLESPACE tablespace_name TEMPFILE|DATAFILE 'xx.dbf' SIZE xx;
例子永久:
create tablespace test1_tablespace
datafile 'test1file.dbf'' size 10m;
例子临时:
create temporary tablespace temptest1_tablespace
tempfile 'tempfile1.dbf'' size 10m;
如何查看表空间的文件路径,数据字典 dba_data_files;
查看表永久的文件名字
select file_name from dba_data_files where tablespace_name ='TEST!TABLESPACE';
出现文件位置。
临时表空间 数据字典 dba_temp_files;
修改表空间
设置联机或者脱机状态
ALTER TABLESPACE tablespce_name ONLINE|OFFLINE;
例子脱机
alter tablespace test1_tablespace offline;
查看表空间状态,从字典 dba_tablespace中查看
字段status表示状态。
select status from dba_tablespace where tablespace_name ='TEST1_TABLESPACE';
设置只读或者可读写状态
ALTER TABLESPACE tablespace_name
READ ONLY|READ WRITE;
更改前必须是在线状态。
表空间中增加数据文件
ALTER TABLESPACE tablespace_name
ADD DATAFILE 'xx.dbf' size xx;
使用dba_data_files查看是否成功。
删除数据文件
ALTER TABLESPACE tablespace_name DROP DATAFILE 'filenam.dbf';
注:不能删除表空间创建时的数据文件
删除表空间
DROP TABLESPACE tablespace_name [INCLUDING CONTENTS]
后面可选的是不加只删除表空间不删除数据文件,加上删除数据文件。