Oracle数据块详解

2020年2月21日19:21:37
评论

数据库的逻辑结构包括:数据块,区,段,表空间。

Oracle数据块是Oracle数据库存储基础,有磁盘空间的若干字节组成,数据块是oracle数据库的最小逻辑单元,可以定义数据块为2k4k8k16k32k甚至更大,默认oracle

块大小是8k,通常我们称为oracle块。当然正常情况下oracle块应该是os块的整数倍,当然具有标准大小的块叫做标准块,和标准块不同的块叫做非标准块。同一个数据库中,当然指的是9i以后,支持同一个数据中同时使用标准块和非标准块。

Oracle数据块详解

       Oracle块大小设置在初始化参数文件里面(init.ora)中的db_block_size中设置,块是处理update、insert、select数据事务的最小单位,当用户从表中选择数据时,将在oracle块上读取或是提取数据。意思就是说:os每次执行i/o时候,是以os的块为单位;oracle每次执行i/o时候,是以oracle块为单位。

 

总结为一下几点:

•    最小的 I/O单元

•    包含一个或多个 OS 块

•    DB_BLOCK_SIZE

•    数据库创建时设置, 数据库创建后不能更改

 

Oracle数据块的大小设置意见:

1、  如果行较小且访问随机,则选择小的块尺寸

2、  如果行小且访问连续的,或者有较大的行,则选择较大尺寸的块。

 就是说看我们的业务系统。

 

数据块结构

Oracle数据块详解

块结构说明如下:

块头:存放一些基本信息,如物理位置,块所属的段类型(数据段、索引段、回滚段等)

表目录:如果块中存储的数据为表数据,则表目录中保存这个表的相关信息

行目录:如果块中存储的数据为表数据,则行目录中保存数据行的相关信息。

块头、表目录和行目录组成块的头部信息(overhead),这部分不存数据库中实际的数据,而是用来记录该块的逻辑结构,而且这部分占用的空间不是固定的,大约在84-107字节之间。

企鹅博客
  • 本文由 发表于 2020年2月21日19:21:37
  • 转载请务必保留本文链接:https://www.qieseo.com/185386.html

发表评论