Конкретный, менее полезный ответ
Oracle пытается получить стабильный набор строк для обновления и не может, после 5001 попытки.
Вот что означают аргументы:
- [13013] ==> указывает, что проблема заключается в том, что не удалось определить стабильный набор строк для обновления
- [5001] ==> количество попыток Oracle
- [1675658] => Номер объекта данных (
SELECT * FROM DBA_OBJECTS WHERE
DATA_OBJECT_ID = 1675658
)
- [773963968] => Адрес блока данных, относящихся к табличному пространству
- [10] ==> номер слота строки
- [773963968] ==> десятичный относительный адрес блока данных обновляемого блока
- [17] ==> внутренний код
- [] ==> не используется
Что попробовать:
Сначала проверьте наличие повреждений блоков в индексах вашей таблицы: ANALYZE TABLE <table_name> VALIDATE STRUCTURE CASCADE
. Затем удалите и заново создайте и индексы, которые показывают проблемы.
Общий, более полезный ответ
Хорошо, как я узнал все вышеперечисленное (при условии, что это даже правильно)? ...
«ORA-00600», «ORA-00700» и «ORA-07445» - это внутренние ошибки Oracle. Единственная организация, которая действительно способна диагностировать / объяснить / исправить их, - Oracle Corporation. С этой целью Oracle предоставляет диагностический инструмент на своем веб-сайте поддержки: http://support.oracle.com. Это идентификатор документа 153788.1 на их сайте (хотя вы также можете просто найти на их сайте «ORA-600 tool»).
Используя этот инструмент, вы вводите специфику вашей ошибки ORA-00600 (обычно это только первый аргумент - «13013», в вашем случае) и, если вам повезет, он перенаправит вас на заметку, сообщающую вам все об этом.