Oracle删除大分区表

1. 查看数据总量,查看要删除的数据量,查看是否有索引,或全局索引。

select sum(bytes)/1024/1024/1024 from dba_segments t where t.segment_name='MS_CUST_PRDT_DAY_PFT_D' and t.partition_name like 'P2016%';

select t.partitioned, t.* from dba_indexes t where t.table_name='zlcft.MS_CUST_PRDT_DAY_PFT_D';

2.停止相关表上所有的业务(读写)

3.记录global索引的创建语句;

4.drop掉global索引

drop index pk_index_able;

5.truncate然后drop掉分区

alter table table_name truncate partition partition_name;

alter table table_name drop partition partition_name;

5.重建global索引,重建时在语句的最后加parallel 24(或其他值,看cpu数量)

create index aaa on zlcft.aaa parallel 24;

6.设置global索引为非并行的

alter index ... noparallel;

你可能感兴趣的:(ORACLE)