Analisi dei file di log db2diag mediante lo strumento db2diag
Il file di registro principale destinato agli amministratori del database e del sistema è il registro delle notifiche di amministrazione. I file di log db2diag sono destinati all'assistenza software IBM per la risoluzione dei problemi.
Anche i messaggi di log di notifica dell'amministrazione vengono registrati nei file di log di db2diag utilizzando un formato di messaggio standardizzato.
Lo strumento db2diag serve a filtrare e formattare la mole di informazioni disponibili nei file di log di db2diag. Il filtraggio dei record dei file di log di db2diag può ridurre il tempo necessario per individuare i record necessari alla risoluzione dei problemi.
Esempio 1: Filtrare i file di log di db2diag per nome del database
db2diag -g db=SAMPLE2006-02-15-19.31.36.114000-300 E21432H406 LEVEL: Error
PID : 940 TID : 660 PROC : db2syscs.exe
INSTANCE: DB2 NODE : 000 DB : SAMPLE
APPHDL : 0-1056 APPID: *LOCAL.DB2.060216003103
FUNCTION: Db2, base sys utilities, sqleDatabaseQuiesce, probe:2
MESSAGE : ADM7507W Database quiesce request has completed successfully.Esempio 2: Filtrare i file di log di db2diag per ID di processo
db2diag -g level=Severe,pid=2200 -n 0,1,2,32006-02-13-14.34.36.027000-300 I18366H421 LEVEL: Severe
PID : 2200 TID : 660 PROC : db2syscs.exe
INSTANCE: DB2 NODE : 000 DB : SAMPLE
APPHDL : 0-1433 APPID: *LOCAL.DB2.060213193043
FUNCTION: Db2, data management, sqldPoolCreate, probe:273
RETCODE : ZRC=0x8002003C=-2147352516=SQLB_BAD_CONTAINER_PATH
"Bad container path"Esempio 3: Formattazione dell'output dello strumento db2diag
db2diag -time 2006-01-01 -node "0,1,2" -level "Severe, Error" | db2diag -fmt
"Time: %{ts}
Partition: %node Message Level: %{level} \nPid: %{pid} Tid: %{tid}
Instance: %{instance}\nMessage: @{msg}\n"Time: 2006-02-15-19.31.36.099000 Partition: 000 Message Level: Error
Pid: 940 Tid:940 Instance: DB2
Message: ADM7506W Database quiesce has been requested.- db2diag -help fornisce una breve descrizione di tutte le opzioni disponibili
- db2diag -h brief fornisce descrizioni per tutte le opzioni senza esempi
- db2diag -h notes fornisce note e restrizioni d'uso
- db2diag -h examples fornisce una piccola serie di esempi per iniziare
- db2diag -h tutorial fornisce esempi per tutte le opzioni disponibili
- db2diag -h all fornisce l'elenco più completo di opzioni
Esempio 4: filtrare i messaggi provenienti da strutture diverse
- ALL che restituisce i record di tutte le strutture
- MAIN che restituisce i record dei log di diagnostica generale Db2®, come i file di log db2diag e il log di notifica dell'amministrazione
- OPTSTATS, che restituisce i record relativi alle statistiche dell'ottimizzatore
db2diag -facility MAINdb2diag -fac OPTSTATS -level Severedb2diag -fac all -g instance=harmistr,level=Errordb2diag -fac optstats -level Error -fmt " Time :%{ts} Pid :%{pid}"Esempio 5: unione di file e ordinamento dei record in base alla data e all'ora
Questo esempio mostra come unire due o più file di log db2diag e ordinare i record in base ai timestamp.
- db2diag.0.logcontiene i record di Livello:Errore con le seguenti date:
- 2009-02-26-05.28.49.822637
- 2009-02-26-05.28.49.835733
- 2009-02-26-05.28.50.258887
- 2009-02-26-05.28.50.259685
- db2diag.1.logcontiene i record di Livello:Errore con le seguenti date:
- 2009-02-26-05.28.11.480542
- 2009-02-26-05.28.49.764762
- 2009-02-26-05.29.11.872184
- 2009-02-26-05.29.11.872968
db2diag -merge db2diag.0.log db2diag.1.log -fmt %{ts} -level error- 2009-02-26-05.28.11.480542
- 2009-02-26-05.28.49.764762
- 2009-02-26-05.28.49.822637
- 2009-02-26-05.28.49.835733
- 2009-02-26-05.28.50.258887
- 2009-02-26-05.28.50.259685
- 2009-02-26-05.29.11.872184
- 2009-02-26-05.29.11.872968
Esempio 6: unione dei file di percorso delle directory diagnostiche da un singolo host e ordinamento dei record in base ai timestamp
- ~/sqllib/db2dump/DIAG0000/db2diag.log
- ~/sqllib/db2dump/DIAG0001/db2diag.log
- ~/sqllib/db2dump/DIAG0002/db2diag.log
db2diag -mergeEsempio 7: Unione dei file di percorso delle directory diagnostiche da più host e partizioni di database
bower e horton. L'elenco seguente mostra i sei file di log di db2diag :- ~/sqllib/db2dump/HOST_bower/DIAG0000/db2diag.log
- ~/sqllib/db2dump/HOST_bower/DIAG0001/db2diag.log
- ~/sqllib/db2dump/HOST_bower/DIAG0002/db2diag.log
- ~/sqllib/db2dump/HOST_horton/DIAG0003/db2diag.log
- ~/sqllib/db2dump/HOST_horton/DIAG0004/db2diag.log
- ~/sqllib/db2dump/HOST_horton/DIAG0005/db2diag.log
db2diag -globalbower e horton e formattare l'output in base al timestamp, eseguire il seguente comando:db2diag -global -merge -sdir /temp/keon -fmt %{ts}dove /temp/keon è una directory condivisa, condivisa dagli host bower e horton, per memorizzare i file temporanei uniti da ciascun host durante l'elaborazione.Esempio 8: filtrare e unire solo le voci recenti del registro di diagnostica
db2diag -lastrecords 5 -global -merge -sdir /home/vbmithun -fmt %{ts}
2010-10-08-04.46.02.092192
2010-10-08-04.46.02.092821
2010-10-08-04.46.02.093497
2010-10-08-04.46.02.094431
2010-10-08-04.46.02.095317
2010-10-08-04.46.05.068648
2010-10-08-04.46.05.069212
2010-10-08-04.46.05.069900
2010-10-08-04.46.05.071008
2010-10-08-04.46.05.071831
2010-10-08-04.46.07.302051
2010-10-08-04.46.07.302727
2010-10-08-04.46.07.303544
2010-10-08-04.46.07.304647
2010-10-08-04.46.07.305391È inoltre possibile filtrare ulteriormente i record di log diagnostici recenti per restituire solo i messaggi di un livello specifico. Ad esempio, per visualizzare solo i record degli ultimi 10 record che presentano un livello di messaggio grave, immettere:$ db2diag db2diag.log -lastrecords 10 -level Severe -fmt %{ts}
2010-08-11-04.11.33.733807
2010-08-11-04.11.33.735398 Esempio 9: Archiviazione dei file di log db2diag
$ db2diag -A
db2diag: Moving "/home/usr1/clidriver/db2dump/db2diag.log"
to "/home/usr1/clidriver/db2dump/db2diag.log_2010-09-14-01.16.26"
$ db2diag -x
db2diag: Unrecognized option: -x
$ db2diag -pid 1234
db2diag: Unrecognized option: -pid