File di log del governatore

Ogni qualvolta un daemon del governatore esegue un'azione, scrive un record al suo file di log.

Le azioni includono quanto segue:
  • Avvio o arresto del governatore
  • Lettura del file di configurazione del governatore
  • Modifica della priorità di un'applicazione
  • Forzatura di un'applicazione
  • Incontri di un errore o di un avviso

Ogni daemon del governatore ha un file di log separato, che impedisce le strozzature di blocco dei file che potrebbero risultare quando molti dadi di governatore tentano di scrivere nello stesso file contemporaneamente. Per interrogare i file di log del governor, utilizzare il comando db2govlg .

I file di log sono memorizzati nella sottodirectory log della directory sqllib , ad eccezione dei sistemi operativi Windows, dove la sottodirectory log si trova nella directory Common Application Data che i sistemi operativi Windows utilizzano per ospitare i file di log dell'applicazione. Fornire il nome di base per il file di log quando si avvia il governor con il comando db2gov . Assicurarsi che il nome del file di log contenga il nome del database per distinguere i file di log su ogni partizione di database governata. Per garantire che il nome del file sia univoco per ciascun governatore in un ambiente di database partizionato, il numero della partizione di database su cui viene eseguito il daemon del governatore viene accostato automaticamente al nome del file di log.

Formato record file di log

Ogni record nel file di log ha il seguente formato:
   Date Time DBPartitionNum RecType Message
Il formato dei campi Data e Ora è yyyy-mm-dd-hh.mm.ss. È possibile unire i file di log per ogni partizione del database ordinando su questo campo. Il campo DBPartitionNum contiene il numero della partizione del database su cui è in esecuzione il governor.
Il campo RecType contiene valori differenti, a seconda del tipo di record scritto nel log. I valori che possono essere registrati sono:
  • ACCOUNT: le statistiche di contabilità dell'applicazione
  • ERRORE: si è verificato un errore
  • FORCE: un'applicazione è stata forzata
  • NICE: la priorità di un'applicazione è stata modificata
  • READCFG: il governatore ha letto il file di configurazione
  • SCHEDGRP: si è verificato un cambiamento delle priorità dell'agente
  • START: il governatore è stato avviato
  • STOP: il governatore è stato fermato
  • WARNING: si è verificato un avviso
Alcuni di questi valori sono descritti più dettagliatamente nel seguente elenco.
ACCOUNT
Un record ACCOUNT è scritto nelle seguenti situazioni:
  • Il valore dell'elemento di monitoraggio agent_usr_cpu_time o agent_sys_cpu_time per un'applicazione è stato modificato da quando è stato scritto l'ultimo record ACCOUNT per questa applicazione.
  • Un'applicazione non è più attiva.
Il record ACCOUNT ha il seguente formato:
<auth_id> <appl_id> <applname> <connect_time> <agent_usr_cpu_delta>
  <agent_sys_cpu_delta>
ERRORE
Un record di ERROR viene scritto quando il daemon del governatore deve chiudere.
FORCE
Un record FORCE viene scritto quando il governatore costringe un'applicazione, basata su regole nel file di configurazione del governatore. Il record FORCE ha il seguente formato:
<appl_name> <auth_id> <appl_id> <coord_partition> <cfg_line>
  <restriction_exceeded>
in cui:
partizione coord_partizione
Specifica il numero della partizione di database del coordinatore dell'applicazione.
cfg_line
Specifica il numero di riga nel file di configurazione del governatore in cui si trova la regola che provoca la forzatura dell'applicazione.
limitazione_superato
Fornisce dettagli su come la regola è stata violata. I valori validi sono:
  • CPU: l'applicazione totale USR CPU più il tempo di CPU SYS, in secondi
  • Blocchi: il numero totale di blocchi mantenuti dall'applicazione
  • Rowssel: il numero totale di righe selezionate dall'applicazione
  • Rowsread: il numero totale di righe lette dall'applicazione
  • Idle: la quantità di tempo durante il quale l'applicazione era inattiva
  • ET: il tempo trascorso dall'avvio dell'attuale unità di lavoro dell'applicazione (il uowtime setlimit è stato superato)
