tablespace(表空间) / segment(断) / extent(盘区)/ block(块)/datafile(文件)之间的关系

时间:2024-08-15 15:05:56

tablespace(表空间) / segment(断) / extent(盘区)/ block(块)之间的关系

tablespace : 一个数据库划分为一个或多个表逻辑单位,即表空间,每个表空间包含一个或多个Segment(段)。
                    表空间是一个容器,它保存段,每一个段恰好属于一个表空间,
                    给定段的所有盘区将在与该段相关的表空间中。
Segement: Segement 是在表空间中为特定的逻辑存储结构分配的空间。每个段由一个或多个extent(盘区)组成,
                    段,包括:数据段、索引段、回滚段和临时段等。
extent: 一个extent 由一系列的blocks 组成,Oracle通过extent来给Segement分配空间。
block: Oracle的最小的I/O存储单位,一个date block 对应一个或多个分配给data file 的操作系统块,
             Oracle中的块通常有3个常见的大小 ,2K ,4K,8K  。
table 创建时,默认创建了一个data Segement,每个data  Segement 包含min extents 指定的extents数,每个

extent 据据表空间的存储参数,分配一定数量的blocks。

Oracle的存储结构,逻辑上,Oracle的数据存放在tablespaces中,物理上存放在datafiles中,
一个datafile只属于一个数据库的一个tablespace。
tablespace以及datafile相关的数据字典有:dba_tablespaces、v$tablespace、dba_data_files、v$datafile、dba_temp_files、v$tempfile。