L'istanza Db2 non riesce a riavviarsi automaticamente dopo un guasto

Dopo un guasto, l'istanza Db2® potrebbe non essere riuscita a riavviare automaticamente. Questo argomento mostrerà come identificare e risolvere il guasto.

Importante: nella versione 11.5 Mod Pack 4 e versioni successive, l'uso di Pacemaker come gestore cluster in un failover automatico per lo standby HADR è un'anteprima tecnica. Ciò indica che dovrebbe essere limitato solo agli ambienti di sviluppo, di test e all'installazione di prova.

Identificazione del problema

Le seguenti voci di log da pacemaker - execd e pacemaker - controld indicano che l'agent risorse db2inst non è riuscito ad avviare l'istanza dopo aver raggiunto il timeout di 900 second secondi.

/var/log/pacemaker/pacemaker.log
219 May 19 13:16:08  db2inst(db2_db2tea1_db2inst1_0)[29069]:    INFO: start: 290: db2inst1: db2inst_start() entry.
220 May 19 13:16:08  db2inst(db2_db2tea1_db2inst1_0)[29069]:    WARNING: start: 487: psdid not list any process for db2sysc on node 0 after 5 retries. db2inst_monitor() exit with rc=1.
<...>
234 May 19 13:16:08  db2inst(db2_db2tea1_db2inst1_0)[29069]:    INFO: start: 184: db2inst1: Attempting to start partition(0) via db2gcf...
<...>
846 May 19 13:31:13 db2tea1.fyre.ibm.com pacemaker-based[12628] (cib_process_ping)     info: Reporting our current digest to kedge1: 329366e809df79e8eee7385e29f376d6 for 61.5713.41 (0x556f3945d0c0 0)
847 May 19 13:31:13 db2tea1.fyre.ibm.com pacemaker-execd[12630] (child_timeout_callback)    warning: db2_db2tea1_db2inst1_0_start_0 process (PID 29069) timed out
848 May 19 13:31:13 db2tea1.fyre.ibm.com pacemaker-execd[12630] (operation_finished)   warning: db2_db2tea1_db2inst1_0_start_0:29069 -timed out after 900000ms
849 May 19 13:31:13 db2tea1.fyre.ibm.com pacemaker-execd[12630] (log_finished)         info: finished -rsc:db2_db2tea1_db2inst1_0 action:startcall_id:54 pid:29069 exit-code:1 exec-time:900003ms queue-time:0ms
850 May 19 13:31:13 db2tea1.fyre.ibm.com pacemaker-controld[16247] (process_lrm_event)    error: Result of start operation for db2_db2tea1_db2inst1_0 on db2tea1: Timed Out | call=54 key=db2_db2tea1_db2inst1_0_start_0 timeout=900000ms

Le linee 219 & 220 sono voci tipiche registrate mentre l'istanza viene arrestata. Possono ripetere fino all'avvio dell'istanza e non indicano un problema. La voce di registrazione sulla riga 234 indica che Pacemaker sta tentando di avviare l'istanza.

Le linee 847-850, registrate circa 15 minutes minuti dopo, indicano che Pacemaker è in timeout in attesa della risorsa di istanza da avviare.

Risoluzione

I log di cui sopra indicano tipicamente che un problema si è verificato durante db2start. Utilizzare i seguenti passaggi per effettuare un ulteriore debug e risolvere il problema.
  1. Da notare la registrazione data / ora del tentativo di avvio dell'istanza (19 maggio 13:16:08 in alto sulla Linea 234).
  2. Individuare il db2diag.log dell'host corrente.
  3. Cerca in avanti dalla data / ora notata al passo #1 per gli errori da "db2start", "db2star2" o "db2sysc".
  4. Una delle voci dovrebbe indicare l'SQLCODE o ci possono essere altri errori in precedenza che forniranno un indizio al guasto.
  5. Risolvere l'errore, eseguire ipclean -a come proprietario dell'istanza.
  6. Riavviare l'istanza manualmente.