千家信息网

数据库中表空间、段、区、块是什么意思

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍数据库中表空间、段、区、块是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、数据块(Block)简介数据块Block是Oracle存储数据信息的最小单
千家信息网最后更新 2026年11月01日数据库中表空间、段、区、块是什么意思

这篇文章主要介绍数据库中表空间、段、区、块是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

一、数据块(Block)

简介

数据块Block是Oracle存储数据信息的最小单位。注意,这里说的是Oracle环境下的最小单位。Oracle也就是通过数据块来屏蔽不同操作系统存储结构的差异。无论是他们的存储结构和方式、甚至字符排列的方式。

Oracle所有对数据的操作和空间分配,实际上都是针对数据块Block的操作。我们从数据表中搜索出一行,实际中Oracle就会从内存缓冲区(或者硬盘)中读取到该行所在的数据块,再返回这数据块上的指定数据行。Oracle无论是在缓冲区,还是在硬盘,进行数据操作的虽小单位也就是数据块。

参数

1、db_block_size

数据块是有大小的,在一个数据库建立的时候,通过参数进行设置。数据块的大小,在一个数据库中可以支持多个,但是一般没有太大的意义,会给管理和调试带来一定的负担。

数据块的大小是通过kb字节个数来指定的,默认为8KB。相关参数为db_block_size。

设置数据块的大小是依据不同类型的系统的。如果数据块设置比较大,那么一次读取的数据行较多,相应对SGA内存消耗比较大,特定查询引发的换入换出可能较多。如果设置的过小,频繁的IO逻辑物理读也会引起性能问题。

2、db_file_multiblock_read_count

表示一次从物理存储中读取的数据块数量。对一些数据挖掘系统,可以考虑调节此参数略大一些。

二、区extent

简介

区extent是比数据块大一级的存储结构,表示的是一连串连续的数据块集合。

在进行存储数据信息的时候,Oracle将分配数据块进行存储,但是不能保证所有分配的数据块都是连续的结构。所以,出现分区extent的概念,表示一系列连续的数据块集合。

视图

视图dba_extents(或者all_extents、user_extents)是我们研究分区结构和存储构成的重要手段。

1、分区是带有段特定性的。数据段segment是分区的上层组织单位,一个数据库对象对应一个segement,数据库对象是归属在不同的schema(owner)上的。所以,通过不同的数据段名称、不同的owner,乃至不同的tablespace表空间信息,就可以定位到数据区extent的信息描述。

2、另一部分信息是关于该区extent的分配信息,如所在文件编号,起始数据块block编号和数据块数量等内容。

三、数据段segment

简介

数据段是与数据库对象相对应,一般一个数据库对象对应一个数据段。多个extent是对应一个数据段,每个数据段实际上就是数据库一个对象的代表。

视图

从dba_segments视图中,可以比较清楚看清数据段的结构。

1、从segment_type列的comment信息中,可以看出数据段的类型是多样的。数据表、索引、回滚、聚集这些都是数据段的一种表现形式。同时,数据段是在数据对象创建的时候就已经创建出来,随着对象体积的增大,而不断分配多个extents进行管理。

2、另一部分信息可以从dba_segments中读出的,就是该数据对象分配的空间大小和数据块、分区个数。使用这个视图,可以方便的获取到指定schema的所有对象大小。

  1. SELECT OWNER,

  2. SUM(BYTES) / 1024 / 1024 AS VOL,

  3. SUM(BLOCKS) AS TOTALBLOCKS,

  4. SUM(EXTENTS) AS TOTALEXTENTS

  5. FROM DBA_SEGMENTS

  6. GROUP BY OWNER

  7. HAVING OWNER = 'SYS';

一个数据对象对应一个segment。但是,分区表的时候,一个分区要对应一个segment对象。还有就是,segment对象是可以指定存储在那个表空间里,实现存储划分的基础也就在于此。不同类型的segment划分建立在不同的表空间里,才有可能存放在不同的文件中,最后分布在不同的物理存储。

四、表空间tablespace

简介

TableSpace是存储结构中的最高层结构。建立一个表空间的时候,是需要指定存储的文件。一个表空间可以指定多个数据文件,多个文件可以在不同的物理存储上。但是有一点就是,表空间下一级对象数据段的存储,是不能指定存储在那个文件里的。所以,要想让数据对象访问IO负载均衡,需要指定不同的数据对象在不同的表空间里。这也就是为什么将数据表和索引建立在不同的表空间的原因。

视图

表空间通过v$tablespace进行访问。

数据文件通过v$datafile进行访问

以上是"数据库中表空间、段、区、块是什么意思"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

数据 存储 对象 空间 不同 数据库 信息 结构 文件 大小 分配 多个 时候 视图 单位 参数 就是 物理 简介 也就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 什么是科技互联网 中国互联网科技工作委员会毛军 河南真二互联网科技有限公司 智能科技公司是互联网公司吗 互联网科技集团 互联网科技大会 互联网前沿科技 互联网科技类展会 天速互联网络科技有限公司 中国的互联网科技企业的崛起 广州恒生互联网科技有限 全球顶尖互联网科技公司 互联网和黑科技的看法 长沙茂晟互联网科技有限公司 黑科技 体验场景 互联网大会 互联网安防科技感 九思连强互联网电子科技有限公司 昆明中奇联合互联网科技 珠海东科互联网科技有限公司 互联网公司属于科技吗 成都互联网科技公司 北京禾田雨橡互联网科技 兼蜜互联网科技 互联网金融监管科技 互联网公司会议桌创意科技软装饰 燊美集互联网科技有限公司 互联网企业科技类企业如何做账 美国互联网科技公司 四川互联网展示科技馆设计 富国互联网科技002692
0