STATSPACK jest jednym z kilku mechanizmów Oracle pozwalający na badanie wydajności
bazy danych. Można go uznać za pewnego rodzaju udoskonalenie skryptów UTLBSTAT i
UTLESTAT. Poza informacjami generującymi przez te skrypty pakiet STATSPACK dysponuje
dodatkowymi informacjami.
W celu zainstalowania pakietu należy uruchomić skrypt spcreate.sql znajdujący się w
standardowym katalogu ORACLE_HOME/rdbms/admin/.
Skrypt ten tworzy specjalnego użytkownika PERFSTAT wraz z obiektami potrzebnymi do
badania wydajności i za pomocą tego pakietu. Ze względu na bezpieczeństwo zaraz po
uruchomieniu skryptu spcreate.sql należy zmienić hasło użytkownika PERFSTAT, które
standardowo ustawiono na PERFSTAT. Wszystkie operacje za pomocą tego pakietu dalej
powinny być wykonywane przez użytkownika PERFSTAT.
Za pomocą tego pakietu generowane są specjalne migawki zawierające informacje
wydajnościowe opisujące stan bazy podczas generowania tej migawki. Możemy
generować kilka takich migawek, a następnie za pomocą pakietu STATSPACK możemy
porównywać różnice pomiędzy migawkami wydajnościowymi zebranymi w rożnym czasie.
Dzieje się tak dlatego, że każda migawka ma swój własny identyfikator, który w
tabelach wydajnościowych utworzonych skryptem spcreate.sql grupuje informacje
związane z jedna migawka. Aby wygenerować migawkę należy uruchomić procedurę SNAP
pakietu STATSPACK:
execute STATSPACK.SNAP;
Wszystkie parametry związane z generowaniem tej migawki można modyfikować procedura
MODIFY_STATSPACK_PARAMETER w przypadku, kiedy nie odpowiadają nam domyślne wartości
tych parametrów. Parametrami tymi są:
i_snap_level : poziom migawki
i_ucomment : komentarz do migawki
i_executions_th : próg liczby wykonań
i_disc_reads_th : próg operacji odczytu z dysku
i_parse_cals_th : próg liczby parsowań
i_bufer_gets_th : próg operacji odczytu z bufora
i_sharable_mem_th : próg wykorzystania wspólnej pamięci
i_version_count_th : próg dla liczby wersji instrukcji SQL
i_sesion_id : identyfikator sesji, w przypadku, jeśli statystyki dotyczy konkretnej sesji
i_modify_parameter : wartość logiczna TRUE lub FALSE określa, czy zmiana parametru ma dotyczyć również kolejnych migawek.
Przykład:
execute STATSPACK.MODIFY_STATSPACK_PARAMETER( i_snap_level->4, i_modify_parameter->TRUE);
Aby wygenerować raport należy uruchomić skrypt spreport.sql. Ważne jest, aby
przed uruchomieniem tego skryptu dokonać analizy schematu STATSPACK za pomocą
polecenia:
execute DBMS_UTILITY_SCHEMA('PERFSTAT','COMPUTE');
W celu usunięcia starych niepotrzebnych danych statystycznych należy uruchomić
skrypt sppurge.sql. Innym sposobem usunięcia niepotrzebnych danych znajdujących
się w tabelach wydajnościowych jest obcięcie tabel za pomocą skryptu sptrunc.sql.
W celu odinstalowania pakietu STATSPACK należy wykonać skrypt spdrop.sql.
Powrót
|