扩大
缩小

管理对象空间——段


段用于存储特定逻辑对象的所有数据,他是由一个或多个区组成的。当建立表,索引或簇时,oracle会为这些对象分配存储空间存放数据文件,为这些对象分配的存储空间称为段。在一个表空间上可以包含一个或多个段,一个段只能放在一个表空间上。

1.表段(table)

表段用于存储表的所有数据(段名=表名)。当建立表时,oracle会为该表建立相应的表段,并且表段只能存放在一个表空间中。

2.表分区段(table partition)

表分区段用于存储分区表特定分区的数据,每个分区对应一个表空间区段。通过使用分区选项,可以将一张大表的数据部署到多个不同的分区段中,从而降低i/o次数,最终提高i/o性能。

3.簇段(cluster)

簇段用于存储簇表的数据(段名=簇名)。簇用于逻辑组织相关表的数据,使用簇的目的是为了降低i/o次数,提高i/o性能。

4.索引段(index)

索引段用于存储索引的数据(段名=索引名)。当建立索引时,oracle会为索引建立相应的索引段,并且一个索引段只能存放在一个表空间中。

5.索引分区段(index partition

索引分区段用于存储分区索引特定分区的数据,每个分区对应一个索引分区段。索引分区类似于表分区,通过使用分区选项,额可以将大索引部署到不同分段中,从而降低i/o次数,最终提高i/o性能。

注意:索引分区只能建立在分区表上,不能建在普通表上。

6.索引组织表段(index——organize table)

索引组织是以b*_树结构来组织表数据的。如果经常在where子句使用主键列定位表数据,那么可以考虑建立索引组织表,以加快数据访问速度。一般情况下,表和索引的数据分别存在表段和索引段,但是如果建立索引组织表,则表和主键索引会存放到索引组织表段。

注意:当建立索引表时,必须定义主键列。

7.undo段

undo段用于存放事务所修改的旧值。

8.临时段(temporary segment)

临时段用于存放排序操作所产生的的临时数据。

9.lob段

lob段用于存储lob列的数据,对于lob列来说,如果数据长度低于4000字节,那么该列与其他列的数据会一起存放在表段中;如果数据长度超过4000字节。那么数据将会存放到lob段中。

10.lob索引段

lob索引段用于存放lob索引的数据。当定义lob类型时,oracle不仅会为lob列建立lob段,而且还会建立lob索引段,以加快lob 数据的检索速度。

11.嵌套表段(nested table)

嵌套表段用于存储嵌套表类型列的数据。嵌套表类型类似于高级语言中的数组类型,该类型可以作为表列的数据类型引用。当定义了嵌套表列时,oracle 会自动为该列分配嵌套表段,以存放期数据。

12.根引导段(cache)

根引导段用于初始化数据字典高速缓存,因此称为cache段。它是在建立数据库时使用sql.bsq脚本自动建立的。并且该段的维护是由orcle 自动完成的,不需要dba进行任何干预。


 

posted on 2013-05-25 09:05  LinuxPanda  阅读(369)  评论(0编辑  收藏  举报

导航