Słownik danych lub statystyki obiektów stałych mogą być stare, spróbuj je ponownie zebrać:
exec dbms_stats.gather_dictionary_stats;
exec dbms_stats.gather_fixed_objects_stats;
alter system flush shared_pool;
Nawet to niekoniecznie zbiera statystyki dla wszystkich obiekty systemowe. Niektóre obiekty, takie jak X$KFTBUE
, należy zebrać ręcznie. Chociaż jest to rzadki problem ze słownikiem danych, który może nie mieć tutaj znaczenia.
Jeśli to nie zadziała, następne możliwe kroki to skorzystanie z narzędzi takich jak SQL Tuning Advisor w celu utworzenia profilu lub użycie zarządzania planami SQL w celu wymuszenia na optymalizatorze użycia konkretnego planu, który działał wcześniej. Dostrajanie zapytania ze słownika danych może być bardzo trudne, ponieważ nie masz dużej kontroli.