oracle逻辑层级详解(表空间、段、区、数据块)

文章目录


逻辑结构的层次如下所述:

·oracle数据库至少包含一个表空间。

·表空间包含一个或多个段。(segment)

·段由区组成。(extends)

·区由逻辑块组成。(block)

·块是读写操作的最小单位。

oracle数据库体系结构包括构成数据库的逻辑结构和物理结构。

·物理结构包括构成数据库的控制文件、联机重做日志文件和数据文件。

逻辑结构包括表空间、段、区和数据块。

oracle服务器通过表空间和逻辑存储结构(包括段、区和数据块),能够实现磁盘空间使用的小粒度控制。

表空间:

oracle数据库内的数据存储在表空间内。

oracle数据库可以从逻辑上分组到称为表空间的更小的逻辑空间区。

一个表空间在某一时刻只能属于一个数据库。

每个表空间由一个或多个称为数据文件的操作系统文件组成。

表空间可能包含一个或多个段。

表空间可以在数据库运行时联机。

除了SYSTEM表空间或者有活动还原段的表空间,可将其它表空间置于脱机状态而不会影响数据库运行。

表空间可以在可读写和只读状态之间切换。

数据文件(不是逻辑结构):

·oracle数据库内的每个表空间由一个或者多个称为数据文件的文件组成。这些物理结构与在其上运行oracle服务器的操作系统是一致的。

·一个数据文件只能属于一个表空间。

·通过分配指定数量的磁盘空间加上少量的开销,oracle服务器创建表空间数据文件。

·数据文件创建后,数据库管理员可以更改其大小或者指定数据库文件应随着表空间内对象的增长而动态增长。

段:

·段是在表空间中为特定逻辑存储结构分配的空间。

·表空间可以由一个或多个段组成。

·段无法跨越表空间;但是段可以跨越属于同一表空间的多个数据文件。

·每个段由一个或多个区组成。

区:

按区向段分配空间。

·一个或多个区组成一个段。

当段创建后,它至少由一个区组成。

随着段的增长,需要向该段添加区。

DBA可以手动向段添加区。

·一个区就是一组连续的oracle块。

·区无法跨越数据文件,所以,它必须存在于一个数据文件内。

数据块:

oracle服务器以oracle块或者数据块为单位来管理数据文件中的存储空间。

·oracle数据库内的数据存储在数据块内,数据块为最精细的粒度等级。

·oracle数据块是oracle服务器能够分配、读或写的最小存储单元。

·一个数据块对应一个或多个从现有数据文件中分配的操作系统块。

·每个oracle数据库的标准数据块大小是在创建数据库时由初始化参数DB_BLOCK_SIZE指定的。

·数据块大小应当是操作系统块大小的整数倍以避免比必要的I/O。

·数据块大小最大值取决于操作系统。

相关推荐
白帽攻防录6 小时前
SRC 挖洞:Roundcube 预认证 SQL 注入深度复盘,CVE-2026-48842 preg_replace 转义绕过怎么打穿邮件系统
网络·数据库·sql·网络安全·sql注入
꯭自꯭闭꯭7 小时前
达梦SQL优化相关
linux·运维·数据库·sql
对空六课7 小时前
支持注意力分析的热力图工具有哪些?
前端·数据库·数据分析
南京码讯光电技术有限公司7 小时前
How to Design an Antenna System for an Industrial WiFi Module
数据库·人工智能
lusklusklusk9 小时前
Oracle数据库基础之2_体系结构
数据库·oracle
可乐ea9 小时前
从第一性原理构建 AI Agent:提示词、工具、技能与记忆全解剖
数据库·人工智能·工具调用·ai智能体·提示词工程·agent开发·智能体记忆
东方护航数据恢复(深圳)9 小时前
医疗案例:HIS/PACS 数据库页损坏修复,医院不停诊完成恢复【东方护航数据恢复深圳店】
数据库·数据恢复·医疗·二次开盘
lusklusklusk10 小时前
Oracle数据库基础之11_Duplicate和Dataguard和RAC
数据库·oracle
PHP实战开发录12 小时前
MySQL字段加索引为什么没变快
数据库·mysql·php·开发
红红谈说13 小时前
标签化推送与已读统计怎么做?一次通知链路的工程复盘
数据库·消息推送·数字乡村·集合运算·已读回执·标签体系·写入放大