NMDA : Les sauvegardes de snapshot IBM DB2 ne répondent pas
Summary: NetWorker Module for Databases and Applications (NMDA) Les sauvegardes de snapshot IBM DB2 ne répondent pas.
Symptoms
Les sauvegardes de snapshot NMDA IBM DB2 ne répondent pas.
La base de données DB2 est en mode de suspension d’écriture.
Erreur dans 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
Le workflow DB2 fonctionne comme suit :
Appels DB2 db2ACSPrepare() dans la bibliothèque NMDA DB2 pour effectuer la préparation initiale afin de préparer le snapshot matériel. Une fois cette opération effectuée, DB2 Database Manager suspend la base de données et appelle la fonction NMDA DB2 db2ACSSnapshot(). Dans ce cas, DB2 n’appelle pas db2ACSSnapshot(). Le workflow cesse de répondre pour que le moteur DB2 poursuive la sauvegarde. Support IBM PMR : 29538,004,000 est ouvert. L’équipe d’ingénierie IBM DB2 a besoin de plus de débogage pour déterminer la cause première de ce blocage.
Resolution
Solution de contournement :
- Annuler la sauvegarde actuelle
- Sortir la base de données du mode de suspension d’écriture
Afin de découvrir la cause première, le support IBM DB2 demande les informations suivantes pour une enquête plus approfondie,
- Supprimez ou déplacez les piles ou les vidages dans le répertoire db2dump. Il crée de nouvelles piles ou vidages sans mélanger les anciens. (Chemin UNIX/Linux :
/$INSTHOME/sqllib/db2dump) - DB2 trace pendant une courte période :
db2trc on -f trace.dmp wait about 30 seconds db2trc off db2trc fmt trace.dmp trace.fmt db2trc flw trace.dmp trace.flw
- Rassemblez les piles :
db2pd -stack all -rep 5 5
- Une fois l’étape ci-dessus terminée, exécutez
procstack <PID> > db2vend.pstack.out
Le <PID> est l’ID de processus dudb2vendpour la base de données. - Ensuite, obtenez la session de sauvegarde des snapshots,
db2 get snapshot for applications on <dbname> > db2snap.out
- Vous pouvez maintenant définir une reprise d’écriture, puis réessayer la sauvegarde de snapshot pour voir si elle se termine.
- Recueillez un db2support.zip comme suit :
db2support . -d <dbname> -c -s
- Compressez et envoyez à IBM PMR :
trace.dmptrace.fmttrace.flwdb2vend.pstack.outdb2snap.outdb2support.zip