IBM Support

IC64487: SQL0973 MEMORY ALLOCATION FAILURE FROM LOAD UTILITY

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Beginning with DB2 version 9.5 Fixpak 3 and Version 9.7 GA, LOAD
    memory allocation behaviour changed.  While it is more
    efficient, in some cases a combination of fragmentation and
    large allocations can result in SQL0973N - failure to allocate
    memory from the Utility Heap.
    
    The expected db2diag.log entry is :
    2009-09-22-21.52.37.592451-240 I367406661E568    LEVEL: Error
    PID : 8318         TID  : 193441294688 PROC : db2sysc 2
    INSTANCE: db2inst1        NODE : 000   DB   : SAMPLE
    APPHDL : xxxxx         APPID: xxxxx
    AUTHID : db2inst1
    EDUID : 4582         EDUNAME: db2lload 0
    FUNCTION: DB2 UDB, database utilities, DIAG_ERROR, probe:0
    DATA #1 : String, 145 bytes
    LOADID: 51624.2009-09-22-21.52.36.240048.10 (7;784)
    Failed to enable fast memblocks , -1961951227, (nil), Detected
    in file:sqlulbuf2.C, Line:1773
    
    If db2pd -db <db> -memsets can be issued after the failure, it
    may be observed that there is a sufficient amount of unused
    commited memory available in database memory :
    
    Memory Sets:
    Name      Size(Kb)  Unrsv(Kb)  Used(Kb)   HWM(Kb)   Cmt(Kb)
    Uncmt(Kb)
    SAMPLE    13851968   5897216  6837888    7721600    13562240
    70400
    
    In the above example, Commited memory is far above Used memory,
    and should be available for LOAD, which instead failed with
    SQL0973N.
    

Local fix

  • A workaround exists.  Increasing the amount of commited memory
    that DB2 will cache will reduce fragmentation, allowing large
    allocations to succeed.  This can be accomplished by the command
    :
    " db2 update db cfg for <database> using DB_MEM_THRESH 100 "
    This is dynamic if issued while connected to the database.  Some
    increase in memory usage may be observed.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Systems with large Utiltiy Heap setting AND running LOAD     *
    * utility, especially concurrent/frequent LOADs                *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * See Error Description                                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Update DB_MEM_THRESH = 100                                   *
    ****************************************************************
    

Problem conclusion

  • Problem first fixed in DB2 Version 9.7 Fix Pack 3 build s101006
    

Temporary fix

Comments

APAR Information

  • APAR number

    IC64487

  • Reported component name

    DB2 FOR LUW

  • Reported component ID

    DB2FORLUW

  • Reported release

    970

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-11-11

  • Closed date

    2010-11-02

  • Last modified date

    2010-11-02

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

    IC64473

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

Fix information

  • Fixed component name

    DB2 FOR LUW

  • Fixed component ID

    DB2FORLUW

Applicable component levels

  • R970 PSN

       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":"9.7","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
02 November 2010