11.2.0.2中引入了_partition_large_extents 的新特性,在extent size auto allocate的表空间上若创建分区表,则分区的initial extent size为8M。 试看下面的例子:
_partition_large_extents TRUE Enables large extent allocation for partitioned tables _index_partition_large_extents FALSE Enables large extent allocation for partitioned indices SQL> select ALLOCATION_TYPE from dba_tablespaces where tablespace_name='USERS'; ALLOCATION_TYPE ------------------ SYSTEM @partition.sql ==》测试用CREATE TABLE脚本,将在users表空间上创建一个有384个子分区的表 alter session set deferred_segment_creation=false; SQL> select count(*) from dba_tab_subpartitions where table_name='MACLEAN_PARTITION'; COUNT(*) ---------- 384 SQL> select blocks,count(*) from dba_Extents where segment_name='MACLEAN_PARTITION' group by blocks; BLOCKS COUNT(*) ---------- ---------- 1024 384 SQL> alter session set "_partition_large_extents"=false; 会话已更改。 @partition.sql SQL> select count(*) from dba_tab_subpartitions where table_name='MACLEAN_PARTITION'; COUNT(*) ---------- 384 SQL> select blocks,count(*) from dba_Extents where segment_name='MACLEAN_PARTITION' group by blocks; BLOCKS COUNT(*) ---------- ---------- 8 384
可以看到在11.2.0.2 以后_partition_large_extents参数默认打开(default : TRUE), 且当表空间allocation_type=SYSTEM时
本文转自maclean_007 51CTO博客,原文链接:http://blog.51cto.com/maclean/1278497