Comment dépanner les erreurs ORA-30926? (Doc ID 471956.1)
1) Identifiez l'instruction défaillante
modifier les événements d'ensemble de session '30926 nom de trace niveau de pile d'erreurs 3';
ou
modifier les événements d'ensemble du système '30926 trace name errorstack off';
et surveillez les fichiers .trc dans UDUMP quand cela se produit.
2) Après avoir trouvé l'instruction SQL, vérifiez si elle est correcte (peut-être en utilisant le plan explicatif ou tkprof pour vérifier le plan d'exécution de la requête) et analysez ou calculez des statistiques sur les tables concernées si cela n'a pas été fait récemment. La reconstruction (ou la suppression / la recréation) des index peut également aider.
3.1) L'instruction SQL est-elle une MERGE? évaluez les données renvoyées par la clause USING pour vous assurer qu'il n'y a pas de valeurs en double dans la jointure. Modifiez l'instruction de fusion pour inclure une clause where déterministe
3.2) S'agit-il d'une instruction UPDATE via une vue? Si tel est le cas, essayez de remplir le résultat de la vue dans une table et essayez de mettre à jour la table directement.
3.3) Y a-t-il un déclencheur sur la table? Essayez de le désactiver pour voir s'il échoue toujours.
3.4) L'instruction contient-elle une vue non fusionnable dans une «sous-requête IN»? Cela peut entraîner le renvoi de lignes en double si la requête comporte une clause "FOR UPDATE". Voir le bogue 2681037
3.5) Le tableau contient-il des colonnes inutilisées? Les supprimer peut empêcher l'erreur.
4) Si la modification du SQL ne résout pas l'erreur, le problème peut provenir de la table, surtout s'il y a des lignes chaînées. 4.1) Exécutez l'instruction 'ANALYZE TABLE VALIDATE STRUCTURE CASCADE' sur toutes les tables utilisées dans le SQL pour voir s'il y a des corruptions dans la table ou ses index. 4.2) Vérifiez et éliminez toutes les RANGÉES EN CHAÎNE ou migrées sur la table. Il existe des moyens de minimiser cela, comme le réglage correct de PCTFREE. Remarque d'utilisation 122020.1 - Chaînage de lignes et migration 4.3) Si le tableau est également organisé par index, voir: Note 102932.1 - Surveillance des lignes chaînées sur les IOT