Statistieken van datawoordenboeken of vaste objecten kunnen oud zijn, probeer ze opnieuw te verzamelen:
exec dbms_stats.gather_dictionary_stats;
exec dbms_stats.gather_fixed_objects_stats;
alter system flush shared_pool;
Zelfs dat levert niet noodzakelijkerwijs statistieken op voor alle systeem objecten. Sommige objecten, zoals X$KFTBUE
, moet handmatig worden verzameld. Hoewel dat een zeldzaam datadictionary-probleem is dat hier misschien niet relevant is.
Als dat niet werkt, zijn de volgende mogelijke stappen het bekijken van tools zoals SQL Tuning Advisor om een profiel te maken, of het gebruik van SQL Plan Management om de optimizer te dwingen een specifiek plan te gebruiken dat eerder heeft gewerkt. Het afstemmen van een datadictionary-query kan erg moeilijk zijn, omdat je niet veel controle hebt.