Stato e visibilità del contatore
Tra gli elementi di monitoraggio raccolti dal monitor di sistema vi sono diversi contatori di accumulo. Questi contatori vengono incrementati durante il funzionamento del database o del gestore di database, ad esempio ogni volta che un'applicazione esegue il commit di una transazione.
I contatori vengono inizializzati quando l'oggetto corrispondente diventa attivo. Ad esempio, il numero di pagine del buffer pool lette per un database (un elemento di base del monitor) è impostato su zero quando il database viene attivato.
Alcuni contatori che possono essere raccolti dal monitor di sistema sono controllati dagli interruttori del monitor. Se un particolare interruttore del monitor è spento, gli elementi del monitor sotto il suo controllo non raccolgono dati. Quando si accende un interruttore del monitor, tutti i contatori associati vengono azzerati.
I contatori restituiti dai monitor di eventi vengono azzerati quando il monitor di eventi viene attivato.
- Avvio del monitor eventi, per database, spazio tabelle e tabelle.
- Avvio del monitor eventi, per le connessioni esistenti.
- Connessione all'applicazione, per le connessioni effettuate dopo l'avvio del monitor.
- Inizio della transazione (unità di lavoro) o dell'istruzione successiva all'avvio del monitor.
- Si è verificato un blocco dopo l'avvio del monitor.
Ogni monitor di eventi e ogni applicazione di monitoraggio (un'applicazione che utilizza le API del monitor snapshot) ha la propria vista logica dei dati del monitor di sistema. Ciò significa che quando i contatori vengono azzerati o inizializzati, hanno effetto solo sul monitor eventi o sull'applicazione che li ha azzerati o inizializzati. I contatori del monitor eventi non possono essere azzerati, se non spegnendo e riaccendendo il monitor eventi. Un'applicazione che esegue le istantanee può azzerare la propria visualizzazione dei contatori in qualsiasi momento utilizzando il comando RESET MONITOR.
Se si avvia un monitor di eventi dopo l'avvio di un'istruzione, il monitor inizierà a raccogliere informazioni all'avvio dell'istruzione SQL successiva. Di conseguenza, il monitor degli eventi non restituirà informazioni sulle istruzioni che il gestore di database sta eseguendo quando il monitor è stato avviato. Questo vale anche per le informazioni sulle transazioni.