暂无图片
INTERVAL分区新增分区策略
最近更新:2022-03-11 14:21:05

INTERVAL分区是Oracle11g新增的特性,这种范围分区不需要定义MAXVALUE,Oracle会根据分区定义的INTERVAL来动态的分配新分区来容纳超过范围的数据。 Oracle在分配新分区的时候只会给存在数据的分区进行分配,对于不存在数据的分区并不会马上分配,而是在需要的时候才去分配。 对于这个分区分配策略,是在无意中发现的:

SQL> CREATE TABLE T_INTERVAL_PART
  2  PARTITION BY RANGE (CREATED)
  3  INTERVAL (NUMTOYMINTERVAL(1, 'MONTH')) 
  4  (PARTITION P1 VALUES LESS THAN (TO_DATE('2007-9-1', 'YYYY-MM-DD')))
  5  AS SELECT * FROM DBA_OBJECTS;
表已创建。
SQL> SELECT TABLE_NAME, PARTITION_NAME, HIGH_VALUE FROM USER_TAB_PARTITIONS
  2  WHERE TABLE_NAME = 'T_INTERVAL_PART'
  3  ORDER BY 2;
TABLE_NAME      PARTITION_NAME HIGH_VALUE
......