一、表空间概述
1、理解表空间:表空间是数据库的逻辑空间,存放数据库对象,一个数据库可以由多个表空间构成。
2、表空间与数据文件的关系:表空间是由一个或多个数据文件构成的,我们创建的表、存储过程等都是存放到表空间的数据文件中的。
二、查看用户表空间
1、数据字典:dba_tablespaces(dba级数据表空间)、user_tablespaces(用户级数据表空间);
查询某个用户下表空间名语句:select tablespace_name from dba_tablespaces;
2、数据字典:dba_users、user_users;
查询某个用户下的默认表空间和临时表空间:select default_tablespace,temporary_tablespace from dba_users where username='HBYDJW';
注:再输入用户名username时一定注意使用大写,否则会报错“未选定行”。
3、设置用户的默认或临时表空间:ALTER USER username DEFAULT|TEMPORARY TABLESPACE tablespace_name;
4、创建表空间:CREATE [TEMPORARY] TABLESPACE tablespace_name TEMPFILE|DATAFILE 'xxx.dbf' SIZE xx;
创建临时表空间时在create后面需跟上temporary.
eg:create tablespace hbydjw datafile 'hbydjw01.dbf' size 30m; 当文件名未指定目录时,放到oracle默认路径。
5、查看表空间目录路径:select file_name from dba_data_files where tablespace_name ='HBYDJW';(表空间名大写);
三、修改表空间的状态
1、设置联机或脱机状态(默认新创建的表空间是联机状态):
ALTER TABLESPACE tablespace_name ONLINE|OFFLINE;
select status from dba_tablespaces where tablespace_name='HBYDJW';
2、设置表空间只读或可读写状态(默认状态是可读写的):
ALTER TABLESPACE tablespace_name READ ONLY|READ WRITE ;
select status from dba_tablespaces where tablespace_name='HBYDJW';
四、修改数据文件
1、增加数据文件(扩表空间):ALTER TABLESPACE tablespace_name ADD DATAFILE 'xx.dbf' SIZE xx;
2、删除数据文件:ALTER TABLESPACE tablespace_name DROP DATAFILE 'filename.dbf';
五、删除表空间
1、DROP TABLESPACE tablespace_name [INCLUDING CONTENTS];
注:如要删除数据文件需加上大括号语句。