как устранить неисправность ORA-30926 ошибки? (Doc ID 471956,1)
1) Определить неисправную заявление
альтер набор сессии «30926 след уровня название errorstack 3» событий;
или
альтер система устанавливать события «имя 30926 след errorstack от»;
и следить за .trc-файлами в UDUMP, когда это происходит.
2) Найдя инструкцию SQL, проверьте правильность (возможно, используя план объяснения или tkprof для проверки плана выполнения запроса) и проанализируйте или вычислите статистику по соответствующим таблицам, если это не было сделано в последнее время. Также могут помочь перестроение (или падение/воссоздание) индексов.
3.1) Является ли оператор SQL MERGE? оценивать данные, возвращаемые условием USING, чтобы убедиться, что в объединении нет повторяющихся значений. Измените оператор слияния, чтобы включить детерминированный текст, где пункт
3.2) Является ли это оператором UPDATE через представление? Если это так, попробуйте заполнить результат просмотра в таблице и попробуйте обновить таблицу напрямую.
3.3) Есть ли триггер на столе? Попробуйте отключить его, чтобы убедиться, что он все еще не работает.
3.4) Является ли утверждение содержащим неизмеримое представление в «IN-Subquery»? Это может привести к возврату повторяющихся строк, если запрос имеет предложение «FOR UPDATE». См. Bug 2681037
3.5) Имеется ли в таблице неиспользуемые столбцы? Удаление этих данных может помешать ошибке.
4) Если модификация SQL не устраняет ошибку, проблема может быть связана с таблицей, особенно если есть цепочка строк. 4.1) Запустите инструкцию «ANALYZE TABLE VALIDATE STRUCTURE CASCADE» во всех таблицах, используемых в SQL, чтобы увидеть, есть ли какие-либо повреждения в таблице или ее индексах. 4.2) Проверяйте и удаляйте любые СЛУЧАЙНЫЕ или ПЕРЕДАЧИ ROWS на столе. Есть способы минимизировать это, например, правильную настройку PCTFREE. Использование Примечание 122020,1 - Row Chaining и миграции 4,3) Если таблица дополнительно Index Организованный см: Примечание 102932,1 - Мониторинг Цепочечные Ряды на IOTs
10x Хороший ответ. Это помогло мне –
От меня тоже .. прямо на голове – TonyP
Возможно, поэтому другие подходы (для меня) также вернули мне другие ошибки (например, «процедура, функция, пакет или тип не разрешены здесь» и «Невозможно изменить столбец, который сопоставляется с ошибкой таблицы, не содержащей ключа, при попытке вставить в представление '). ~Если это помогает кому-то еще, я получил ту же ошибку, даже после добавления отличия до тех пор, пока я не перестроил соединения моего внутреннего запроса, поэтому я начал с таблицы, которая получала больше одной строки, возвращенной, и внутреннее соединение оттуда ... если это имеет смысл. – jinglesthula