home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Latest versionsfixlist
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

DB2 - Problem description

Problem IC77749 Status: Closed

DB2PD DURATION OUTPUT SHOWS 99 HOURS WHEN DURATION IS > 99 HRS

product:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problem description:
In PMR 59278,999,000, we (including customer, L2, and L3) were 
confused with db2pd -runstats reporting a duration of 99 hours 
when it was in fact longer.   The start and stop timestamps are 
actually provided as well, and after a while, it was evident 
that we could look at the details and not rely on duration DB2 
calculated as we progressed in problem determination. 
 
The duration is currently specified as a hh:mm:ss format with 2 
digts max for hours.  To stop outputting incorrect diagnostic 
data, we could relax the 2 digit max, or just print a "> 99 
hours" string instead. 
 
// Function to print duration in the format of hh:mm:ss 
    @w548255mif 
void pdPrintDuration( FILE * fp, Uint32 durTime ) 
{ 
   // Put a cap of maximum 99 hours. 
   if ( durTime <= 99*60*60 ) 
   { 
      fprintf( fp, "%02u:%02u:%02u\n", 
               (durTime / (60*60)), 
               ((durTime / 60) % 60), 
               (durTime % 60)); 
   } 
   else 
   { 
      fprintf( fp, "%02d:%02u:%02u\n", 
               99, 
               ((durTime / 60) % 60), 
               (durTime % 60)); 
   } 
}
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* All                                                          * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* In PMR 59278,999,000, we (including customer, L2, and L3)    * 
* were                                                         * 
* confused with db2pd -runstats reporting a duration of 99     * 
* hours                                                        * 
* when it was in fact longer.  The start and stop timestamps   * 
* are                                                          * 
* actually provided as well, and after a while, it was evident * 
*                                                              * 
* that we could look at the details and not rely on duration   * 
* DB2                                                          * 
* calculated as we progressed in problem determination.        * 
*                                                              * 
*                                                              * 
*                                                              * 
* The duration is currently specified as a hh:mm:ss format     * 
* with 2                                                       * 
* digts max for hours.  To stop outputting incorrect           * 
* diagnostic                                                   * 
* data, we could relax the 2 digit max, or just print a "> 99  * 
*                                                              * 
* hours" string instead.                                       * 
*                                                              * 
*                                                              * 
*                                                              * 
* // Function to print duration in the format of hh:mm:ss      * 
*                                                              * 
*     @w548255mif                                              * 
*                                                              * 
* void pdPrintDuration( FILE * fp, Uint32 durTime )            * 
*                                                              * 
* {                                                            * 
*                                                              * 
*   // Put a cap of maximum 99 hours.                          * 
*                                                              * 
*   if ( durTime <= 99*60*60 )                                 * 
*                                                              * 
*   {                                                          * 
*                                                              * 
*       fprintf( fp, "%02u:%02u:%02u\n",                       * 
*                                                              * 
*               (durTime / (60*60)),                           * 
*                                                              * 
*               ((durTime / 60) % 60),                         * 
*                                                              * 
*               (durTime % 60));                               * 
*                                                              * 
*   }                                                          * 
*                                                              * 
*   else                                                       * 
*                                                              * 
*   {                                                          * 
*                                                              * 
*       fprintf( fp, "%02d:%02u:%02u\n",                       * 
*                                                              * 
*               99,                                            * 
*                                                              * 
*               ((durTime / 60) % 60),                         * 
*                                                              * 
*               (durTime % 60));                               * 
*                                                              * 
*   }                                                          * 
*                                                              * 
* }                                                            * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to next fixpack                                      * 
****************************************************************
Local Fix:
available fix packs:
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 6 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 7 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 8 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 10 for Linux, UNIX, and Windows

Solution
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
26.07.2011
12.12.2011
12.12.2011
Problem solved at the following versions (IBM BugInfos)
Problem solved according to the fixlist(s) of the following version(s)
9.7.0.5 FixList