当前位置导航:炫浪网>>网络学院>>编程开发>>Oracle教程

关于Oracle Database Block


  一、概览
  
  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、手工管理
相关内容
赞助商链接