WEB开发网
开发学院数据库Oracle Oracle数据块原理深入剖析 阅读

Oracle数据块原理深入剖析

 2009-03-07 13:11:02 来源:WEB开发网   
核心提示:数据块(Oracle Data Blocks),本文简称为“块”,Oracle数据块原理深入剖析,是Oracle最小的存储单位,Oracle数据存放在“块”中,即:如果一些表的数据被存放在这个块中,那么,一个块占用一定的磁盘空间,特别注意的是

数据块(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)五部分组成,

如下图所示。 

Oracle数据块原理深入剖析 

块头(header/Common and Variable):存放块的基本信息,如:块的物理地址,块所属的段的类型(是数据段还是索引段)。 表目录(Table Directory):存放表的信息,即:如果一些表的数据被存放在这个块中,那么,这些表的相关信息将被存放在“表目录”中。

1 2 3  下一页

Tags:Oracle 数据 原理

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接