NMDA: IBM DB2 anlık görüntü yedeklemeleri yanıt vermiyor
Summary: Veritabanları ve Uygulamalar için NetWorker Modülü (NMDA) IBM DB2 anlık görüntü yedeklemeleri yanıt vermiyor.
Symptoms
NMDA IBM DB2 anlık görüntü yedeklemeleri yanıt vermiyor.
DB2 veritabanı yazma askıya alma modundadır.
Hata 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
DB2 iş akışı şu şekilde çalışır:
DB2 çağrıları db2ACSPrepare() Donanım anlık görüntüsüne hazırlanmak için ilk hazırlığı yapmak üzere NMDA DB2 kitaplığında. Bu işlem tamamlandıktan sonra, DB2 Database Manager veritabanını askıya alır ve NMDA DB2 işlevini çağırır db2ACSSnapshot(). Bu durumda, DB2 db2ACSSnapshot(). İş akışı, DB2 motorunun yedeklemeye devam etmesi için yanıt vermeyi durdurur. IBM destek PMR'si: 29538.004.000 açıldı. IBM DB2 mühendisliği, bu askıda kalmanın temel nedenini belirlemek için daha fazla hata ayıklamaya ihtiyaç duyar.
Resolution
Geçici Çözüm:
- Geçerli yedeklemeyi iptal etme
- Veritabanını yazma askıya alma modundan çıkarın
Kök nedeni keşfetmek için, IBM DB2 desteği, daha fazla araştırma için aşağıdaki bilgileri talep eder:
- db2dump dizinindeki yığınları ya da dökümleri silin ya da yeniden konumlandırın. Eskilerini karıştırmadan yeni yığınlar veya çöplükler oluşturur. (UNIX/Linux yolu:
/$INSTHOME/sqllib/db2dump) - Kısa bir süre için DB2 izlemesi:
db2trc on -f trace.dmp wait about 30 seconds db2trc off db2trc fmt trace.dmp trace.fmt db2trc flw trace.dmp trace.flw
- Yığınları toplayın:
db2pd -stack all -rep 5 5
- Yukarıdaki adım tamamlandıktan sonra şunu çalıştırın:
procstack <PID> > db2vend.pstack.out
PID<>, Süreç Kimliğidir.db2vendveritabanı işlemi. - Ardından anlık görüntü yedekleme oturumunu alın,
db2 get snapshot for applications on <dbname> > db2snap.out
- Artık yazmayı sürdürmeyi ayarlayabilir ve ardından anlık görüntü yedeklemesini yeniden deneyerek tamamlanıp tamamlanmadığını görebilirsiniz.
- Aşağıdaki gibi bir db2support.zip toplayın:
db2support . -d <dbname> -c -s
- Zip ve IBM PMR ye gönderin:
trace.dmptrace.fmttrace.flwdb2vend.pstack.outdb2snap.outdb2support.zip