【问题标题】:How to split existing partitions如何拆分现有分区
【发布时间】:2019-05-31 02:53:37
【问题描述】:

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

分区- 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]
  ); 

【问题讨论】:

    标签: oracle partitioning


    【解决方案1】:

    您在新分区(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);
    

    希望这能解决您的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-22
      • 1970-01-01
      • 2020-08-26
      • 2019-07-04
      • 1970-01-01
      • 2014-03-01
      • 1970-01-01
      • 2021-11-25
      相关资源
      最近更新 更多