Recientemente siguiendo el documento ID 456468.1, he realizado una verificación de la integridad del catálogo. El caso es que han aparecido un par de errores indicando un problema con un identificador de objeto:
1703982
Este objeto existe en dba_objets, la consulta:
SELECT OWNER, OBJECT_NAME, OBJECT_TYPE FROM dba_objects WHERE object_id=1703982
Devuelve:
OWNER OBJECT_NAME OBJECT_TYPE
----- --------------------------- -------------------
APP QUEST_SX_91B74A9BF3DEF56D61 INDEX
Intento obtener más información con:
SELECT * FROM DBA_INDEXES I WHERE i.index_name='QUEST_SX_91B74A9BF3DEF56D61'
Y en este caso no devuelve nada ???
En un principio parece que realmente haya un problema de integridad del catálogo, pero si se busca un poco en Metalink se puede encontrar el documento ID 329457.1.
Este documento habla de los índices FAKE, que no son más que índices creados por los asistentes de Enterprise Manager, para ver el efecto que tendría en un plan de ejecución CBO la existencia de un nuevo índice.
Es posible crear un índice de este tipo con:
CREATE INDEX idx2 ON myobj (object_name) NOSEGMENT;
Como se puede ver es un índice sin segmentos.
El caso es que los que yo he encontrado no los ha creado Enterprise Manager sinó TOAD, por ese motivo paracen sen detectados como un problema de integridad del catálogo.
Se pueden ver todos los índices fake existentes mediante la consulta:
SELECT o.object_name AS fake_index_name FROM dba_objects o
WHERE o.object_type = 'INDEX' AND NOT EXISTS
(SELECT NULL FROM dba_indexes i WHERE o.object_name = i.index_name AND o.owner = i.owner);
Estos índices se pueden incluso analizar, pero no mucho más. Yo he borrado los que me están apareciendo como problemáticos.