问题描述
我想知道如何重建特定表的索引。
SELECT 'ALTER INDEX '||OWNER||'.'||INDEX_NAME||' REBUILD;'
FROM DBA_INDEXES
WHERE TABLE_NAME = 'JR_SETTING_D';
运行此代码后,我尝试在表中插入值,但它一直告诉我
ORA-01502:索引或此类索引的分区处于可用状态提示
我正在寻找任何简单地重建我在查询的 where 语句中提到的表索引的方法。
解决方法
如果索引(或其分区)处于不可用状态并且重建没有帮助,我建议您删除索引,插入数据(会更快 因为 Oracle 在插入期间不必维护索引)并且 - 完成后 - 再次创建索引。