2.2逻辑存储结构
Oracle数据库从逻辑存储结构上来讲,主要包括表空间、段、区和数据块。这4者之间存在如下关系:多个数据块组成一个区:多个区组成一个段:多个段组成一个表空间。而一个Oracle数据库由多个表空间组成。
2.2.1表空间
在Oracle中,最大的逻辑存储结构是表空间(Tablespace)。表空间与物理上的数据文件 相对应,一个表空间可以对应多个数据文件,但是一个数据文件只能对应一个表空间。一个表空间的大小等于构成该表空间的所有数据文件大小的总和。
在安装Oracle时,系统会自动创建一系列表空间。这些表空间的说明如下:
SYSTEM=系统表空间,用于存储系统的数据字典、系统的管理信息和用户数据表等。
SYSAUX=辅助系统表空间。用于减少系统表空间的负荷,提高系统的作业效率。
TEMP=临时表空间。用于存储临时的数据,例如存储排序时产生的临时数据。
EXAMPLE=实例表空间。其中存放实例数据库的模式对象信息等。
UNDOTBS1=撤销表空间。用于在自动撤销管理方式下存储撤销信息。
USERS=用户表空间。用于存储永久性用户对象和私有信息。
2.2.2 段
在Oracle中,段(Segment)是一组盘区,这组盘区组成了被Oracle视为一个单位的数据库对象,例如表或索引。因此,段一般是数据库终端用户将处理的最小存储单位。
Oracle为段分配的空间是以数据区为单位的,当段的数据区已满时,Oracle为其分配另一个数据区,段的数据区在磁盘上可能是不连续的.
按照段中所存储数据的特征,可以将段分为5种类型:数据段、索引段、临时段、L0B 段和回退段。
2.2.3 区
在Oracle中,区(Extent)是磁盘空间分配的最小单位。区由一个或多个数据块组成,而一个或多个区又组成一个段。
段的增大是通过增加区的个数来实现的,但是在一个数据段中,区的个数并不是无限制的。在创建段时可以使用两个参数MIN_EXTENTS和MAX_EXTENTS来定义区的个数。
通过数据字典DBA—TABLESPACES 以了解表空间信息,以及表空间的最小与最大区个数,
SQL> select min__extents , max_ 2 from dba_tablespaces;
2.2.3 块
在Oracle中,块(Block)是用来管理存储空间的最基本单位,也是最小的逻辑存储单位。Oracle数据库是以块为单位进行逻辑读写操作的。
在创建Oracle数据库时,初始化参数DB_BL0CK_S1ZE用来指定一个数据块的大小。 数据库创建之后,将无法修改数据块的大小。使用SHOW PARAMETER DB_BLOCK_SIZE 命令用以查处该参数的信息,
SQL> show parameter db_block_size;
一个数据块主要由5部分组成,分别是:块头部、表 目录、行目录、空闲空间和行空间。

浙公网安备 33010602011771号