表空间的定义:
表空间是
Oracle
数据库内部数据的逻辑组织结构,对应于磁盘上的一个或多个物理数据文件。
所有用户的对象都存放在表空间中,这也就意味着用户必须要有空间的使用权,然后才能创建用
户对象
表空间的特性:
1
、 一个数据库可以有多个表空间。
2
、 一个表空间只能属于一个数据库。
3
、 一个表空间至少要有一个数据文件。
4
、 一个数据文件只能属于一个表空间。
5
、 一个表空间的大小由其数据文件大小决定。
6
、 除系统表空间外的表空间可以被联机或脱机。
7
、 可以为用户指定默认表空间。但该用户的方案对象可以存储到不同表空间中。
8
、 可以指定用户在各表空间上的空间配额
表空间的类型:
1) SYSTEM Tablespace
:主要包括数据字典、
PL/SQL
程序单元以及所有方案对象的定义。
2) SYSAUX Tablespace: SYSAUX
表空间是在
10g
之后引入的一个新的表空间,主要用于
减轻对
SYSTEM
表空间的压力而作为
SYSTEM
表空间的辅助表空间。原来存放于
SYSTEM
表空间的很多组件以及一些数据库元数据在
10g
中被移植到
SYSAUX
表空间。
SYSAUX
表
空间在正常的数据库操作中不能被删除或重命名,也不支持可移动表空间功能,但可以脱机。
如果
SYSAUX
表空间失效,系统核心功能正常,但有些数据库的功能会随之失效。
3) TEMP Tablespace
:用于暂存一些复杂
SQL
查询语句运行时产生的临时数据。在执行
SQL
语句过程中,如果临时数据量比较大,
PGA SQL
工作区空间不足时,就会利用临时表空间
暂存部分数据。
临时表空间会加入表空间组,如果表空间组不存在,会在第一次使用时创建,表空间组只适用临
时表空间。
4) UNDO Tablespace
:由
Oracle
自动分配管理,一个实例在一个时刻只能使用一个
UNDO
表空间。
UNDO
表空间中不能创建其它方案对象,如:表、索引、视图等。
5) USER Tablespace
:用户表空间,用来保存用户数据。