NMDA: I backup delle istantanee IBM DB2 non rispondono
Summary: I backup delle istantanee IBM DB2 di NetWorker Module for Databases and Applications (NMDA) non rispondono.
Symptoms
I backup delle istantanee IBM DB2 NMDA non rispondono.
Il database DB2 è in modalità di sospensione della scrittura.
Errore in db2diag.log
Warning: ---------------------------------------- 2016-05-20-15.05.16.771114+000 E7423877A808 LEVEL: Warning PID : 7733668 TID : 47390 PROC : db2sysc 0 INSTANCE: <instance_name> NODE : 000 DB : APPHDL : 0-57647 APPID: <app_id> AUTHID : EDUID : 47390 EDUNAME: db2agent (instance) 0 FUNCTION: DB2 UDB, database monitor, sqm___sqlmonssagnt, probe:1234 DATA #1 : <preformatted> This occurs when any snapshot other than list applications is attempted on a database that is write suspended. This is necessary due to latching conflicts. This database is skipped in the snapshot, but other databases should still be processed. Skipping database '<db_name>'. For more information on write suspend, please see the 'db2 set write suspend for database' command. ------------------------------------------
Cause
Il flusso di lavoro DB2 funziona come:
chiamate DB2 db2ACSPrepare() nella libreria NMDA DB2 per eseguire la preparazione iniziale per l'istantanea hardware. Al termine di questa operazione, DB2 Database Manager sospende il database e chiama la funzione NMDA DB2 db2ACSSnapshot(). In questo caso, DB2 non chiama db2ACSSnapshot(). Il flusso di lavoro smette di rispondere per consentire all'engine DB2 di continuare il backup. PMR di supporto IBM: 29538.004.000 è aperto. La progettazione IBM DB2 richiede ulteriori debug per determinare la causa principale di questo blocco.
Resolution
Soluzione alternativa:
- Annullamento del backup corrente
- Disconnettere il database dalla modalità di sospensione della scrittura
Al fine di scoprire la causa principale, il supporto IBM DB2 richiede le seguenti informazioni per ulteriori indagini,
- Eliminare o riposizionare eventuali stack o dump nella directory db2dump. Crea nuovi stack o dump senza mescolare quelli vecchi. (percorso UNIX/Linux:
/$INSTHOME/sqllib/db2dump) - Tracciare DB2 per un breve periodo:
db2trc on -f trace.dmp wait about 30 seconds db2trc off db2trc fmt trace.dmp trace.fmt db2trc flw trace.dmp trace.flw
- Raccogli pile:
db2pd -stack all -rep 5 5
- Al termine del passaggio precedente, eseguire,
procstack <PID> > db2vend.pstack.out
Il <PID> è l'ID processo didb2vendprocesso per il database. - Ottenere la sessione di backup delle istantanee,
db2 get snapshot for applications on <dbname> > db2snap.out
- A questo punto è possibile impostare write resume, quindi provare nuovamente il backup dell'istantanea e verificare se viene completato.
- Raccogliere una db2support.zip come segue:
db2support . -d <dbname> -c -s
- Comprimere e inviare a IBM PMR:
trace.dmptrace.fmttrace.flwdb2vend.pstack.outdb2snap.outdb2support.zip