IBM Support

IC77126: NFS LINUX DB2CHGPATH CHANGES DO NOT GET COMMITTED TO PERMANENT STORAGE

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • On Linux installs where the DB2 installation is NFS mounted we
    might experience issues where the runtime library paths of the
    installation are incorrect and the binaries have standard
    runtime (pre-installation) paths.
    
    The issue can reproduce on NFS mounted File systems on Linux
    SLES 10 FP2 and SLES 10 FP3.
    The problem does not happen on SLES 10 FP1 and SLES 11.
    
    db2chgpath is run on the install, and this will change the
    runtime libpath. This runs correctly but the files do not get
    changed on the NFS server (they are kept in the cache but not
    committed to the server as they are not dirtied in the cache).
    Once the files are refreshed from the server (which has the
    pre-install runtime libraries) this will cause issues in
    production until db2chgpath is run again.
    
    db2chgpath calls db2chlibpath, which makes use of OS calls
    munmap and mmap.
    This APAR will enhance DB2 code to make sure that we cater for
    different OS implementations of munmap and mmap to avoid changes
    in the NFS cache being lost or not written to permanent storage.
    

Local fix

  • Change the db2chgpath script to have on _change_installpath() a
    call to  touch ${tmp_file?}:
    
     if [ ${tmp_file?} != "${DB2CHGLIBPATH?}" ]; then
    
          if ${DB2CHGLIBPATH?} -i 2 -i 3 -q ${tmp_file?} 2>
    /dev/null |
    grep :${OLDPATH?}'lib[0-9]*:/' > /dev/null 2> /dev/null
    
          then
    
                 ${DB2CHGLIBPATH?} -i 2 -i 3 -s ${PATH_MARKER?} -q
    -f -r
    ${PATH_MARKER?} \
    
                         -s "${OLDPATH?}" -f -r "${NEWPATH?}"
    ${tmp_file?}
     \
    
                         2>>${DB2CHGPATH_LOG?} 1>>
    ${DB2CHGPATH_LOG?}
                 touch ${tmp_file?}
    
                 add_log_list $? ${tmp_file?}
    
          else
    
                 ${DB2CHGLIBPATH?} -i 2 -i 3 -s ${PATH_MARKER?} -q
    -f -r
    ${PATH_MARKER?} \
    
                         -s "${ORIGPATH?}" -f -r "${NEWPATH?}"
    
    ${tmp_file?} \
    
                         2>>${DB2CHGPATH_LOG?} 1>>
    ${DB2CHGPATH_LOG?}
                 touch ${tmp_file?}
    
                 add_log_list $? ${tmp_file?}
    
          fi
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * ALL                                                          *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * This APAR will review the calls to munmap from DB2 to make   *
    * sure that there are msync calls to account for NFS issues.   *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to DB2 Version 9.7 and Fix Pack 5                    *
    ****************************************************************
    

Problem conclusion

  • Problem was first fixed in DB2 Version 9.7 and Fix Pack 5
    

Temporary fix

Comments

APAR Information

  • APAR number

    IC77126

  • 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

    2011-06-23

  • Closed date

    2011-12-09

  • Last modified date

    2011-12-09

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

  • 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 PSY

       UP



Document information

More support for: DB2 for Linux, UNIX and Windows

Software version: 9.7

Reference #: IC77126

Modified date: 09 December 2011