Statspack

martedì 3 maggio 2011 alle 03:10 | Pubblicato su Performance Tuning | 3 commenti
Tag: , ,

Da una veloce ricerca nel blog mi sembra di non aver mai dedicato un intero post a Statspack, uno degli strumenti di monitoraggio e diagnosi delle prestazioni di Oracle più utile e potente. Siccome io lo utilizzo ancora, se non altro perché non è soggetto a licenze particolari come lo sono i nuovi strumenti introdotti dalla versione 10g di Oracle, è il caso di parlarne un po’. Probabilmente non l’ho mai fatto perché ritenevo che su internet ci fossero gia sufficenti informazioni, compresi i manuali Oracle; siccome però Oracle spinge sui nuovi strumenti a pagamento nascondendo di fatto le informazioni e siccome oggi ho incontrato un problema di cui voglio tener traccia qui, oggi finalmente dedico un breve post a questo potente strumento.

Statspack è un package PL/SQL e un insieme di tabelle che servono per raccogliere statistiche sul sistem Oracle. Statspac richiede una tablespace con almeno 100 MB libero, deve essere installato sul database da monitorare da un utente con privilegi SYSDABA. Lo script per l’installazione è $ORACLE_HOME/rdbms/admin/spcreate.sql.  Lo script creerà un utente PERFSTAT.

Statspack permette di fare delle fotografie del sistema (SNAPSHOT) ovvero sia di raccogliere  le statistiche che Oracle normalmente mantiene in in dato istante temporale. Per generare uno snapshot delle statistiche bisogna eseguire come utente PERFSTAT la procedura STATSPACK.SNAP(). Ci possono essere vari livelli di statistiche da 1 a 10, da meno dettagliate a più dettagliate (il default è 5). I parametri di default si cambiano in modo permanente con la procedura STATSPACK.MODIFY_STATSPACK_PARAMETER().

Per generare un report che consiste nel riassunto delle statistiche raccolte tra due snapshot si può usare lo script $ORACLE_HOME/rdbms/admin/spreport.sql. Lo script $ORACLE_HOME/rdbms/admin/sppurge.sql si può usare per eliminare vecchi snapshot.

Per disintallare statspack si usa lo script $ORACLE_HOME/rdbms/admin/spdrop.sql, da lanciare sempre con un utenza con privilegi SYSDBA.

Oggi per la prima volta da quando lo uso ho trovato un problema su statspack, su una installazione 10.2.0.3. Il problema si manifestava con l’errore

ORA-00001: unique constraint (PERFSTAT.STATS$MUTEX_SLEEP_PK) violated

al tentativo di creare uno snapshot.

Per fortuna qui ho subito trovato la descrizione e la soluzione al problema con il riferimento alla nota 382993.1 del supporto Oracle.

Approfitto anche per ricordare che Kerry Osborne tempo fa aveva parlato di statspack su 11g e di un paio di problemini che su questa versione sono sti introdotti.

3 commenti »

RSS feed for comments on this post. TrackBack URI

  1. Ciao,
    e’ sempre un piacere leggere i tuoi articoli, chiari essenziali e utili.
    Si potrebbe arricchire questo argomento riportando scripts che estraggono informazioni dalle tabelle STATS$_
    In effetti, come dici tu, statspack e’ uno strumento molto potente non solo quando genera reports ma per cio’ che contiene nel suo catalogo.
    Se penso quante volte mi ha tolto le castagne dal fuoco!!

    Cordiali saluti.
    lottini

    • ciao e grazie! Hai ragione, infatti una è una caratteristica che io non ho ancora mai sfruttato ma che Kerry Osborne ricorda, statspack è una specie di open-source, quindi modificabile ed estendibile per le proprie esigenze.

  2. io sono molto fortunato visto che ho la 10G in versione “all inclusive”, devo ammettere che Kerry Osborne ha perfettamente ragione, speriamo solo che Oracle continui a mantenere la funzionalità…


Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Crea un sito o un blog gratuitamente presso WordPress.com.
Entries e commenti feeds.

%d blogger cliccano Mi Piace per questo: