15 novembre 2009

OS Watcher

Ho scoperto da qualche giorno OS Watcher, un tool del "center of expertise" della Oracle, perché ho dovuto utilizzarlo per indagare su un problema di allocazione di memoria. In realtà mi è stato richiesto dal supporto Oracle, perché personalmente non avevo dubbi sulle performance, ma solo su un potenziale memory leak. Il dubbio è che OS Watcher sia diventato un po' il tool che viene fatto girare a chiunque si rivolga al supporto, indipendentemente dal suo problema specifico.

OS Watcher è una collezione di script di shell che utilizza gli strumenti Unix per controllare e registrare ciò che accade a livello di sistema operativo, in modo da aiutare il DBA a identificare eventuali problemi che gli sfuggono e che stanno tra il database e l'hardware.

L'installazione è semplicissima: basta scompattare l'archivio osw3b.tar scaricato da MOS, entrare nella directory osw e avviare la raccolta dei dati con (esempio):
$ nohup ./startOSW.sh 60 10

dove il primo parametro è il tempo di sampling in secondi, e il secondo parametro è la retention policy dei dati in ore. La linea di comando che ho riportato quindi imposta il campionamento una volta al minuto e cancella i file dei dati campionati più vecchi di 10 ore. Non serve nemmeno il "&" finale perché lo script fa ritornare immediatamente il prompt. nohup serve ad evitare che, uscendo dalla shell, venga fermato il processo principale.
Per fermare il monitor basta eseguire:
$ ./stopOSW.sh

Lo script rileva automaticamente la presenza e l'accessibilità delle utility Unix per il controllo del sistema come vmstat e top, crea una directory archive e vi immagazzina i dati.

Dall'ultima versione del 2009 OS Watcher viene distrubuito con OSWg, un'utility Java che visualizza graficamente i dati registrati.

OS Watcher risulta comunque utile a tutti, indipendentemente dall'utilizzo del database Oracle.

Vedere anche la nota MOS 301137.1

1 commento:

Cristian ha detto...

E' molto interessante, secondo me, per la relativa semplicità di installazione e d'uso. (Mi) domando solo una cosa: sar non fa le stesse cose?