IBM Support

PM63331: IMS TYPE 47 RECORD MAY OVERLAY CSA STORAGE IF BMP UPDATES MORE THAN 300 FULL FUNCTION DATABASES + HALDB PARTITIONS.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • If a BMP Region updates more than about 300 Full Function
    Databases + HALDB Partitions and the BMP Region does not
    take a checkpoint prior to the IMS Control Region taking
    a checkpoint, an overlay of CSA storage may occur due to
    the Type47 Log Record overlaying storage beyond the end
    of the Log Work Area.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: This apar affects all IMS V12 customers      *
    *                 running BMP regions and BATCH IMS regions    *
    *                 that make updates to large numbers of        *
    *                 databases (242+) during a single commit      *
    *                 cycle.                                       *
    ****************************************************************
    * PROBLEM DESCRIPTION: ABEND0C4, ABEND0Cx, overlays, and       *
    *                      unpredictable results may occur when    *
    *                      attempting to write IMS type47 log      *
    *                      records that include BMP regions or IMS *
    *                      BATCH regions that have made updates to *
    *                      more than 242 individual databases      *
    *                      without committing the data.            *
    ****************************************************************
    * RECOMMENDATION: INSTALL CORRECTIVE SERVICE FOR APAR/PTF      *
    ****************************************************************
    Type47 log records are written at the end of IMS checkpoints and
    include region data and a list of changed databases that have
    not yet been committed for each IMS BMP region.  When the list
    of databases exceeds the capacity of the type47 log area in
    which they are built, overlays occur when DFSRCP10 attempts to
    build them.  Each partition of a HALDB is considered an
    individual database and has magnified the issue.
    The overlays can result in an ABEND0C4 referencing protected
    storage, but may also overlay storage that is not protected and
    cause unpredictable problems when the real storage owner
    attempts to use corrupted data.
    An additional problem was detected in which type0408 records may
    overlay storage using the same changed database list that was
    used in the type47 record.  The type0408 records have larger
    data base entries than the entries for the type47 record.  This
    limits the size of changed database list to what will fit into a
    type0408 record built in the PSTLOGWA, before an overlay occurs.
    That limit is reached at 242 databases.
    