Nice
Un record NICE viene scritto quando il governatore cambia la priorità di un'applicazione, basata su regole nel file di configurazione del governatore. Il record NICE ha il seguente formato:
<appl_name> <auth_id> <appl_id> <nice_value> <cfg_line>
  <restriction_exceeded>
in cui:
valore_bello
Specifica l'incremento o il decremento che verrà fatto al valore di priorità per il processo di agente dell'applicazione.
cfg_line
Specifica il numero di riga nel file di configurazione del governatore in cui si trova la regola che provoca la modifica della priorità dell'applicazione.
limitazione_superato
Fornisce dettagli su come la regola è stata violata. I valori validi sono:
  • CPU: l'applicazione totale USR CPU più il tempo di CPU SYS, in secondi
  • Blocchi: il numero totale di blocchi mantenuti dall'applicazione
  • Rowssel: il numero totale di righe selezionate dall'applicazione
  • Rowsread: il numero totale di righe lette dall'applicazione
  • Idle: la quantità di tempo durante il quale l'applicazione era inattiva
  • ET: il tempo trascorso dall'avvio dell'attuale unità di lavoro dell'applicazione (il uowtime setlimit è stato superato)
SCHEDGRP
Un record SCHEDGRP viene scritto quando un'applicazione viene aggiunta ad un gruppo di pianificazione o un'applicazione viene spostata da un gruppo di pianificazione a un altro. Il record SCHEDGRP ha il seguente formato:
<appl_name> <auth_id> <appl_id> <cfg_line> <restriction_exceeded>
in cui:
cfg_line
Specifica il numero di riga nel file di configurazione del governatore in cui si trova la regola che provoca l'applicazione della domanda.
limitazione_superato
Fornisce dettagli su come la regola è stata violata. I valori validi sono:
  • CPU: l'applicazione totale USR CPU più il tempo di CPU SYS, in secondi
  • Blocchi: il numero totale di blocchi mantenuti dall'applicazione
  • Rowssel: il numero totale di righe selezionate dall'applicazione
  • Rowsread: il numero totale di righe lette dall'applicazione
  • Idle: la quantità di tempo durante il quale l'applicazione era inattiva
  • ET: il tempo trascorso dall'avvio dell'attuale unità di lavoro dell'applicazione (il uowtime setlimit è stato superato)
INIZIO
Un record START è scritto quando inizia il governatore. Il record START ha il seguente formato:
Database = <database_name>
STOP
Un record STOP è scritto quando il governatore si arresta. Ha il seguente formato:
Database = <database_name>
AVVERTENZA
Un record WARNING è scritto nelle seguenti situazioni:
  • L'API sqlefrce è stata richiamata per forzare un'applicazione, ma ha restituito un SQLCODE positivo.
  • Una chiamata istantanea ha restituito un SQLCODE positivo che non era 1611 (SQL1611W).
  • Una chiamata istantanea ha restituito un SQLCODE negativo che non era -1224 (SQL1224N) o -1032 (SQL1032N). Questi codici di ritorno si verificano quando un'istanza precedentemente attiva è stata arrestata.
  • Su Linux® e UNIX, un tentativo di installazione di un gestore del segnale ha avuto esito negativo.

Poiché i valori standard sono scritti, è possibile interrogare i file di log per diversi tipi di azioni. Il campo Messaggio fornisce altre informazioni non standard che dipendono dal tipo di record. Ad esempio, un record FORCE o NICE include le informazioni sull'applicazione nel campo Messaggio , mentre un record di ERROR include un messaggio di errore.

Un file di log del governatore potrebbe sembrare il seguente esempio:
2007-12-11-14.54.52    0 START      Database = TQTEST
2007-12-11-14.54.52    0 READCFG    Config = /u/db2instance/sqllib/tqtest.cfg
2007-12-11-14.54.53    0 ERROR      SQLMON Error: SQLCode = -1032
2007-12-11-14.54.54    0 ERROR      SQLMONSZ Error: SQLCode = -1032