Потенциально это коррумпированные базы данных, но не быть слишком поспешным. Рекурсивные ошибки могут возникать при превышении пределов сеанса и процесса.
Есть небольшой шанс, что вы превысили лимит процессов. Сколько процессов вы имеете в своем примере? Вы близки к пределу, налагаемому параметром «процессы»? Если это так, рекурсивный SQL может быть неудачным и представить ошибку.
параметр Проверка процессов из Sqlplus сессии (или IDE) с:
show parameter processes
Затем проверьте количество процессов от процесса об $:
select count(*) from v$process
Вы близки к порогу? Если вы, увеличьте значение параметра процессов: например, если ваш предел процессов было 150 увеличение до 175
alter system set processes=175 scope=spfile
Вы должны перезапустить сервер для изменения вступили в силу, как вы не можете динамически изменять параметры процессов.
В противном случае, проследить сессию и увидеть, где проблема на самом деле:
С текущего выпуска сессии следующее:
alter session set sql_trace=TRUE
затем запустить create or replace again
, когда это бомбы из взглянуть на ваш файл трассировки который создается в каталоге USER_DUMP_DEST.Ищите ошибки ORA там, они могут привести к другой проблеме, но это может сэкономить время.
Вы пытаетесь создать или удалить объекты в своей собственной схеме или в чужом? Каков точный синтаксис, который вы используете при отмене процедуры выше? –
Я вошел в систему как sysdba (я получаю ту же ошибку, если я вхожу в систему как eag), и я использовал этот точный синтаксис для создания процедуры. – climbage
И вы получаете ошибку, затем с помощью 'DROP PROCEDURE EAG.TEST', если вы вошли в систему под именем' SYS as sysdba' или 'EAG'? –