如何分割现有分区

时间:2019-05-31 02:53:37

标签: oracle partitioning

我的桌子上有多个分区,如下所示。

分区-Day_20190509的高价值20190510
分区-Day_20190520,具有高价值20190521
分区-Day_99999999,最大值为MAXVALUE。

我想为Day_20190510,Day_20190513,Day_20190514创建三个新分区,其高值分别为20190513、20190514、20190520。

我相信可以使用SPLIT分区来完成此操作,但无法理解如何在两者之间创建分区。有人可以协助查询吗?

我尝试使用分区分割选项,但不了解我的范围部分和新分区是什么

ALTER TABLE table_name SPLIT PARTITION partition_name
  AT (range_part_value)
  INTO 
  (
    PARTITION new_part1 
      [TABLESPACE tablespace_name],
    PARTITION new_part2 
      [TABLESPACE tablespace_name]
  ); 

1 个答案:

答案 0 :(得分:0)

您在新分区(Day_20190510,Day_20190513,Day_20190514)中描述为高值(20190513、20190514、20190520)的值属于当前分区:Day_20190520(值范围:20190511-20190521)

因此,当前分区Day_20190520必须按以下方式拆分:

 ALTER TABLE table_name SPLIT PARTITION Day_20190520 INTO 
  (PARTITION Day_20190510 VALUES LESS THAN (20190514), -- 20190513 + 1
   PARTITION Day_20190513 VALUES LESS THAN (20190515), -- 20190514 + 1
   PARTITION Day_20190514 VALUES LESS THAN (20190521), -- 20190520 + 1
   PARTITION Day_20190520_1);

希望这可以解决您的问题。

相关问题