oracle存储结构-----逻辑存储结构(表空间、段、区、块)

文章目录


oracle存储结构图(逻辑存储+物理存储)

oracle逻辑存储结构图



逻辑存储结构、表空间、段、区、数据块的关系:

1、逻辑存储结构包括表空间,段,区,数据块。逻辑结构之间的关系是:多个块组成 区,多个区组成段,多个段组成表空间,多个表空间组成逻辑数据库。

2、·· 表空间(多个表空间组成逻辑数据库):数据表空间(普通表空间)、system表空间、sysaux表空间、临时表空间、回滚表空间等

3、··段(多个段组成表空间):数据段(保存表记录)、索引段(保存索引数目)、临时段(临时数据)、回滚段(回滚数据)不同的数据库对象有不同类型的段组成段的区可以是连续的,也可以是不连续的

4、·· 区(多个区组成段),区是由连续的块组成

5、·· 数据块(多个数据块组成区)

块相当于一张白纸,区相当于白纸定成的文档,段相当于文档袋来装各种文档,表空间相当于抽屉来存放文档袋,不同的抽屉组成了抽屉柜相当于逻辑存储结构

1、数据 块(block)---逻辑存储最小单位

数据块是Oracle数据库逻辑存储结构中的存储最小单位,也是执行数据库输入输出的最小存储单位。通常Oracle数据块是操作系统块的整数倍。

2、 数据区(extent)--存储空间分配和回收的最小单位

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

1、区是由物理上连续存放的块所组成的。

2、区是oracle存储分配的最小单位

3、当段中已分配的区都写满,oracle就要在该方案对象所在的表空间中为该段分配下一个新的空白区,以便容纳更多的数据。

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

3、段(segment)-- 独立的逻辑存储结构

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

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

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

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

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

4、表空间(tablespace)---最高级逻辑存储区域

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

oracle数据库体系详解: https://blog.csdn.net/m0_67929156/article/details/140133238?spm=1001.2014.3001.5501

相关推荐
ForRunner1234 分钟前
使用 Python 高分解决 reCAPTCHA v3 的指南
数据库·python·microsoft
躺平的花卷1 小时前
Python爬虫案例六:抓取某个地区某月份天气数据并保存到mysql数据库中
数据库·爬虫·python·mysql
Flying_Fish_roe1 小时前
linux-安全管理-防火墙与网络安全
linux·数据库·oracle
A_cot1 小时前
Redis 的三个并发问题及解决方案(面试题)
java·开发语言·数据库·redis·mybatis
Kika写代码2 小时前
【基于轻量型架构的WEB开发】【章节作业】
前端·oracle·架构
2401_847056552 小时前
Altium Designer脚本工具定制
网络·数据库
神仙别闹2 小时前
基于Python+SQLite的课程管理系统
数据库·sqlite
掐指一算乀缺钱2 小时前
SpringBoot 数据库表结构文档生成
java·数据库·spring boot·后端·spring
少年负剑去3 小时前
django分发路由
数据库·django·sqlite
飞翔的佩奇3 小时前
xxl-job适配sqlite本地数据库及mysql数据库。可根据配置指定使用哪种数据库。
数据库·spring boot·mysql·sqlite·xxl-job·任务调度