因为数据库是数据文件的集合,所以理解Oracle如何组织数据文件很重要。
Oracle通过成为 表空间的数据库对象完成此项工作。
在将数据插入Oracle数据库之前,必须首先建立表空间,然后将数据插入表空间的一个对象中。建立对象时,必须指定存放信息的数据类型。
1.表空间与数据文件的关系
表空间是Oracle数据库中数据的逻辑组织,每个数据库至少有一个系统表空间(System Tablespace)。一个表空间与硬盘上的一个或多个物理数据文件相对应。
表空间A-------文件1
表空间B-------文件2,文件3
表空间C-------文件4,5,6
表空间与数据文件的对应关系。
2.典型的数据库表空间
在Oracle中,用户命名表空间时有很大的自由度。表空间的作用只是帮助组织数据库。
(1)系统表空间
该表空间是每个Oracle数据库都必须具备的部分。在系统表空间中存放的是诸如表空间名称,表空间所含数据文件这类管理数据库自身所需的信息。
(2)临时表空间
临时表空间(Temp Tablespace)是oracle用于存储其所有临时表的所在。临时表空间类似于数据库白板或草稿纸。就像有时可能需要草草记下一些数据以对其进行操作一样,Oracle工作时也需要一些临时的磁盘空间。可有多个临时表空间。
(3)工具表空间(Tools Tablespace)
保存数据库工具软件所需的数据库对象。大多数DBA都将支持工具运行所需要的表放在这个表空间中。
(4)用户表空间(Users Tablespace)
用来存放用户的私有信息。例如,在学习使用Oracle时,读者可能需要建立一些数据库对象。
(5)数据及索引表空间
在数据库系统中,用户将看见类似DATA-01,DATA-02,DATA-03这样的用于存放数据的不同空间,或者是DATA-01,INDEX-01等。
(6)回滚表空间
所有Oracle数据库都需要在一个地方保存恢复(Undo)信息。这个用于保存回滚段(Rollback Segment)的表空间称作rollback(回滚)或简称rbs。
3.联机和脱机表空间
Oracle允许在逐个表空间基础上控制数据库数据的可用性,即一个表空间既可处于联机状态,也可处于脱机状态。
丸
●联机表空间中的数据对应用程序和数据库可用
●脱机表空间中的数据对应用程序和数据库不可用,即使数据库是可用的也如此。
注意:系统表空间必须始终保持联机,因为数据字典中的信息在正常运行时必须可用。试图使系统表空间脱机,oracle将会返回一个错误。
4.永久和临时表空间
oracle允许建立临时表空间。