1,Oracle9i 本地管理表空间(LMT), autoallocate的情况下,缺省extent大小是多少 ?
CREATE TABLESPACE SYSTEM DATAFILE
'/u01/product/oradata/epd2/system01.dbf' SIZE 800M AUTOEXTEND OFF
LOGGING
ONLINE
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K;
这种情况由系统分配一个默认大小的区大小
/*先分配16个64K的extent,
0-15 extents 每个大小是64K 合计大小 1M
16-79 extents 每个大小是1M 合计大小 63M --以上两项大小合计 64M
80-199 extents 每个大小是8M 合计大小 960M --以上三项大小合计 1024M=1G
200-?? extents 每个大小是64M
*/
Oracle10g 的分配又不一样。参考 http://space.itpub.net/35489/viewspace-84692
2,Oracle9i 本地管理表空间(LMT), uniform. size 的情况下,不写storage部分,默认initial_extent, next_extent 都是
uniform. size 大小。 假设uniform. size = 5M , 没有storage部分的时候,select * from dba_segments where segment_name = table_name
发现 initial_extent , next_extent 以及bytes 都是 5M, 假设写了initial_extent=7M, 那么查询出来的新建table
大小是10M(也就是由于7M大于5M,所以导致扩展uniform. size extent两次,达到10M), 而initial_extent值是7M, next extent照样是
uniform. size(5M), 可以看出initial_extent参数值只是迫使extent按照uniform. size整数倍进行扩展,本身值不起作用。
3, 如果指定extent manangement dictionary 不再指定default storage的话,那么缺省的initial_extent和next_extent分别为:
SQL> create tablespace user2 datafile 'd:\oracle\oradata\ora9 \user2.dbf' size 10m extent management dictionary
表空间已创建。
SQL> select initial_extent,next_extent from user_tablespaces where tablespace_name='USER2';
INITIAL_EXTENT NEXT_EXTENT
-------------- -----------
20480 20480
4, 如果指定extent manangement dictionary ,同时指定default storage(initial 128k next 128k)的话,就是用指定值。
5, 如果extent manangement local的话,就不能再指定default storage了 .
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/35489/viewspace-503836/ ,如需转载,请注明出处,否则将追究法律责任。