Oracle逻辑存储结构

旧时模样 提交于 2020-01-08 04:52:37

一、数据块(data blocks)

  数据块是Oracle数据库逻辑存储结构中的最小单位,也是执行数据库输入输出的最小存储单位。通常Oracle数据块是操作系统块的整数倍。数据块的标准大小被写入到初始化参数DB_BLOCK_SIZE中,oracle允许在同一个数据库中存在不同大小的数据块,与标准块大小不同的就是非标准块。

二、数据区(extent

  数据区是由一组连续的Oracle数据块所构成的Oracle存储结构,由一个或多个数据块组成。一个或多个数据区组成一个段,当段中所有空间被使用完后,Oracle系统将自动为该段分配一个新的数据区,可见,数据区是Oracle存储分配的最小单位。

  使用数据区的目的是用来保存特定数据类型的数据,也是表中数据增长的基本单位。在Oracle数据库中,分配存储空间就是以数据区为单位的,一个Oracle对象包含至少一个数据区。设置一个表或索引的存储参数包含设置它的数据区大小。

三、段(segment

  段是由一个或多个数据区构成的,它不是存储空间的分配单位,而是一个独立的逻辑存储结构,用于存储表、索引或簇等占用空间的数据对象。一个段只属于一个特定的数据对象,每当创建一个具有独立段的数据对象时,Oracle将为它创建一个段。

1.数据段:数据段中保存的是表中的数据记录。建表时Oracle系统将为表创建数据段。当表中数据量增大时,数据段的大小自然也随着变大,数据段的增大过程是通过向其添加新的数据区来实现的。当创建一个表时,系统自动创建一个以该表的名字命名的数据段。

2.索引段:索引段中包含了用于提高系统性能的索引。一旦建立索引,系统自动创建一个以该索引的名字命名的索引段。

3.回滚段:回滚段中保存了回滚条目,Oracle将修改前的旧值保存在回滚条目中。利用这些信息,可以撤销未提交的操作,以便为数据库提供读入一致性和回滚未提交的事务,即用来回滚事务的数据空间。当一个事务开始处理时,系统为之分配回滚段,回滚段可以动态创建和撤销。

4.临时段:当执行创建索引。查询等操作时,Oracle可能会使用一些临时存储空间,用于暂时性地保存解析过的查询语句以及在排序过程中产生的临时数据,Oracle系统将在专门用于存储临时数据的表空间中为操作分配临时段。

四、表空间(tablespace

  表空间是Oracle数据库的最大逻辑划分区域,通常用来存放数据表、索引、回滚段等数据对象。一个表空间由一个或多个数据文件(操作系统物理存储结构)组成,一个数据文件只属于一个表空间。表空间的大小等于所有从属于它的数据文件大小的总和。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!