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。

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

相关推荐
百***920244 分钟前
【MySQL】MySQL库的操作
android·数据库·mysql
q***766644 分钟前
Spring Boot 从 2.7.x 升级到 3.3注意事项
数据库·hive·spring boot
信仰_2739932431 小时前
Redis红锁
数据库·redis·缓存
人间打气筒(Ada)1 小时前
Centos7 搭建hadoop2.7.2、hbase伪分布式集群
数据库·分布式·hbase
心灵宝贝1 小时前
如何在 Mac 上安装 MySQL 8.0.20.dmg(从下载到使用全流程)
数据库·mysql·macos
奋斗的牛马2 小时前
OFDM理解
网络·数据库·单片机·嵌入式硬件·fpga开发·信息与通信
忧郁的橙子.3 小时前
一、Rabbit MQ 初级
服务器·网络·数据库
杰杰7983 小时前
SQL 实战:用户访问 → 下单 → 支付全流程转化率分析
数据库·sql
爬山算法3 小时前
Redis(120)Redis的常见错误如何处理?
数据库·redis·缓存
野生技术架构师3 小时前
盘一盘Redis的底层数据结构
数据结构·数据库·redis