关于OracleDatabaseBlock

王朝oracle·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

一、概览

1、最小的I/O单位;

2、包含一个或者多个操作系统Block;

3、在表空间创建的时候进行设置;

4、默认的block大小是由参数db_block_size确定的。

二、Block的组成结构

Block共有三个部分组成,分别是头、已用空间和未用空间。

三、控制参数

1、并行控制参数(实质为Transaction Slots的数量控制):

INITRANS:初始的Transaction Slots的数量,Data段的默认值为1,index段的默认值为2。如果需要更多的事物处理同时对一个Blcok进行操作就可以通过修改这个参数在空闲的空间内增加更多的Transaction Slots。

MAXTRANS:Transaction Slots的最大数量,默认为255。通过这个参数可以使Transaction Slots尽量少占用Block的空间。

2、数据空间的控制参数:

PCTFREE:由于修改Block中的行会引起的占用空间,所以在Block空闲空间被占用到一定程度后要预留一定的比例给将来修改所需的空间。PCTFREE就是预留空间占整个Block的比例,默认为10%。

PCTUSERD:当Block的空闲空间达到一定的比例,这个Block就会被添加到段可用列表(Free lists)中,而PCTUSED就是控制这个比例的,默认值为40%。每一个段都有一个Free Lists,也可以通过FREELISTS设置更过的Free Lists。

无论是PCTFREE还是PCTUSERD都是使用空闲空间占全部空间的百分比,而全部空间是指去掉Block头所占用的空间。

四、Data Block的管理方式

1、自动管理方式:

a、可用空间由数据库段来管理;

b、使用位图而不是free lists来管理空间;

c、提供删除管理、更好的空间利用、性能更好的并行INSERT操作。

d、限制:不能管理有LOB类型的表空间。

2、手工管理

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航