E ai galera!
Alguns dias atrás passei por esse problema ao parar a criação de um índex Online que foi o erro ORA-08104 , pode ser visto no alert.log com a mensagem
online index (re)build cleanup: objn=24584040 maxretry=2000 forever=0
A solução e simples,vamos executar um bloco com uma rotina que agilizara a limpeza do objeto. O erro é causado por um bug : BUG:3805539 e pode ser solucionado executando a rotina abaixo:
1- Verificando o objeto com problemas
select obj#,flags from ind$ where obj#=24584040; --------------------------------------------------------------------- OBJ# FLAGS ---------- ---------- 24584040 256 -------------------------------------------------------------------------------------
2- Executando a rotina de limpeza com SYS
declare isclean boolean; begin isclean :=false; while isclean=false loop isclean := DBMS_REPAIR.ONLINE_INDEX_CLEAN(dbms_repair.all_index_id,dbms_repair.lock_wait); dbms_lock.sleep(10); end loop; end; / SQL> SQL> SQL> declare isclean boolean; begin isclean :=false; while isclean=false loop isclean := DBMS_REPAIR.ONLINE_INDEX_CLEAN(dbms_repair.all_index_id,dbms_repair.lock_wait); dbms_lock.sleep(10); end loop; end; / 2 3 4 5 6 7 8 9 10 11 PL/SQL procedure successfully completed.
3- Verificando novamente o objeto com problemas
SQL> select obj#,flags from ind$ where obj#=24584040; no rows selected
Referencia
Oracle Support Doc ID 375856.1 & 1378173.1