一、block - 块
块是Oracle中最小的空间分配单位。数据行、索引条目或临时排序结果就存储在块中。
块格式
- 块开销(block overhead):不存放数据,是由oracle管理块本身
- 首部(block header):描述数据块的基本信息:包括磁盘地址、块所属段的类型。对于事务管理的块,块头包含有当前活动的和历史事务信息。 (ITL: 事务槽)事务槽中记载事务ID,事务对应回滚段和事务是否提交
- 表目录(Table directory):描述这个数据块存放的是哪个表的信息;对于堆组织表(heap-organized table),此目录包含其行存储在该块中的表的元数据。多个表可以将行存储在相同的块中。
- 行目录(Row directory):包含块中行的描述信息,这是一个指针数组,指向块中数据部分中的行
- 空闲空间(free space)
- 数据
- 尾部
二、extent - 区
区是oracle数据库存储空间分配的逻辑单元,由连续的oracle数据块组成;连续的效果是能够减少磁盘寻道次数,提高读取的效率。oracle给一个表分配段的时候是以区为单位
三、segment - 段
段是占用存储空间的数据库对象。占用存储空间的每一个对象最后都会存储在一个段中,此外还有回滚段(rollback segment)、临时段(temporary segment)、聚簇段(cluster segment)、索引段(index segment)等。
段、区和数据块之间的关系:
四、tablespace - 表空间
表空间是Oracle中的逻辑存储容器,其中包含有段,每个段都只属于一个表空间,一个表空间中可能有多个段。
表空间的分类:逻辑上,oracle按照存储数据的用途不同
- 系统(system)表空间:存放数据字典、以
v$
开头的包含管理信息的表和视图、存储对象例如触发器、存储过程等 - 系统辅助(sysaux)表空间:存放的是相对不是很重的系统信息 ,比如一些数据库组件,如果挂掉,会有部分功能无法使用
- undo表空间
- undo data指的就是数据被修改之前的镜像
- 作用:
- 实现rollback
- 实现一致读(consistent read)(构建cr块)
- 实现闪回的功能
- 实例恢复 (如果有未提交的事物的话,需要使用undo将其回复到和数据文件一致的数据)
- 用户表空间(users,example)
- 临时表空间(temp)
- 分类:
- 基于事物的临时表空间
- 基于会话级别的表空间
- 作用
- 用于存放临时数据
- 用于排序
- 排序是在PGA(sort area区域用于排序)(当空间不足就会使用临时表空间)
- order by
- 索引(因为索引是有序的)
- 应用:
- 可以为oracle的每一个用户分配一个临时表空间,这样做较浪费;
- 可以使用临时表空间组,可减少资源的浪费,做法是将一个临时表空间组(有两个成员),分配给三个人使用
- 分类:
小结
- 数据库由一个或多个表空间组成。
- 表空间由一个或多个数据文件组成。这些文件可以是文件系统中的cooked文件、原始分区、ASM管理的数据库文件,或集群文件系统上的文件。表空间包含段。
- 段(TABLE、INDEX等)由一个或多个区段组成。段在表空间中,但是可以包含这个表空间中多个数据文件中的数据。
- 区是磁盘上一组逻辑连续的块。区段只在一个表空间中,而且总是在该表空间内的一个文件中。
- 块是数据库中最小的分配单位,也是数据库使用的最小I/O单位。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
您好,您的文章已入选合格奖,10墨值奖励已经到账请查收!
❤️我们还会实时派发您的流量收益。
3年前

评论
相关阅读
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
629次阅读
2025-04-18 14:18:38
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
613次阅读
2025-04-15 17:24:06
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
510次阅读
2025-04-08 09:12:48
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
500次阅读
2025-04-20 10:07:02
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
474次阅读
2025-04-22 00:20:37
Oracle 19c RAC更换IP实战,运维必看!
szrsu
450次阅读
2025-04-08 23:57:08
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
444次阅读
2025-04-22 00:13:51
一页概览:Oracle GoldenGate
甲骨文云技术
442次阅读
2025-04-30 12:17:56
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
440次阅读
2025-04-17 17:02:24
火焰图--分析复杂SQL执行计划的利器
听见风的声音
392次阅读
2025-04-17 09:30:30