千家信息网

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

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

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

一、数据块(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安全错误 数据库的锁怎样保障安全 网络安全橱窗展示设计效果图 江苏h3c机架式服务器多少钱 数据库应用与开发姜桂洪电子版 2020网络安全宣传标语 服务器 使用 云盾网络安全吗 网络安全11月1日 软件开发 暑期实践活动心得 及时发布网络安全预警信息 服务器组网 数据库 服务器的名字和地址不合法 计算机网络技术以太网软件 软件开发中视图是什么意思 oracle12c数据库连接数 大智慧无法连接服务器 湖南一搜网络技术有限公司 作为党员如何维护国家网络安全 百度时代网络技术 北京 什么样的服务器稳定 北邮网络技术研究院报录比 网络安全基础知识题填空题 苹果的软件开发是怎么做的 融信网络技术有限公司 湖北省第三季度网络安全排名 金税盘出现数据库信息失败 海口哪里有学习网络技术 好药师网络安全平台 杭州重拙网络技术有限公司 常用的网络安全关键技术的内容 人脸识别单体和服务器架构
0