1. Przeliczanie statystyk bazy Oracle:
- przeliczanie przybliżone (szybsze, ale mniej dokładne):
begin dbms_utility.analyze_schema('NAZWA_SCHEMATU','ESTIMATE'); end;
/
- przeliczanie dokładne (działa dłużej, ponieważ analizuje wszystkie rekordy
begin dbms_utility.analyze_schema('NAZWA_SCHEMATU','COMPUTE'); end;
/
W miejsce NAZWA _SCHEMATU wpisujemy nazwę schematu, na który się podłączyliśmy i dla którego chcemy przeliczyć statystyki.
Dodatkowo można sprawdzić, kiedy ostatnio były przeliczane (aktualizowane) statystyki:
- należy podłączyć się do bazy na konto SYSTEM
select table_name,last_analyzed from dba_tables where owner='NAZWA_SCHEMATU' and last_analyzed is not null;
W miejsce NAZWA_SCHEMATU wpisujemy schemat, dla którego chcemy sprawdzić, kiedy były aktualizowane statystyki.
2. Włączenie zbierania statystyk
- podłączamy się do bazy danych i wykonujemy:
begin dbms_scheduler.enable('gather_stats_job'); end;
/
3. Wyłączenie zbierania statystyk
- podłączamy się do bazy danych i wykonujemy:
begin dbms_scheduler.disable('gather_stats_job'); end;
/
4. Usunięcie statystyk
- podłączamy się do bazy danych i wykonujmy:
begin dbms_utility.analyze_schema('NAZWA_SCHEMATU','DELETE'); end;
/ |