ORA-00604: Ошибка на уровне рекурсивного SQL
OracleЧто это значит?
Произошла ошибка во время рекурсивного SQL, который Oracle выполняет внутренне в фоне. Это ошибка-обёртка (внешняя), скрывающая фактическую ошибку; реальная причина — во втором коде ошибки, указанном непосредственно под ней.
Почему возникает?
Обращение к словарю данных, сбой DDL-триггера, заполненное табличное пространство SYSTEM, недостаток временного пространства, повреждённый объект словаря данных или сбой LOGON-триггера, выполняемого при входе в сессию.
Как исправить
Прочитайте вторую строку, следующую за ORA-00604 в стеке ошибок; это реальная причина — устраните её. Например, если видите ORA-01653, расширьте табличное пространство. Если подозревается DDL/LOGON-триггер, временно отключите его: ALTER TRIGGER trigger_name DISABLE; Проверьте использование табличных пространств SYSTEM и TEMP через DBA_FREE_SPACE.
Ещё по этой СУБД
- buffer busy waitsОжидание: конкуренция за буфер, который уже читается или изменяется другой сессией
- gc buffer busyОжидание (RAC): конкуренция за блок cache fusion, передаваемый между экземплярами
- library cache lockОжидание: конкуренция за дескриптор объекта library cache (сериализация parse/DDL)
- ORA-01438Значение превышает точность, допустимую для этого столбца
- ORA-01400Невозможно вставить NULL в (столбец)
- ORA-02291Нарушено ограничение целостности — родительский ключ не найден
- ORA-02292Нарушено ограничение целостности — найдена дочерняя запись