IBM Support

PI52278: IMS DEDB FAST RECOVERY ENHANCEMENT IN SUPPORT OF IMS V13 APAR PM85341, PI35724 AND IMS V14 APAR PI42240.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • IMS DEDB Fast Recovery enhancement to support the following IMS
    APARs:
    - IMS V13: PM85341 (PTF is UK95732) and PI35724 (PTF is UI28314)
    - IMS V14: PI42240 (PTF is UI28436)
    These IMS APARs allow IMS to tolerate a block sequence number
    that wraps back to zero.  Message DFS3253I has been removed
    and IMS will not issue ABEND 616 after the BSN reaches FFFFFFFF.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All IMS DEDB Fast Recovery Version 2         *
    *                 Release 2 (FMID=H1J2220) users in IMS V13 or *
    *                 IMS V14.                                     *
    ****************************************************************
    * PROBLEM DESCRIPTION: This APAR is DFR version for following  *
    *                      IMS APARs:                              *
    *                      - IMS V13: PM85341 (PTF is UK95732)     *
    *                                 PI35724 (PTF is UI28314)     *
    *                      - IMS V14: PI42240 (PTF is UI28436)     *
    *                      These APARs allow IMS to tolerate a     *
    *                      log block sequence number (BSN) that    *
    *                      wraps back to zero from X'FFFFFFFF'.    *
    ****************************************************************
    * RECOMMENDATION: Apply the maintenance for this APAR.         *
    ****************************************************************
    - PI52278 for IMS DEDB Fast Recovery
    Every block of IMS log data ends with:
     - A fullword block sequence number (BSN)
     - A doubleword clock value
     - A doubleword log sequence number
    DFR is enhanced to support the BSN that wraps back to zero
    from X'FFFFFFFF' for IMS V13 and IMS V14.
    .
    Additional enhancement for DFR:
    The specification is changed so that DFR may determine the all
    log data sets necessary for running DFR by user's reply to the
    WTOR message MSGDFR3110A only if DFR is running in IMS V13 or
    IMS V14 and DBRC=N,AUTO=N is specified.
    This change improves the possibility for recovering DEDBs by
    DFR when X'4301' log records are inaccurate.
    

Problem conclusion

Temporary fix

