ORACLE的表空间!
我创建表空间的时候,用下面的参数:
default storage{
INITAL 64K
NEXT 64K
MINEXTENTS 128
PCTINCREATE 50
MAXEXTENTS 4096
}
我想问一下:以后,在数据表中从第一次到第5次增加分配空间时,每次的大小是多少(写出每次分配后表的总空间)?MINEXTENTS是不是决定了每次分配的最少要128块EXTENTS?谢谢!
问题点数:30、回复次数:7Top
1 楼flowerofwind(现实很残酷)回复于 2001-11-01 20:03:26 得分 5
第一次增长64k,第二次64*(1+50%),第三次(64*(1+50%))*(1+50%)......以此类推Top
2 楼flowerofwind(现实很残酷)回复于 2001-11-01 20:06:28 得分 0
minnextents表示当超出建立表时的初始区间,允许设置的附加区间
还有128表示的是字节所以应该用128KTop
3 楼rwq_(笨笨@天外有天山外有山)回复于 2001-11-01 22:23:32 得分 0
我找了一些资料,MINEXTENTS默认为1,当MINEXTENTS超过1时,EXTENTS的值用NEXT和PCTINCREASE的值进行运算求得值。
原话这么说的:(对MINEXTENTS的解释)
Specifies the total number of extents that should be allocated to the segment at the time of creation.This parameter enables you to allocate a large amount of space when you create an object,even if the space available is not contiguous.The default and minimum sizes are calulated baseed on NEXT and PCTINCREASE.
我所知道就这么些了,上面所说的1(默认值)是如何解释?同时我也找了一下DBA宝典这本书的解释也没有讲得很清楚。Top
4 楼guostong(笨驴)回复于 2001-11-01 23:08:16 得分 5
MINEXTENTS是不是决定了每次分配的最少要128块EXTENTS?
是Top
5 楼hc_yao(木头)回复于 2001-11-01 23:33:31 得分 15
理论上:
第一个分区64K,第二个分区64K,第三个分区为64*(1+50%)= 96K,第四个分区为64*(1+50%)^2 = 144K,依次类推。
实际上:
分区的大小还和数据块大小等其他参数有一定的关系。
MINEXTENTS 128的意思是该表空间中的对象至少有128个分区。换句话说每一个表都有128个分区以上,哪怕没有数据。所以你这个表空间一个表都创建不了。Top
6 楼visc(visc)回复于 2001-11-02 20:48:56 得分 5
实际分配的大小,要取整到db_block的整数倍Top
7 楼rwq_(笨笨@天外有天山外有山)回复于 2001-11-02 21:12:44 得分 0
OK!Top




