Oracle 数据块原理深化剖析2025-03-10 00:00 来源:IT168 bitsCN 编辑字体:[大 中 小]数据块(Oracle Data Blocks),本文简称为“块”,是 Oracle 最小的储备单位,Oracle 数据存放在“块”中
一个块占用一定的磁盘空间
专门注意的是,那个地点的“块”是 Oracle 的“数据块”,不是操作系统的“块”
Oracle 每次要求数据的时候,差不多上以块为单位
也确实是讲,Oracle 每次要求的数据是块的整数倍
假如 Oracle 要求的数据量不到一块,Oracle 也会读取整个块
因此讲,“块”是 Oracle 读写数据的最小单位或者最差不多的单位
块的标准大小由初始化参数 DB_BLOCK_SIZE 指定
具有标准大小的块称为标准块(Standard Block)
块的大小和标准块的大小不同的块叫非标准块(Nonstandard Block)
同一数据库中,Oracle9i 及以上版本支持同一数据库中同时使用标准块和非标准块
Oracle 承诺指定 5 种非标准块(Nonstandard Block)
操作系统每次执行 I/O 的时候,是以操作系统的块为单位;Oracle 每次执行 I/O 的时候,差不多上以 Oracle 的块为单位
Oracle 数据块大小一样是操作系统块的整数倍
数据块的格式(Data Block Format) 块中存放表的数据和索引的数据,不管存放哪种类型的数据,块的格式差不多上相同的,块由块头(header/Common and Variable),表名目(Table Directory),行名目(Row Directory),空余空间(Free Space)和行数据(Row Data)五部分组成, 如下图所示
块头(header/Common and Variable):