Le dictionnaire de données ou les statistiques d'objets fixes sont peut-être anciens, essayez de les rassembler à nouveau :
exec dbms_stats.gather_dictionary_stats;
exec dbms_stats.gather_fixed_objects_stats;
alter system flush shared_pool;
Même cela ne rassemble pas nécessairement des statistiques pour tous objets système. Certains objets, comme X$KFTBUE
, doivent être collectées manuellement. Bien qu'il s'agisse d'un problème de dictionnaire de données rare qui peut ne pas être pertinent ici.
Si cela ne fonctionne pas, les prochaines étapes possibles consistent à utiliser des outils tels que SQL Tuning Advisor pour créer un profil ou à utiliser SQL Plan Management pour forcer l'optimiseur à utiliser un plan spécifique qui a fonctionné auparavant. Le réglage d'une requête de dictionnaire de données peut être très difficile car vous n'avez pas beaucoup de contrôle.