1. Glosar/

Snapshot (Oracle)

Snapshot in Oracle este o captura punctuala a statisticilor de performanta ale bazei de date stocata in repository-ul AWR. Implicit Oracle genereaza un snapshot la fiecare 60 de minute si le pastreaza timp de 8 zile.

Cum functioneaza #

Fiecare snapshot inregistreaza sute de metrici: wait events, statistici SQL, metrici de memorie (SGA, PGA), I/O per datafile, statistici de sistem. Compararea a doua snapshot-uri genereaza raportul AWR, care arata ce s-a schimbat intre cele doua momente.

Snapshot-uri manuale #

In situatii de urgenta se poate genera un snapshot manual pentru a captura starea curenta:

EXEC DBMS_WORKLOAD_REPOSITORY.create_snapshot;

Acest lucru este util cand vrei un punct de referinta imediat — de exemplu, inainte si dupa un deploy — fara a astepta ciclul automat.

Gestionare #

Snapshot-urile sunt accesibile prin view-ul DBA_HIST_SNAPSHOT. Retentia (cate zile sa le pastrezi) si intervalul (la cate minute sa le generezi) se configureaza cu:

EXEC DBMS_WORKLOAD_REPOSITORY.modify_snapshot_settings(
  retention => 43200,   -- 30 zile in minute
  interval  => 30       -- la fiecare 30 minute
);

De ce sunt importante #

Fara snapshot-uri, nu exista AWR. Fara AWR, diagnosticarea unui problem de performanta devine un exercitiu de intuitie in loc de o analiza bazata pe date. Snapshot-urile sunt fundatia observabilitatii in Oracle.