При выполнении компиляции инвалидных объектов с помощью пакета utl_recomp возникает ошибка ORA-00955:
SQL> begin 2> sys.utl_recomp.recomp_serial; 3> end; begin * Ошибка в строке 1: ORA-00955: name is already used by an existing object ORA-06512: at "SYS.UTL_RECOMP", line 662 ORA-06512: at "SYS.UTL_RECOMP", line 715 ORA-06512: at line 2
Проблема заключается в том, что пакет, при выполнении, генерирует индексы в схеме sys:
CREATE INDEX utl_recomp_comp_idx1 ON utl_recomp_compiled(obj#) NOPARALLEL
Если выполнение пакета завершилось неудачно, то индексы остаются, и при последующем запуске генерируется ошибка ORA-00955 (имя используется в существующем объекте).
Удаляем индекс:
SQL> DROP INDEX sys.utl_recomp_comp_idx1 Индекс удален