IBM Support

LI72671: LOAD FAILS WITH SQL0973 DUE TO INSUFFICIENT MEMORY AVAILABLE IN THE UTILITY HEAP.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The load utility requires a certain amount of utility heap
    memory.  One part of the utility heap usage is for the buffers
    that load will be using.
    The amount of buffers required can be specified on the load
    command line using the DATA BUFFERS option of the load syntax.
    
    If the DATA BUFFERS option is not used, then db2 will use a
    calculation to pick a value for the data buffers.
    
    The calculation will look at the free amount of memory in the
    utility heap and then take a percentage of the free memory and
    use that number as the size of memory for the data buffers.
    
    The problem is that the calculation is looking
    at the logical size of used memory in the utility heap, but it
    is not taking into account the various memory overheads
    involved.
    Instead, it should be looking at the physical memory usage
    instead of logical usage so that the calculation is more
    accurate.
    Because of this error, the load utility is over-estimating the
    free amount of utility heap memory, and ends up using more
    utility heap memory than it should.
    
    This APAR will fix the calculation so that it can more
    accurately make a decision about how much memory to give
    to the load in the event that DATA BUFFER is not manually
    specified.
    
    What we have seen with this problem is that a load can fail with
    SQL0973 indicating that there is not enough memory in the
    utility heap to handle the load.
    
    This problem has only been observed when concurrent loads are
    running.  Because DB2 has an overflow memory mechanism, it is
    highly unlikely that this problem would be encountered for a
    single load.
    
    It is worthwhile to note that increasing the UTIL_HEAP_SZ is not
    a solution to this problem.  Since the formula for calculating
    the size is based on a percentage of the utility heap, it does
    not matter how large the utility heap is.
    

Local fix

  • Tune the loads to manually set the DATA BUFFER option.  This is
    the recommended best practice anyway, particularly if there will
    be concurrent loads.
    

Problem summary

  • see problem description
    

Problem conclusion

  • First fixed in DB2 UDB Version 9.5, FixPak 1
    

Temporary fix

Comments

APAR Information

  • APAR number

    LI72671

  • Reported component name

    DB2 UDE ESE LIN

  • Reported component ID

    5765F4104

  • Reported release

    950

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2007-11-06

  • Closed date

    2008-05-29

  • Last modified date

    2008-05-29

  • APAR is sysrouted FROM one or more of the following:

    LI72531

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    DB2 UDE ESE LIN

  • Fixed component ID

    5765F4104

Applicable component levels

  • R910 PSY

       UP

  • R950 PSY

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSEPGG","label":"DB2 for Linux, UNIX and Windows"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"950","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
29 May 2008