Wie behebe ich ORA-30926-Fehler? (Doc ID 471956.1)
1) Identifizieren Sie die fehlerhafte Aussage
Sitzungssatzereignisse ändern '30926 Trace Name Errorstack Level 3';
oder
Ändern Sie die System-Set-Ereignisse '30926 Trace Name Errorstack Off'.
und achten Sie in UDUMP auf TRC-Dateien, wenn dies auftritt.
2) Nachdem Sie die SQL-Anweisung gefunden haben, überprüfen Sie, ob sie korrekt ist (möglicherweise mithilfe von EXPLAIN Plan oder tkprof, um den Abfrageausführungsplan zu überprüfen), und analysieren oder berechnen Sie Statistiken zu den betreffenden Tabellen, falls dies nicht kürzlich geschehen ist. Das Neuerstellen (oder Löschen / Neuerstellen) von Indizes kann ebenfalls hilfreich sein.
3.1) Ist die SQL-Anweisung eine MERGE? Bewerten Sie die von der USING-Klausel zurückgegebenen Daten, um sicherzustellen, dass der Join keine doppelten Werte enthält. Ändern Sie die Merge-Anweisung so, dass sie eine deterministische where-Klausel enthält
3.2) Ist dies eine UPDATE-Anweisung über eine Ansicht? Wenn ja, füllen Sie das Ansichtsergebnis in eine Tabelle und aktualisieren Sie die Tabelle direkt.
3.3) Gibt es einen Auslöser auf dem Tisch? Deaktivieren Sie es, um festzustellen, ob es immer noch fehlschlägt.
3.4) Enthält die Anweisung eine nicht zusammenführbare Ansicht in einer 'IN-Unterabfrage'? Dies kann dazu führen, dass doppelte Zeilen zurückgegeben werden, wenn die Abfrage eine "FOR UPDATE" -Klausel enthält. Siehe Fehler 2681037
3.5) Hat die Tabelle nicht verwendete Spalten? Das Löschen dieser kann den Fehler verhindern.
4) Wenn das Ändern des SQL den Fehler nicht behebt, liegt das Problem möglicherweise an der Tabelle, insbesondere wenn verkettete Zeilen vorhanden sind. 4.1) Führen Sie die Anweisung 'ANALYZE TABLE VALIDATE STRUCTURE CASCADE' für alle in SQL verwendeten Tabellen aus, um festzustellen, ob die Tabelle oder ihre Indizes beschädigt sind. 4.2) Überprüfen Sie die Tabelle auf KETTEN oder migrierte REIHEN und entfernen Sie sie. Es gibt Möglichkeiten, dies zu minimieren, z. B. die korrekte Einstellung von PCTFREE. Verwenden Sie Hinweis 122020.1 - Zeilenverkettung und -migration. 4.3) Wenn die Tabelle zusätzlich indexorganisiert ist, lesen Sie: Hinweis 102932.1 - Überwachen verketteter Zeilen auf IOTs