ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 2.1数据块,数据扩展,段的简介

2.1数据块,数据扩展,段的简介

原创 Linux操作系统 作者:封烨 时间:2010-11-26 10:50:17 0 删除 编辑
数据块(data block)是oracle数据存储的最小粒度,一个数据块对应与磁盘的数个字节的物理数据块空间(72kb+24kb)。
     处于数据块之上的逻辑数据库空间是数据扩展(extent)。数据扩展是为存储数据而分配的一组连续的数据块。
     位于数据扩展之上的逻辑数据库存储结构是段(segment)。段由一组数据扩展(extent)构成,这些数据扩展位于同一表空间(tablespace)中,用于存储各种逻辑数据结构。例如:每个表的数据都存储在其自身的数据段中,每个索引的数据都存储在其自身的索引段中。如果表或索引是分区存储的,则每个分区拥有自己的段。
     oracle为段分配空间时以数据扩展为单位,当段内已有的数据扩展没有可用空间时,oracle为此段分配一个新的数据扩展。因为数据扩展是随需分配的,所以一个段内的数据扩展在磁盘上未必是连续的。
     一个段以及属于它的所有数据扩展必须包含在同一表空间中,但在一个表空间内,属于同一个段的数据扩展可以分布在多个数据文件(datafile)上,即段可以跨文件存储,但是每个数据扩展只能包含于同一个数据文件中。
     在用户分配一个新的数据扩展时,其中的数据块未必被同时分配,如果用户是为某个数据库对象分配数据扩展,那么数据块也同时被立即分配并加入可用块列表(free list)中,如果数据扩展并非专门为某个数据库对象分配,那么数据块只在高水位线(high water mark)移动时才被分配。高水位线是段中已用和未用空间的边界。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10356975/viewspace-680340/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-11-26

  • 博文量
    43
  • 访问量
    104757