Heim >Datenbank >MySQL-Tutorial >Oracle数据块详解

Oracle数据块详解

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 17:16:23985Durchsuche

数据库的逻辑结构包括:数据块,区,段,表空间。Oracle数据块是Oracle数据库存储基础,有磁盘空间的若干字节组成,数据块是orac

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

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

 

总结为一下几点:

    最小的 I/O单元

    包含一个或多个 OS

    DB_BLOCK_SIZE

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

 

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

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

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

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

 

数据块结构

块结构说明如下:

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

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

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

字节之间。

行记录:真正存放数据的区域,这部分空间已被使用。

空闲空间:未使用的区域,用于新行的插入或者已经存在行的更新。(这里有个概念行迁移:就是当update操作时,块中空闲的空间不够保存修改的数据,那么记录就将保存到另一个拥有足够空间的块中,而只在原块上保留一条指向新块的rowid,这就是行迁移row migration

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn