oracle drop、truncate 分区表分区注意

由于客户某表月初通过ogg导入数据较多,ogg未能完成。因此决定使用数据泵临时导入。

停止ogg,删除表分区数据。通过delete加条件筛选数据,发现数据量较大,尝试删除,运行很长时间后,undo不够用报错。

决定,truancate该分区。查看表的分区,发现存在数个全局索引和本地索引,百度一下对分区表某分区进行drop/truncate操作。 

       ① 马上回收空间:

  alter table table_name truncate partition partition_name drop storage;

  ② 同时维护全局索引:

  alter table table_name drop partition partition_name update global indexes;

  ㈡ 对全局索引的作用

  大分区表truncate partition后,需要对全局索引进行维护,否则,global index会变成unusable

  问题介绍:

  ① 在drop partition时,为了维护global索引,要加update indexes或是update global indexes条件

  ②在truncate partition时也要维护global索引,要加update indexes或是update global indexes条件

  UPDATE INDEXES同时维护全局和本地索引

  对于DROP/TRUNCATE PARTITION而言 ,二者没有太大的区别

  对于MERGE和SPLIT PARTITION,你就可以看到二者的区别了

  虽然index是变得valid了,但是index的空间没有释放

  因为该操作不等于REBUILD,只是在进行DDL的时候,同步维护索引信息而已


综上,可以使用

alter table table_name truncate partition (p1) update indexes;

alter table table_name truncate partition (p1) update global indexes;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值