ITPub博客

首页 > Linux操作系统 > Linux操作系统 > segment和extent,block的总结

segment和extent,block的总结

原创 Linux操作系统 作者:zhangshengdong 时间:2011-12-01 14:48:54 0 删除 编辑
 
segment,extent,block的概念特别多,一个图我感觉直接显示的说明
 
我的方法是用个人操作,来对这个概念具象化。
 
创造一个表空间
create tablespace zsd01     
       datafile 'D:\zsd01.dbf'             
       size 100M
       AutoExtend On
       Next 10M Maxsize 2048M   
       extent management local uniform. size 128K(本地空间管理)   
       segment space management auto(自动段空间管理(Auto Segment Space Management))还有一种模式是手动的。
 
查看dba_tablespaces视图可以查看下列信息
SQL> select tablespace_name,block_size,contents,extent_management,allocation_typ
e,  segment_space_management
  2         from dba_tablespaces where tablespace_name='ZSD01';
TABLESPACE_NAME                BLOCK_SIZE CONTENTS  EXTENT_MAN ALLOCATIO SEGMEN
------------------------------ ---------- --------- ---------- --------- ------
ZSD01                                8192 PERMANENT LOCAL      UNIFORM   AUTO
 
一个block的size是8k
 
 
查看dba_data_files视图,可以知道extent的增长速度是128k
SQL> select tablespace_name,AUTOEXTENSIBLE,INCREMENT_BY,MAXBYTES from dba_data_f
iles;
TABLESPACE_NAME                AUT INCREMENT_BY   MAXBYTES
------------------------------ --- ------------ ----------
ZSD01                          YES         1280 2147483648
在这个表空间中,创建一张test表
 
create table test
(
  id int not null
)tablespace zsd01
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 512K
    next 128K
    minextents 1
    maxextents unlimited
    pctincrease 0
  );
就可以看出,initial是512k,next是128k
 
通过查找视图dba_extents;
 
select extent_id,block_id,blocks,segment_name,tablespace_name from dba_extents where tablespace_name='ZSD01';
 

 
可以看出,16个blocks等于,16*8=128K,然后一共4个,所以是初始化的有512k
 
 

e_cncpt027.gif

123.jpg

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26446098/viewspace-712550/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-11-18

  • 博文量
    25
  • 访问量
    91402