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
|