Oracle数据库中,表空间(Tablespace)是一组数据文件的集合,它们用于存储数据库对象,如表、索引、视图、存储过程等。表空间是数据库中的逻辑结构…

表空间(系统、用户、临时、回滚) -> 段 -> 区 -> 数据块

env

  • oracle11g

用户及表空间创建

1.设置实例名
echo $ORACLE_SID
export ORACLE_SID=mvbpbang

2.以管理员登陆
sqlplus  / as sysdba;

3.创建临时表空间
create temporary tablespace user_temp  
tempfile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj_temp.dbf' 
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local;  
 
4.创建数据表空间
create tablespace user_data   
datafile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj_data.dbf' 
size 50m  
autoextend on  
next 50m maxsize unlimited  
extent management localsegment space management auto;
 
5.创建用户并指定表空间
create user username identified by password  
default tablespace user_data  
temporary tablespace user_temp;  
 
6.给用户授予权限
grant connect,resource,dba to username;

删除用户及表空间

1.删除user
drop user ×× cascade

说明:删除了user只是删除了该user下的schema objects,是不会删除相应的tablespace的。

2.删除tablespace
drop  tablespace tablespace_name including contents and datafiles;

#drop tablespace xxx

--删除空的表空间,但是不包含物理文件
drop tablespace tablespace_name;
--删除非空表空间,但是不包含物理文件
drop tablespace tablespace_name including contents;

--删除空表空间,包含物理文件
drop tablespace tablespace_name including datafiles;
--删除非空表空间,包含物理文件
drop tablespace tablespace_name including contents and datafiles;
--如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTS
drop tablespace tablespace_name including contents and datafiles cascade constraints;