oracle alter table hash 分区,Oracle 11g维护分区(二)——Coalescing Partitions

融合分区

融合分区是减少哈希分区表或索引的分区数量的一种方法,也可以用来减少复合哈希分区表的子分区数量。当一个哈希分区被融合时,它的内容会根据哈希函数重新分配到一个或多个其他分区。被融合的分区是由数据库来选定的,在其内容完成重新分布后会被删除。如果你在引用分区表定义的基表中进行融合分区操作,那么引用分区表会自动继承新的分区定义。

索引可能被标识为UNUSABLE,如下表所述:

表类型

索引操作

普通表(堆表)

除非你在ALTER TABLE语句中指定UPDATE INDEXES字句:

ll对于新增分区和重新分配的现有分区的本地索引,被标识为UNUSABLE,必须重建。

ll所有全局索引,或者分区全局索引的所有分区,被标识为UNUSABLE,必须重建。

索引组织表

l对于本地索引,和普通表的处理方式一样。

l所有全局索引保持可用;

在哈希分区表中融合一个分区

我们用ALTER TABLE ... COALESCE PARTITION语句在哈希分区表中融合一个分区。下面的语句通过融合一个分区,使表ouu1的分区数量减少了一个。

ALTER TABLE ouu1

COALESCE PARTITION;

在复合哈希分区表中融合一个子分区

下面的语句将分区us_locations的一个子分区的内容重新分布到同一分区的一个或多个其他子分区(由哈希函数决定),需要注意的是,对于一个间隔分区表而言,你只能融合物化范围分区或者物化间隔分区的哈希子分区。基本上,这个操作可视为MODIFY PARTITION ... ADD SUBPARTITION的逆操作。

ALTER TABLE diving MODIFY PARTITION us_locations

COALESCE SUBPARTITION;

融合全局哈希分区索引

在一个全局哈希分区索引中,我们可以使用ALTER INDEX语句的COALESCE PARTITION子句来让数据库减少一个索引分区。数据库会基于哈希分区的要求来选择分区。下面的语句将索引hgidx的分区数量减少了一个。

ALTER INDEX hgidx COALESCE PARTITION;

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值