ORA-01688:unable to extend table name

由于数据量越来越多,一不小心就把物理文件撑爆了,问过以前一个dba的同事,他说一个物理文件最大只能到32G,有些悲剧,没办法最后只能删除掉一些表分区,再重新建立。


解决方法:
http://blog.csdn.net/yuzmoon/article/details/6616613


删除分区这里需要注意:

1.分区索引就是在所有每个区上单独创建索引,它能自动维护,在drop或truncate某个分区时不影响该索引的其他分区索引的使用,也就是索引不会失效,维护起来比较方便,但是在查询性能稍微有点影响。

2.全局索引就是在全表上创建索引,它可以创建自己的分区,可以和分区表的分区不一样,也就是它是独立的索引。

在drop或truncate某个分区时需要创建索引alter index idx_xx rebuild,也可以通过alter table table_name drop partition partition_name update global indexes;实现,但是如果数据量很大则要花很长时间在重建索引上。

3.oracle会对主键自动创建全局索引

这两种删除分区分别为
alter talbe scdw.dw_busi_user_t_test truncate partition PART01

alter talbe scdw.dw_busi_user_t_test truncate partition PART01 update global indexes

原因是truncate 一个分区,则local index会自动维护,但全局index会变成unusable,所以要truncate要带上update global indexes.

你可能感兴趣的:(extend)