IBM Support

PH62990: ALLOW STANDALONE DB2 SUBSYSTEM LOCATION ALIASES BE BOUND TO A DIFFERENT IP ADDRESS.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Allow standalone Db2 subsystem location aliases be bound to a
    different IP address.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All Distributed Data Facility (DDF) users.   *
    *                 Especially those that utilize the TCPIP      *
    *                 profile PORT statement BIND specification    *
    *                 (also known as BINDSPECIFIC method) to       *
    *                 define the IP address of a Db2 subsystem     *
    *                 that is not a member of a data sharing       *
    *                 group.                                       *
    ****************************************************************
    * PROBLEM DESCRIPTION: IP address/port listen missing for      *
    *                      connectivity to a standalone Db2        *
    *                      subsystem.                              *
    ****************************************************************
    * RECOMMENDATION: Apply corrective PTF when available          *
    ****************************************************************
    When a standalone Db2 subsystem is started, the IP address
    for the Db2 subsystem is determined in the following ways:
    - Db2 uses the IPV4 or IPV6 specification in the BSDS
    - Db2 probes the TCP/IP stack to obtain the primary
      interface home IP address of the stack
    - Db2 learns its IP address from TCP/IP when it detects that
      the main PORT specification within the TCPIP profile PORT
      statement (a specification outside of Db2) has a BIND IP
      address specification
    
    When Db2 has no IPV4 or IPV6 specification in the BSDS and
    before it probes the TCP/IP stack, Db2 creates its listen
    socket and then binds this socket to INADDR_ANY. When the
    bind is successful, Db2 probes the stack to determine if the
    socket is still bound to INADDR_ANY. When Db2 learns that
    the MAIN port listen socket is not bound to INADDR_ANY,
    Db2 saves the returned IP address from TCP/IP as being the
    IP address of this standalone Db2 subsystem. Db2 displays
    its learned IP address in the DSNL085I message line of the
    output from the -DISPLAY DDF command. Db2 only tracks this
    single IP address. When the listen sockets for its main PORT
    and/or SECPORT are created and bound to the learned IP
    address, Db2 then activates any static or dynamic location
    aliases.
    
    During the activation of a location alias in a standalone
    Db2 subsystem where Db2 has learned its IP address from
    TCP/IP due to a PORT profile statement specification, Db2
    will then create a single alias port and/or alias secure
    port listen socket bound to its learned IP address.
    
    However, a recent Db2 APAR corrected an unintended situation
    where Db2 incorrectly created two different listen sockets
    for an alias port and/or secure port for a standalone Db2
    subsystem.
    
    Specifically, Db2 was incorrectly creating a second listen
    socket bound to INADDR_ANY. When the bind of a socket was
    received by TCP/IP and the bind IP address was INADDR_ANY,
    TCP/IP then used all parts of the port specification in the
    TCPIP profile PORT statement, including the BIND
    specification IP address by creating the IP address (unknown
    to Db2) and binding the alias port listen socket to this
    address. Db2 did not probe TCP/IP to determine if the alias
    port listen socket was still bound to INADDR_ANY.
    
    Before the unintended Db2 behavior was corrected, some
    customers were using it to create two different listen
    sockets for an alias port, especially when the alias port
    had a specification in the TCPIP profile PORT statement
    with a BIND IP address specification different than the
    main PORT specified for Db2. The result was two different
    listen sockets for the alias port, one correctly bound to
    Db2's learned IP address and a second incorrectly bound to
    the BIND IP address specification in the TCP/IP PORT profile
    statement for the alias port.
    
    With the recent correction, only the alias port listen
    socket bound to the learned IP address of the Db2
    subsystem is created, and the "secondary socket" is
    NOT created.
    

Problem conclusion

  • When a standalone Db2 subsystem is started, Db2 has been
    changed to create its single listen socket for a location
    alias port or secure-port by requesting the socket be bound
    to INADDR_ANY. When the alias port specification in the
    TCPIP profile PORT statement includes a BIND IP address
    specification, the listen socket will be bound to the
    specified IP address. Normally, the BIND IP address
    specification should be the same as was specified for the
    main PORT of Db2. However, if the BIND IP address
    specification was different than was specified for the main
    PORT, the alias listen socket will be created bound to the
    BIND IP address specification and then the alias listen
    socket can then only be reached by targeting the alias
    port via its BIND IP address.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH62990

  • Reported component name

    DB2 OS/390 & Z/

  • Reported component ID

    5740XYR00

  • Reported release

    C10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2024-08-28

  • Closed date

    2024-09-24

  • Last modified date

    2024-11-03

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

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

    UI98541 UI98542

Modules/Macros

  • DSNLILNR
    

Fix information

  • Fixed component name

    DB2 OS/390 & Z/

  • Fixed component ID

    5740XYR00

Applicable component levels

  • RC10 PSY UI98541

       UP24/10/02 P F410

  • RD10 PSY UI98542

       UP24/10/02 P F410

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":"SSEPEK","label":"DB2 for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"12.0","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
03 November 2024