extent autoallocate分配时,表是如何分配空间

原文地址: http://blog.itpub.net/35489/viewspace-84692


--------------------

SQL>create tablespace demo datafile 'd:oracleoradataenzdemo01.dbf' size 2048M
extent management local autoallocate segment space management manual;
在这个表空间上分别创建下面的表:
create table SPACE_auto as select * from all_objects
tablespace DEMO;

表space_auto实际空间分配策略
/*先分配16个64K的extent,
0-15 extents 每个大小是64K 合计大小 1M
16-79 extents 每个大小是1M 合计大小 63M --以上两项大小合计 64M
80-199 extents 每个大小是8M 合计大小 960M --以上三项大小合计 1024M=1G
200-?? extents 每个大小是64M
*/
create table SPACE_1M as select * from all_objects
tablespace DEMO
storage
(
initial 1M
next 1M --忽略
minextents 1
maxextents unlimited
);
实际空间分配策略 /*先分配16个64K的extent,然后是1M的extent */

create table SPACE_8M as select * from all_objects
tablespace DEMO
storage
(
initial 8M
next 8M --忽略
minextents 1
maxextents unlimited
);
实际空间分配策略 /*初始分配8个1M的extent */

create table SPACE_32M as select * from all_objects
tablespace DEMO
storage
(
initial 32M
next 32M --忽略
minextents 1
maxextents unlimited
);
实际空间分配策略/*初始分配32个1M的extent */

create table SPACE_64M as select * from all_objects
tablespace DEMO
storage
(
initial 64M
next 32M --忽略
minextents 1
maxextents unlimited
);
实际空间分配策略/*初始分配64个1M的extent */
========================================================================================================
create table SPACE_128M
as select * from all_objects
tablespace DEMO
storage
(
initial 128M
next 128M --忽略
minextents 1
maxextents unlimited
);

/*初始分配规律如下
extent0 =8M
extent 1-49=1M
extent 50-170 =8M
extent 171 开始 extent=64M
可以看到当segment大小=8+49+121*8=1025M>1G时,开始分配64M大小的extents
*/

以上结果都是针对数据库版本 9.2.0.8 for windows,demo表空间是Local & Autoallocate来分配的。
对于10.2.0.2版本的oracle,分配规律有变化了,
create table SPACE_128M as select * from all_objects
tablespace DEMO
storage
(
initial 128M
next 128M --忽略
minextents 1
maxextents unlimited
);
/*初始分配规律如下
extent0-127=8M 128×8M=1G extent 128=64M,
也就segment大于1G,那么分配64M extent */

可以看到,oracle10g的分配更科学点。
总结:使用autoallocate方式分配表使用的空间时,当segment的大小大于1G时,oracle开始分配64M的extents。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值