NMDA: Kopie zapasowe migawek IBM DB2 nie odpowiadają
Podsumowanie: Moduł NetWorker dla baz danych i aplikacji (NMDA) Kopie zapasowe migawek IBM DB2 nie odpowiadają.
Objawy
Kopie zapasowe migawek NMDA IBM DB2 nie odpowiadają.
Baza danych DB2 jest w trybie wstrzymania zapisu.
Błąd w 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. ------------------------------------------
Przyczyna
Proces roboczy DB2 działa jako:
Wywołania DB2 db2ACSPrepare() w bibliotece NMDA DB2, aby wykonać wstępne przygotowanie do migawki sprzętu. Po wykonaniu tej czynności Menedżer bazy danych DB2 zawiesza bazę danych i wywołuje funkcję NMDA DB2 db2ACSSnapshot(). W takim przypadku baza danych DB2 nie wywołuje db2ACSSnapshot(). Przepływ pracy przestaje reagować, aby silnik DB2 mógł kontynuować tworzenie kopii zapasowej. IBM wspiera PMR: 29538 004 000 jest otwartych. Inżynierowie IBM DB2 wymagają więcej debugowania, aby określić główną przyczynę tego zawieszenia.
Rozwiązanie
Obejście problemu:
- Anuluj bieżącą kopię zapasową
- Wyprowadź bazę danych z trybu wstrzymania zapisu
Aby odkryć pierwotną przyczynę, IBM DB2 Support prosi o następujące informacje w celu dalszego zbadania:
- Usuń lub przenieś wszystkie stosy lub zrzuty w katalogu db2dump. Tworzy nowe stosy lub zrzuty bez mieszania starych. (Ścieżka UNIX/Linux:
/$INSTHOME/sqllib/db2dump) - DB2 śledź przez krótką chwilę:
db2trc on -f trace.dmp wait about 30 seconds db2trc off db2trc fmt trace.dmp trace.fmt db2trc flw trace.dmp trace.flw
- Zbieraj stosy:
db2pd -stack all -rep 5 5
- Po wykonaniu powyższego kroku uruchom polecenie
procstack <PID> > db2vend.pstack.out
<PID> to identyfikator procesudb2vendprocesu dla bazy danych. - Następnie pobierz sesję kopii zapasowej migawki,
db2 get snapshot for applications on <dbname> > db2snap.out
- Teraz możesz ustawić wznawianie zapisu, a następnie spróbować ponownie wykonać kopię zapasową migawki i sprawdzić, czy zakończy się.
- Zbierz db2support.zip w następujący sposób:
db2support . -d <dbname> -c -s
- Skompresuj i wyślij do IBM PMR:
trace.dmptrace.fmttrace.flwdb2vend.pstack.outdb2snap.outdb2support.zip