表空间
表空间是 Orcale 数据库最大的逻辑结构。表空间就是一个或者多个数据文件的集合。所有的数据文件都被逻辑的存放在表空间中。
一个数据库包括 SYSTEM、SYSAUX和TMP三个默认表空间,一个或者多个临时表空间,还有一个撤销表空间和几个应用程序专用的表空间。
表空间的类型:
- 系统表空间系统表空间包括 SYSTEM 和 SYSAUX 表空间,系统表空间是所有的数据库必须有的并且自己创建的表空间,一般存放着 Orcale 的数据字典表及相应的数据。
- 永久表空间顾名思义保存着永久性的数据,比如系统数据,应用系统数据。每个用户都会分配一个永久表空间,以便于保存相应的数据。除了撤销表空间以外,相对于临时表空间来说其他表空间都是永久表空间,比如系统表空间。
- 临时表空间由于在 Orcale 经常要用到一些临时的磁盘空间,这些空间主要在查询带有排序(Group By,Order By)等算法的时候使用,用完之后会立即释放,对记录在磁盘的数据不在使用,所以称作临时表空间。一般安装之后只有一个 TEMP 临时表空间。
表空间的状态:
对于不同的需求,对表空间也有许多不同的状态。我们可以通过修改表空间的状态控制表空间的可用性和安全性。
- 读写状态
默认的状态,所有的具有表空间权限的用户均可读写表空间的数据。 - 只读状态在这种状态下任何的用户都无法对表空间的数据进行修改。这种状态对表空间的数据提供了保护,同时对数据库中提供静态的数据有一定的帮助。
- 脱机状态
DBA 可以将某个应用表空间设置为脱机的状态,使表空间不再被用户访问,如果要进行访问可以将其修改为联机状态。注意:SYSTEM 表空间不能被设置为脱机的状态,因为数据库在运行的过程中始终要对 SYSTEM 表空间进行数据的支持,而且临时表空间不能设置为只读状态
表空间的作用:
- 控制用户所占用的空间配额
- 控制数据库所占用的磁盘空间
- 可以将表空间设置为只读的状态而保证静态的数据不能被修改
- 将表中的数据和索引存储在不同的表空间中,提高数据库的 I/O 性能,这样也可以对数据的备份和回复有很大的帮助。
- Orcale 按照表空间备份和回复的功能。