**简介:**ORACLE物理上是由磁盘上的以下几种文件:数据文件和控制文件和LOGFILE构成的 表空间就只谈相关的数据文件 首先明确概念:表空间是ORACLE内部定义的一个概念,是为了统一ORACLE物理和逻辑 上的结构而专门建立的,从物理上来说,一个表空间是由具体的一个或多个磁盘上数 据文件构成的(至少1对1,可以1对多),从逻辑上来说一个表空间是由具体的一个或 多个用户模式下的表,索引等等里面的数据所构成的. 因此从用户的角度来看是不应该看到磁盘上物理的数据文件的,其从小到大的视角关系: 字段值 --> 记录值 --> 表数据 --> 用户 --> 表空间 --> ORACLE 而从一个ORACLE DBA的视角来看应是这样的关系:数据文件 --> 表空间 --> ORACLE 综合一下,也就是说在ORACLE中表不可能单独存在,一定隶属于某一个用户,而某一用户的数据必定存在于某个表空间中. 临时表空间用于排序,索引表空间用于放置索引,UNDO表空间用于回滚,用户表空间用于存放用户表。 系统表空间用于存放数据字典。oracle这样分是为了提高系统性能和系统的安全性。 因为oracle不仅有用户权限也有资源权限,可以更好的控制和分配权限的使用。 Oracle数据库关系图:

具体实验步骤: 1创建数据库: 2创建表空间: [oracle@localhost ~]$ sqlplus / as sysdba

SQL> create tablespace tbs_work 2 datafile '/orc/app/oracle/oradata/worktbs01.dbf' 3 size 10M autoextend on;

表空间已创建。 3调整表空间大小: 方法一:直接修改大小 SQL> alter database datafile 2 '/orc/app/oracle/oradata/worktbs01.dbf' 3 resize 100M; 方法二:添加文件 SQL> alter tablespace tbs_work 2 add datafile 3 '/orc/app/oracle/oradata/worktbs02.dbf'
4 size 50M autoextend on;

表空间已更改。 表空间权限: SQL> alter tablespace tbs_work read only;

表空间已更改。(只读)

SQL> alter tablespace tbs_work read write;

表空间已更改。(默认:读写) 删除表空间: SQL> drop tablespace tbs_work including contents;

表空间已删除。(including contents 可选删除有内容的表空间)