Problem conclusion

  • GEN:
    KEYWORDS:
     XRFTAKEOVER RSRTAKEOVER
    
    *** END IMS KEYWORDS ***
    To prevent the dependent regions from altering more databases
    than can be built into a type0408 or type47 log record,
    BMP regions and BATCH IMS regions will be terminated ABENDU0199
    if they attempt database updates after reaching the maximum
    changed database count.  This maximum can be estimated by using
    the following decimal formula:
    Let
     N= the decimal number of 1024 byte blocks allocated for
        IMS Log Data Set
    Then
     Changed Database Limit = (64N - 15) Databases
    As a fail safe to prevent the overlays while building the log
    records, ABENDU0100 will be issued to terminate IMS if a record
    will exceed the capacity of the largest IMS Log Record that can
    be built, based on the IMS Log Dataset allocation (i.e. IMS log
    block size).
    However, abending the dependent regions with ABENDU0199 prior
    to getting changed database lists that are too large to log
    should prevent the ABENDU0100 from occurring.
    
    CODE CHANGES:
    IPST
     Added new field PSTDBCNT to contain the DB change list count.
    ISCD
     Added new field SCDDBCNT to hold the maximum count of database
     names that will fit into a type0408 record using the size of
     the IMS LOG Dataset, defined by the IMS account.
    DFSFDLS0
     Initialize the new SCD field SCDDBCNT.  This is accomplished by
     using SCDLLOGL (max log record size based on the IMS log
     allocation size, i.e. IMS Log block size), stripping off the
     type0408 record overhead size, and determining how many
     database names will fit in the remaining area.
    DFSXLGI0
     Initialize the new SCD field SCDDBCNT in a BATCH IMS System.
     This is accomplished by using SCDLLOGL (max log record size
     based on the IMS Log allocation size, i.e. IMS Log block size),
     stripping off the type0408 record overhead size, and
     determining how many database names will fit in the remaining
     area.
    DFSRDBL0
     Update the new PST field, PSTDBCNT, for each new database added
     to the changed database list.
    DFSDLA00
     ABENDU0199 when attempting a DB altering call when the limit
     of the changed database list has been reached.
    DFSFXC50
     Reset PSTDBCNT when Phase2 syncpoint has been called.
    DFSRCP10
     Monitor storage while building type47 records.  Acquire new
     storage when the changed database count exceeds the number that
     can be logged in the present buffer.
     ABENDU0100-01 when the record cannot be built in the largest
     IMS Log record based on the IMS Log Dataset allocation size
     (i.e. IMS Log block size).
     ABENDU0100-02 when storage cannot be acquired to build type47
     records.
    DFSRBOI0
     Added code to acquire and release storage to build a list of
     databases that fail dynamic backout and must be presented to
      DBRC. The dynamic storage is also used in building the
      type0408 log records.
     DFSST500
      Process type0408 log records on a Tracking IMS System when
      the database list within it will cause overlays building
      the DBRC VERUOR or UPDUOR list in the PSTLOGWA. This is
      accomplished acquiring and releasing dynamic storage when
      needed.
     DFSRBLB0
      Corrected ERE NOBMP and ERE COLDBASE paths to handle large
      Type0408 log records and SAVUOR calls. Handled these by
      processing single UORs at a time. Since the changed DB
      count is limited to the amount that will fit into a Type0408
      maximum size log record, there is no problem writing these
      using the largest logsize, i.e. IMS Log block size (SCDLLOGL).
    
    The IMS MESSAGE AND CODES MANUAL will have the following abends
    documented:
    
    U0199
    Explanation
      A BMP or IMS BATCH region has exceeded the count of databases
      that can be altered within a commit cycle.
    Programmer Response
      Insure that BMP or IMS BATCH regions do not make alterations
      to more databases than will fit in the largest log record
      allocated for the IMS Log Data Set (i.e. IMS Log block size)
      without issuing a syncpoint request or increase the IMS Log
      Data Set size to accommodate the number of changed databases.
      An estimate of the maximum number of changed databases that
      will fit into the largest log record can be determined using
      the following decimal formula:
        Let
         N= the decimal number of 1024 byte blocks allocated for
            IMS Log Data Set (i.e. IMS Log block size)
        Then
         Changed Database Limit = (64N - 15) Databases
    System Action
      The BMP or Batch Region is abended U0199.
    Operator Response
      After correcting the problem, restart the BMP or IMS BATCH
      region.
    Module
      DFSECP20
    
    U0100
    Explanation
      The IMS Control Region has been abended while attempting to
      build a type47 log record.
     Reason Code Explanation
      R15=1
       A type47 log record cannot be created because the changed
       database list of a BMP exceeds the capacity of the log record
       in which it is to be built.
      R15=2
       An IMODULE GETMAIN request failed to acquire storage to build
       a type47 log record.
     Analysis
      R15=1
       This abend should not occur but is added to prevent overlays
       in the event that BMP or IMS BATCH regions have corrupted
       database lists that will not fit into IMS log records.
      R15=2
       An IMODULE GETMAIN failed while attempting to acquire storage
       to build the type47 log record.  R10 contains the IMODULE
       GETMAIN return code.
     System Action
      IMS is abended with ABENDU0100
     Operator Response
      After correcting the problem, restart IMS with /ERE.
     System Programmer Action
      Contact IBM@Software Support
     Module
      DFSRCP10
    
    
    An addition to ABENDU0369 will be appended as follows:
    
    U0369
    
    Module:
       DFSST500
    
    Explanation:
       The Tracking IMS in an RSR TRACKER environment has
       encountered an internal error.
    
    Analysis:
       At the time of the error, R15 contains the return code
       indicating the condition that caused the ABEND.
    
    Return Code (R15):
       1  An IMODULE GETSTOR request failed. R10 contains the
          IMODULE GETSTOR return code.
    
       2  A DFSBCB request failed. R10 contains the DFSBCB
          return code.
    
    System Action:
       The IMS Tracker terminates with ABENDU0369.
    
    System Programmer Response:
       Contact IBM Support
    

Temporary fix

  • *********
    * HIPER *
    *********
    

Comments

  • POSTREQ PI11430
    REPINNED RP14/02/11 (ATXT) TO ADD POSTREQ PI11430 INFO.
     **** PE14/02/11 PTF IN ERROR. SEE APAR PI11430 FOR DESCRIPTION.
    ×**** PE14/02/10 FIX IN ERROR. SEE APAR PI11430  FOR DESCRIPTION
    

APAR Information

  • APAR number

    PM63331

  • Reported component name

    IMS V12

  • Reported component ID

    5635A0300

  • Reported release

    200

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2012-04-25

  • Closed date

    2012-10-30

  • Last modified date

    2014-03-28

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

    PM52121

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

    UK83101 PM79248

Modules/Macros

  •    DFSAPST0 DFSDLA00 DFSFDLS0 DFSFXC50 DFSRBLB0
    DFSRBOI0 DFSRCP10 DFSRDBL0 DFSST500 DFSXLGI0 IPST     ISCD
    

Publications Referenced
GC18971406    

Fix information

  • Fixed component name

    IMS V12

  • Fixed component ID

    5635A0300

Applicable component levels

  • R200 PSY UK83101

       UP12/11/21 P F211 Ž

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Platform":[{"code":"PF054","label":"z Systems"}],"Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
14 December 2020