NMDA: Os backups de snapshot IBM DB2 não respondem
Resumo: Os backups de snapshot IBM DB2 do NetWorker Module for Databases and Applications (NMDA) não respondem.
Sintomas
Os backups de snapshot do IBM DB2 do NMDA não respondem.
O banco de dados do DB2 é o modo de suspensão de gravação.
Erro em 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. ------------------------------------------
Causa
O fluxo de trabalho do DB2 funciona como:
DB2 chama db2ACSPrepare() na biblioteca do DB2 do NMDA para fazer a preparação inicial e preparar-se para o snapshot de hardware. Feito isso, o gerenciador de banco de dados do DB2 suspende o banco de dados e chama a função NMDA DB2 db2ACSSnapshot(). Nesse caso, o DB2 não chama db2ACSSnapshot(). O fluxo de trabalho para de responder para que o mecanismo do DB2 continue o backup. PMR de suporte IBM: 29538.004.000 é aberto. A engenharia do IBM DB2 precisa de mais depuração para determinar a causa raiz desse travamento.
Resolução
Solução temporária:
- Cancelar o backup atual
- Retire o banco de dados do modo de suspensão de gravação
Para descobrir a causa raiz, o suporte do IBM DB2 solicita as seguintes informações para investigação adicional,
- Exclua ou realoque quaisquer pilhas ou dumps no diretório db2dump. Ele cria novas pilhas ou dumps sem misturar as antigas. (Caminho do UNIX/Linux:
/$INSTHOME/sqllib/db2dump) - Rastreamento do DB2 por um curto período:
db2trc on -f trace.dmp wait about 30 seconds db2trc off db2trc fmt trace.dmp trace.fmt db2trc flw trace.dmp trace.flw
- Reúna pilhas:
db2pd -stack all -rep 5 5
- Depois que a etapa acima for concluída, execute,
procstack <PID> > db2vend.pstack.out
O <PID> é o ID do processo dodb2vendpara o banco de dados. - Em seguida, obtenha a sessão de backup de snapshot,
db2 get snapshot for applications on <dbname> > db2snap.out
- Agora você pode definir a gravação retomar e, em seguida, tente o backup de snapshot novamente para ver se ele é concluído.
- Reúna uma db2support.zip da seguinte maneira:
db2support . -d <dbname> -c -s
- Zip e envio para o IBM PMR:
trace.dmptrace.fmttrace.flwdb2vend.pstack.outdb2snap.outdb2support.zip