ORA-08103: Объект больше не существует
OracleЧто это значит?
Объект (таблица, индекс, LOB-сегмент), к которому обращается выполняющийся запрос, больше не существует или изменилась его физическая структура. Обычно во время выполнения запроса над объектом был выполнен DDL/TRUNCATE.
Почему возникает?
Тот же объект был подвергнут TRUNCATE/DROP/SHRINK, пока запрос был открыт; перемещение (MOVE) или обслуживание секций; повреждённый индекс/сегмент; исчезновение базовой структуры при обращении к LOB-сегменту; конфликт с параллельным DDL.
Как исправить
Убедитесь, что объект по-прежнему существует и действителен: SELECT status FROM user_objects WHERE object_name = 'NAME'; Перестройте соответствующий индекс/объект (REBUILD) или повторите запрос. Избегайте TRUNCATE/DROP для объектов, пока их используют длительные запросы. Если подозревается повреждение, проверьте с помощью ANALYZE ... VALIDATE STRUCTURE.
Ещё по этой СУБД
- ORA-01427Однострочный подзапрос возвращает более одной строки
- ORA-12899Значение слишком велико для столбца
- ORA-30926Не удаётся получить стабильный набор строк в исходных таблицах
- ORA-01843Недопустимый месяц
- ORA-14400Вставленный ключ секционирования не соответствует ни одной секции
- ORA-01536Превышена квота пространства для табличного пространства
- direct path readОжидание: сессия читает блоки напрямую в PGA в обход buffer cache