oracle 分区表分配的段为什么达到8M的空间
在同一个库,同一个表空间建立2张表,分区表分配的段为什么达到8M的空间
--01建表空间
CREATE TABLESPACE RETEK_DATA nologging
DATAFILE '/u01/app/oracle/oradata/rmsdb/retek_data01.dbf' SIZE 2048M
AUTOEXTEND ON NEXT 500M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
--02建分区表
CREATE TABLE aaa
(ITEM VARCHAR2(25) NOT NULL
,CREATE_DATETIME DATE NOT NULL
,LAST_UPDATE_DATETIME DATE NOT NULL
,LAST_UPDATE_ID VARCHAR2(30) NOT NULL
,LOC NUMBER(10,0) NOT NULL
,LOC_TYPE VARCHAR2(1) NOT NULL
,EOM_DATE DATE NOT NULL
)
TABLESPACE RETEK_DATA
PARTITION BY RANGE(EOM_DATE)
SUBPARTITION BY HASH(LOC)
SUBPARTITION TEMPLATE
(
SUBPARTITION S001 TABLESPACE RETEK_DATA
)
(
PARTITION aaa_P1 VALUES LESS THAN (TO_DATE('31072004','DDMMYYYY')) TABLESPACE RETEK_DATA
);
--03普通表
CREATE TABLE bbb
(ITEM VARCHAR2(25) NOT NULL
,CREATE_DATETIME DATE NOT NULL
,LAST_UPDATE_DATETIME DATE NOT NULL
,LAST_UPDATE_ID VARCHAR2(30) NOT NULL
,LOC NUMBER(10,0) NOT NULL
,LOC_TYPE VARCHAR2(1) NOT NULL
,EOM_DATE DATE NOT NULL
)
TABLESPACE RETEK_DATA;
------解决方案--------------------参考分区默认segment大小变化(64k—>8M)
在11.2.0.3(从11.2.0.2开始)创建分区表,每个分区默认大小为8M,是由_partition_large_extents参数控制,可以算是11.2.0.2开始的一个新特性,为了减少extent数量,提高分区表性能,而设置的一个参数,默认为true,即分区表的每个extent为8M,这里对于_partition_large_extents为true和false的情况进行了测试