Comments

  • The following modules and macros have been modified.
    (x = D or E)
    *
    DFRRLGTx - This macro was modified as follows.
               . IMS APAR added a bit (LDSWRITN) to a LDSFLAG2 flag
                 in a LCDSECT macro. This bit is set after a buffer
                 has been successfully written to the OLDS.
                 A bit (LDSWRITN) was taken in a RDSET DSECT as a
                 new RLDFLAG2 (RLDWRITN) flag.
                 This flag is used for a judgement of whether an
                 entry of an OLDS entry table (DSET) is valid.
               . A new flag LOGSTAT3 (LOGBSN00) was added to a
                 LOGTBL DSECT.
                 This flag is used for a judgment of whether the
                 block sequence number (BSN) has been set to a
                 LOGTBSNF field.
               . A new flag RLGLRRST was added to a section of a
                 'LOG READ RELATED.'
                 Whenever a value is set to a RLGFBSEQ/RLGLBSEQ
                 field, a RLGFBSUP/RLGLBSUP bit of the RLGLRRST flag
                 is set.
    DFRCMDLx - This module was changed as follows.
               . The logic of the block sequence number (BSN)
                 comparison was changed in the same manner as IMS
                 APAR.
               . The following conditions were added for a judgement
                 of whether to process an entry of the DSET.
                  . A RLDPRIME bit or a RLDSEC bit in a RLDFLAG1
                    flag is set and the RLDWRITN bit in the RLDFLAG2
                    flag is set.
    DFRFDLWD - This module was changed so that the block sequence
               number (BSN) comparison might be made in the same
               manner as IMS APAR.
    DFRGAL2x - This module was changed as follows.
               . When DBRC=N,AUTO=N is specified, the WTOR message
                 MSGDFR3110A is issued regardless of to the
                 existence of the DSET.
               . The logic of the block sequence number (BSN)
                 comparison was changed in the same manner as IMS
                 APAR.
               . The following conditions were added for a judgement
                 of whether to process an entry of the DSET.
                  . A RLDPRIME bit or a RLDSEC bit in a RLDFLAG1
                    flag is set and the RLDWRITN bit in the RLDFLAG2
                    flag is set.
               . The value, which is used in order to judge whether
                 the information on a restart checkpoint was gotten
                 from the X'42' log records, was changed to a
                 RSCDCHKP (CHECKPOINT-ID FOR RESTART) field from a
                 RSCDCPBS (LOG BSEQ FOR RESTART CHKPT) field.
               . The value, which is used in order to judge whether
                 a suffix of the OLDS block was saved, was changed
                 to a RLGDATE (TOD) field from a RLGBSEQ
                 (CURRENT BSN) field.
    DFRGCLSx - This module was changed as follows.
               . The logic of the block sequence number (BSN)
                 comparison was changed in the same manner as IMS
                 APAR.
               . The value, which is used in order to judge whether
                 a previous OLDS was used, was changed to the DSN
                 from the BSN which is acquired from DBRC.
               . When a null entry of the DSET is found, the
                 searching a entry for the last OLDS is stopped.
               . When the entry of the DSET is for the last OLDS, a
                 RLDBSEQF field and a RLDBSEQE field are updated
                 with the actually read BSN unconditionally, and the
                 RLDWRITN bit of the RLDFLAG2 flag is set.
               . When the RLGFBSEQ field is initialized, the
                 RLGFBSUP bit of the RLGLRRST flag is turned off.
               . The RLGFBSUP bit of the RLGLRRST flag is used for
                 the judgment of whether the value was set to the
                 RLGFBSEQ field.
               . When a DFRGRD1x module with a GRDFNEXT request is
                 called before an OLDSCLS subroutine is called, a
                 RSCDCLOS bit (LAST OLDS ALREADY CLOSED) of a
                 RSCDLSTF flag is temporarily set.
                 This bit is used in order to prevent that the
                 process of reading log records is stopped by the
                 BSN which is set to a RSCDBSEQ field.
    DFRGDSCx - The condition, which is used in order to judge
               whether the OLDS was used, was changed as follows.
               . The RLDWRITN bit in the RLDFLAG2 field is set, or
                 a RLDBLKNO field is not null and the RLDBSEQF field
                 and the RLDBSEQE field are not equal.
    DFRGEFCx - This module was changed as follows.
               . The logic of the block sequence number (BSN)
                 comparison was changed in the same manner as IMS
                 APAR.
               . When a value is set to the RLGLBSEQ field, the
                 RLGLBSUP bit of the RLGLRRST flag is set.
               . The RLGFBSUP bit of the RLGLRRST flag is used for
                 the judgment of whether the value was set to the
                 RLGFBSEQ field.
    DFRGRD1x - This module was changed as follows.
               . The logic of the block sequence number (BSN)
                 comparison was changed in the same manner as IMS
                 APAR.
               . When a value is set to the RLGFBSEQ field, the
                 RLGFBSUP bit of the RLGLRRST flag is set.
               . The RLGFBSUP bit of the RLGLRRST flag is used for
                 the judgment of whether the value was set to the
                 RLGFBSEQ field.
               . When the last OLDS is already closed, i.e. when the
                 RSCDCLOS bit of the RSCDLSTF flag is set, the
                 RSCDBSEQ field still has X'FFFFFFFF' as an initial
                 value set by DFRGCLSx.
                 Thereby the process of reading log records is
                 stopped after the BSN reaches X'FFFFFFFF'.
                 This module was changed so that the RSCDCLOS bit of
                 the RSCDLSTF flag might be used in order to prevent
                 that the process of reading log records is stopped
                 by the BSN which is set to a RSCDBSEQ field.
               . The value, which is used in order to judge whether
                 the information on a checkpoint was gotten from the
                 X'42' log records, was changed to the RSCDCCHK/
                 RSCDCHKP field from the RSCDCCPB/RSCDCPBS field.
               . The following condition was added for a judgement
                 of whether to set a INTPBUF bit of a TPBFRDF flag
                 that indicates the log records are in temporary
                 buffer.
                  . The RSCDCLOS bit of the RSCDLSTF flag isn't set.
    DFRLCTLx - This module was changed as follows.
               . The condition, which is used in order to judge
                 whether the block sequence number (BSN) has been
                 set to a LOGTBSNF field, was changed as follows.
                  . The LOGBSN00 bit of the LOGSTAT3 flag isn't set.
               . When the DBRC=N is specified and a X'4800' log
                 record is read at the end, a value is not set to a
                 RSCDLBSN field.
                 However, since a DFRNLP2x module has to be changed
                 to use the value of the RSCDLBSN field, the value
                 of the RLGBSEQ field is copied to the RSCDLBSN
                 field when a RSCDLP48 bit of a RSCDLPRC flag is
                 set.
                 And the RSCDLBSN field is initialized when the
                 RSCDLP48 bit of the RSCDLPRC flag is turned off.
    DFRNLP2x - This module was changed as follows.
               . The logic of the block sequence number (BSN)
                 comparison was changed in the same manner as IMS
                 APAR.
               . In a SRCHBSN subroutine, a value of the RSCDLBSN is
                 used as maximum of the BSN instead of X'FFFFFFFF'.
               . A new flag TARGBSNF (TARGBSNU) was added to the
                 work area.
                 This flag is used for a judgment of whether a
                 value is set to a TARGBSN field.
               . When F'0' is found at least one in a value of a
                 RCIEBSN field in a SRCHBSN subroutine, the process
                 of reading log records for the the second log
                 processing started from a checkpoint log record.
    DFRRSCDx - This module was modified to be re-assembled for
               reflecting the changes of a DFRRLGTx macro.
    *
    ========================
    = DOCUMENTATION CHANGE =
    ========================
    IMS DEDB Fast Recovery for z/OS Version 2 Release 2 User's Guide
    and Reference (Document Number: SC27-0928-04) should be changed
    as follows.
    ================================================================
      2.0 Program functions of IMS DEDB Fast Recovery
       2.3 OLDS processing
    .
    * The description has been changed as follows:
    .
         ...
         While reading the OLDS at the time of IMS failure, IMS DEDB
         Fast Recovery performs the following tasks according to its
         its log records:
         1. Time stamp verification
            ...
         2. Checkpoint ID table creation
            ...
    
         3. OLDS entry table creation
            If DBRC=N, IMS DEDB Fast Recovery creates an OLDS entry
            table (DSET) from the X'4301' log record
            (OLDS entry table log record).
    |       If IMS DEDB Fast Recovery is running in IMS Version 12
    |       or earlier, the table is used to determine the log data
            sets necessary for running IMS DEDB Fast Recovery.
    |       If IMS DEDB Fast Recovery is running in IMS Version 13
    |       or later and AUTO=Y is specified, the table is used to
    |       determine the log data sets necessary for running IMS
    |       IMS DEDB Fast Recovery.
    .
         If DBRC=N,AUTO=Y is specified,...
            ...
    .
         If DBRC=N,AUTO=N is specified, IMS DEDB Fast Recovery:
         - Searches for the X'42' log record until it is found.
    |    - Determines the log data set by the user's reply to the
    |      WTOR message that IMS DEDB Fast Recovery issues.
    .
         If DBRC=Y is specified,...
            ...
    ----------------------------------------------------------------
       2.5 Checkpoint determination
    .
    * The description has been changed as follows:
    .
         ...
         If DBRC=Y is specified in the EXEC parameter of IMS DEDB
         Fast Recovery, IMS DEDB Fast Recovery determines the log
         data set containing the recovery start checkpoint by using
         the OLDS/SLDS information in the RECON data set.
    |    If DBRC=N,AUTO=Y, the log data set is determined from the
         OLDS entry table (DSET) if it was created during the OLDS
    |    processing. If DBRC=N,AUTO=N, or if a DSET has not been
         created, or if SLDS contains the checkpoint, a WTOR
         message (DFR3110A) is issued. The operator must then reply
         with the DD name of the OLDS or SLDS that contains the
         checkpoint indicated by the DFR3301I message.
         ...
    ================================================================
      5.0 Recovering your IMS subsystem
       5.2 IMS recovery procedures
        5.2.3 Scenario 3: Recovering DEDBs without using RECON data
                          sets
         5.2.3.1 Recovering DEDBs without using RECON data sets
    .
    * The description has been changed as follows:
    .
         Before you begin
         ...
         About this task
         ...
         Procedure
         1. ...
            ...
         2. Determine the last and the previous OLDS.
            ...
            If the OLDS that was in use at the time of IMS failure
            or the previous OLDS contains a log record X'4301'
            (OLDS entry table log record), IMS DEDB Fast Recovery
            uses it to create an OLDS entry table (DSET) and
    |       determines the required OLDS. However, if DBRC=N,AUTO=N,
    |       or if a DSET is not created, or if an SLDS is required,
            you must specify the ddname and data set name of all
            OLDSs and SLDSs after IMS recovery start checkpoint
            (indicated by the message DFR3301I).
            ...
    *
    

APAR Information

  • APAR number

    PI52278

  • Reported component name

    DEDB FAST RECOV

  • Reported component ID

    5655E3200

  • Reported release

    220

  • Status

    CLOSED UR1

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2015-11-10

  • Closed date

    2015-11-26

  • Last modified date

    2016-01-04

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

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

    UI33351

Modules/Macros

  • DFRCMDLD DFRCMDLE DFRFDLWD DFRGAL2D DFRGAL2E
    DFRGCLSD DFRGCLSE DFRGDSCD DFRGDSCE DFRGEFCD DFRGEFCE DFRGRD1D
    DFRGRD1E DFRLCTLD DFRLCTLE DFRNLP2D DFRNLP2E DFRRSCDD DFRRSCDE
    

Publications Referenced
SC27092804    

Fix information

  • Fixed component name

    DEDB FAST RECOV

  • Fixed component ID

    5655E3200

Applicable component levels

  • R220 PSY UI33351

       UP15/12/02 P F512

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":"BU048","label":"IBM Software"},"Product":{"code":"SSCX895","label":"IMS DEDB Fast Recovery"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"2.2.0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
04 January 2016