代码改变世界

分区表DDL操作注意点

2020-01-20 11:07  那个,我  阅读(516)  评论(0编辑  收藏  举报

Add 或 Truncate 分区通常对全局索引或分区索引都没影响。

但其他操作如Drop,Merge,Split,Move 等操作,很可能对分区造成影响。所以有如下操作建议:

1. 所有分区的变更操作,都加上 update indexes ,最大可能的避免全局或 local 索引失效。

2. 每次操作完都应该检查验证索引是否失效。

SELECT INDEX_NAME,STATUS FROM USER_INDEXES WHERE STATUS='UNUSABLE';
SELECT INDEX_NAME,PARTITION_NAME,STATUS FROM USER_IND_PARTITIONS WHERE STATUS='UNUSABLE
 
3. 经常在10G的库上Split 最大分区的时候卡住没响应。
原因是split分区后,该分区的统计信息会丢失。
处理办法:确定最大分区没数据的情况下,采用drop 最大分区,添加分区的方式绕过该问题。