由于当初建表的时候建了两张需要存储大量数据的分区表,却没有建立本地索引,而是使用建立主键的时候,Oracle自动建立的全局索引。
最近由于表空间问题drop了这两张表的部分分区,结果导致了ora-01502,索引失效了。
在网上找了很多方法,用如下方法将全局索引改为了本地索引,避免了以后再次对分区进行操作时索引失效的问题。
1. 先删除主键约束,oracle会自动删除建表时根据主键自动创建的全局索引
alter table tablename drop PRIMARY KEY;
2. 重建主键并指定索引为本地索引
alter table tablename add constraint PK_XXX PRIMARY KEY(column1,column2,....) using index local tablespace XXX;