DB2 - Problembeschreibung
| Problem IT00923 | Status: Geschlossen |
PD_GET_DIAG_HIST or db2diag may hang and consume 100% CPU if parsing db2diag.log record containing event string field | |
| Produkt: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
| Problembeschreibung: | |
Execution of PD_GET_DIAG_HIST or db2diag may hang when
db2diag.log containing a record with event string field.
Such as following record with STOP event, which contains
multiple lines and EVENT key word:
2014-03-03-11.00.21.759236+060 E147178466E643 LEVEL: Event
PID : 8604 TID : 140272021272320PROC :
db2acd
INSTANCE: db2dec NODE : 000
FUNCTION: DB2 UDB, Administrative Task Scheduler, AtsTask::run,
probe:2100
STOP : End execution - Task ID: 14 Status: COMPLETE
Task Name : SAPTOOLS.DBH_LCKEVENTS_COLLECT
Database : DEC
Invocation : 2712
Begin Time : 2014-03-03 10:00:00.000000000 (UTC)
SQLCODE : 0
SQLSTATE :
RC : 0
Next Execution : 2014-03-03 11:00:00.000000000 (UTC)
External monitoring tools like top will show a db2fmp process
which consumes 100% of a CPU.
With db2pd you will get the ID of the routine being executed by
the db2fmp process:
# db2pd -fmpexechistory
FMP Process:
FmpPid Bit Flags ActiveThrd PooledThrd ForcedThrd
Active
14695 64 0x00000002 1 2 0
Yes
Active Threads:
EduPid : 17 ThreadId : 1431500544
Routine ID Timestamp
66049 2014-04-08-12.18.10.743262
Using the routine ID from db2pd you will get the name of the
routine by querying the system catalog:
db2 "select varchar(ROUTINESCHEMA,10) ROUTINESCHEMA,
varchar(ROUTINENAME,25) ROUTINENAME, ROUTINEID from
syscat.routines where ROUTINEID=66049"
ROUTINESCHEMA ROUTINENAME ROUTINEID
------------- ------------------------- -----------
SYSPROC PD_GET_DIAG_HIST 66049 | |
| Problem-Zusammenfassung: | |
**************************************************************** * USERS AFFECTED: * * All * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 version 9.7 FixPack 10. * **************************************************************** | |
| Local-Fix: | |
1. To stop the executing db2fmp process run 'db2fmpterm
<db2fmp_PID>'
2. Remove the record from the db2diag.log file or start a new
db2diag.log ('db2diag -A') file and remove the old file. | |
| Lösung | |
First fixed in DB2 version 9.7 FixPack 10. | |
| Workaround | |
keiner bekannt / siehe Local-Fix | |
| Weitere Daten | |
Datum - Problem gemeldet : Datum - Problem geschlossen : Datum - der letzten Änderung: | 09.04.2014 24.11.2014 24.11.2014 |
| Problem behoben ab folgender Versionen (IBM BugInfos) | |
9.7.FP10 | |
| Problem behoben lt. FixList in der Version | |
| 9.7.0.10 |
|