oracle基础知识8

上一篇 / 下一篇  2009-07-24 17:12:06 / 个人分类:oracle安装(11g)

1. 数据库
数据库块(database block)是ORACLE逻辑分配空间的最底层,又称逻辑块、页或ORACLE块。
数据库块是数据库使用和分配空间的最小单元,也可以说是使用的最小I/O单元,一个数据块与磁盘上指定的物理空间大小相一致,一个数据库块对应一个或多个物理块,块的大小由参数db_block_size确定。
PCTFREE和PCTUSED是开发人员用来控制数据块中可用插入和更新数据的空闲空间大小的参数。
 PCTFREE:设置数据块中保持空闲的百分比。
 PCTUSED:当数据块空闲空间达到PCTFREE时,此块不允许插入数据,只能修改或删除块中的行,更新时可能使数据块空闲空间变大,已用数据空间变小,当已用空间低于PCTUSED时,则可以重新插入数据。
PCTFREE及PCTUSED的选择:
 经常做查询(select)的表,应使PCTFREE小些,尽量减少存储空间浪费。
 经常做插入(insert)的表,应使PCTUSED大一些。
 经常做更新(update)的表,应使PCTFREE大一些,给更新留出更大的空间,减少行移动。
2. 范围(Extent)
数据库存储空间分配的逻辑单位,一个范围由一组数据块组成,范围是由段分配的,分配的第一个范围称初始范围,以后分配的范围称增量范围。
Extent是段中分配空间的逻辑单元。它有如下特性:
 一个或多个范围构成一个段。
 当段增长时,范围自动添加到段中。
 DBA可以手工把范围加到一个段中。
 一个范围不能跨数据文件,即一个扩展只属于一个数据文件。
 一个范围由一片连续的ORACLE block构成。
每个段在定义时有许多存储参数来控制范围的分配,主要是STORGAE参数,主要包括如下几项:
 INITIAL :分配给段的第一个范围的字节数,缺省为5个数据块。
 NEXT:分配给段的下一个增量范围的字节数,缺省为5个数据块。
 MAXEXTENTS :最大扩展次数。
 PCTINCREASE:每一个增量范围都在最新分配的增量范围上增长,这个百分数缺省为50%,建表时通常设置为0,建表空间时为1%。
范围在分配时,遵循如下分配方式:
 初始创建时,分配INITIAL指定大小的区。
 空间不够时,按NEXT大小分配第二个区。
 再不够时,按NEXT + NEXT *PCTINCREASE分配。
可以对表、聚集、索引、回滚段、表空间等实体设置存储参数。

TAG:

 

评分:0

我来说两句

Open Toolbar