Як усунути помилки ORA-30926? (Док. Код 471956.1)
1) Визначте невдалий вислів
змінити події набору сеансу "30926 рівень ідентифікації помилок імені треку";
або
змінити події системи набору "вимкнено помилку стеження імені 30926 імені треку";
і спостерігати за .trc файлами в UDUMP, коли це відбувається.
2) Знайшовши оператор SQL, перевірте, чи він правильний (можливо, використовуйте план роз'яснення або tkprof для перевірки плану виконання запиту) та проаналізуйте або обчисліть статистику для відповідних таблиць, якщо цього нещодавно не було зроблено. Перебудова (або відмова / відтворення) індексів може також допомогти.
3.1) Чи є оператор SQL МЕРГ? оцінити дані, повернені пунктом USING, щоб упевнитись, що у з'єднанні немає повторюваних значень. Змініть оператор злиття, щоб включити детермінований де пункт
3.2) Це твердження UPDATE через перегляд? Якщо так, спробуйте заповнити результат перегляду в таблицю і спробуйте оновити таблицю безпосередньо.
3.3) Чи є тригер на столі? Спробуйте відключити його, щоб побачити, чи все ще не працює.
3.4) Чи містить виписка непередаваемое представлення у "IN-Subquery"? Це може призвести до повернення дублюючих рядків, якщо в запиті є пункт "ЗА ОНОВЛЕННЯ". Див. Bug 2681037
3.5) Чи є у таблиці невикористані стовпці? Видалення цих даних може запобігти помилці.
4) Якщо зміна SQL не усуває помилку, проблема може виникнути з таблицею, особливо якщо є прикуті рядки. 4.1) Запустіть оператор "ANALYZE TABLE VALIDATE STRIDT STRUCTURE CASCADE" на всіх таблицях, що використовуються в SQL, щоб побачити, чи є пошкодження в таблиці або її індексах. 4.2) Перевірте та усуньте будь-які ЗАСВЯЗАНІ або перенесені ROWS на столі. Існують способи мінімізувати це, наприклад, правильна настройка PCTFREE. Використовуйте примітку 122020.1 - ланцюжок рядків та міграцію 4.3) Якщо таблиця додатково організована індексами, див .: Примітка 102932.1 - Моніторинг ланцюгових рядків на IOT