Oracle表空间(tableSpace)、段 (segment)、盘区(extent)、块(block),这些都是Oracle用来保存数据库对象的分配单元
段 就是数据库对象,它消耗存储空间,如表、索引、回滚段等。当创建表的时候,将创建一个表段,当创建一个分区表时,即在每个分区上创建一个段,当创建索引 时,将创建一个索引段,每一个消耗存储空间的对象最终被存储在一个单一的段中,有回滚段,临时段,聚簇段、索引段等。一个段可以拥有来自许多不通数据文件 中的盘区。
段本身由一个或多个盘区组成,盘区在文件中一个连续的分配空间,每个段至少开始于一个盘区,一些对象可能至少需要2个盘区(例如回滚段)。各个盘区之间并不要求正好相邻。
盘区由块组成,一个块是在Oracle中空间分配的最小单元,是Oracle读写磁盘的对象,Oracle中的块通常有3个常见的大小 ,2K ,4K,8K。
一个段是由一个或多个盘区所组成,一个盘区是由一些连续分配的块。
表空间是一个容器,它保存段,每一个段恰好属于一个表空间,一个表空间可以有多个段,给定段的所有盘区将在与该段相关的表空间中。
Oracle中存储的层次结构如下:1、数据库由一个或多个表空间组成。
2、表空间由一个或多个数据文件组成,一个表空间包含段。
3、段由一个或多个盘区组成,段存在于表空间中,但在表空间中可以有许多数据文件中的数据。
4、盘区是在磁盘上连续的块的组,一个盘区在一个表空间中,而且总是在表空间中单一的文件中。
5、块是数据库中最小的分配单元,块是数据库使用的最小的I/O单元。