A fix is available
APAR status
Closed as program error.
Error description
DB2DDF DB2TCPIP See PI79102 for DB2 12 for z/OS. A DB2 member's BSDS defined Dvipa becomes unavailable after the TCPIP stack leaves the sysplex for some condition outside of DB2. DB2 DDF workload may appear stuck and not moving or new DDF work will not be accepted. No DB2 messages are issued when the TCPIP stack leaves the sysplex. However, customer may see TCPIP message EZZ9676E when the stack leaves the sysplex and EZD1192I when it rejoins. NOTE: Customer may see extra listener port once the apar is applied (not used for DRDA or SQL) *************************************************************** Additional Symptoms and Keywords: DVIPA Dynamic Virtual Internet Protocol Address EZZ9676E MSGEZZ9676E EZD1192I MSGEZD1192I EZZ2500I
Local fix
DB2 DDF for the member on the lpar where the TCPIP stack left the sysplex needs to be stopped and started after TCPIP message EZD1192I is issued.
Problem summary
**************************************************************** * USERS AFFECTED: All Distributed Data Facility (DDF) users. * * Primarily those who have defined, or plan * * to define, the group and member IP * * addresses in the BSDS. * **************************************************************** * PROBLEM DESCRIPTION: Relative to BSDS defined member IP * * addresses, the following conditions * * are reported: * * * The IP address remains unavailable * * after TCP/IP VIPA Dynamic (DVIPA) * * services support has been restored. * * * The IP address may remain unusable * * and unavailable. * * Additionally, and not necessarily * * related to a BSDS defined IP address, * * clients may receive intermittent * * connection refusals. * **************************************************************** * RECOMMENDATION: * **************************************************************** When the member IP address (either IPv4 or IPv6) is defined to DB2 in the BSDS via the Change Log Inventory utility (DSNJU003), DB2 assumes that the defined address is a TCP/IP VIPARANGE dynamic virtual IP address (DVIPA). During DDF start-up, when DB2 is establishing its TCP/IP listener environment, DB2 issues a request to TCP/IP to create its member DVIPA on the system where DB2 is running. The TCP/IP Dynamic VIPA service requires that the TCP/IP address space be connected to a Sysplex. Two problems may occur: * TCP/IP DVIPA services have become unavailable. TCP/IP can be forced, via a command or via its own determination, to leave the sysplex. Once this occurs, VIPA dynamic services are no longer available on the system and all DVIPAs are stopped and removed from the system. This will mean that any client attempting to connect to DB2 by using the member IP address will receive connection failures as expected. However, DB2 is currently unaware that, due to the stopping of TCP/IP DVIPA services, its BSDS defined member address is no longer available. Therefore, once TCP/IP has rejoined the sysplex and DVIPA services have been restored, DB2 does not request TCP/IP to recreate its member DVIPA (since DB2 was unaware that it became unavailable). As a result, any client now attempting to connect to DB2 by using the member IP address will continue, incorrectly, to receive connection failures. * TCP/IP has informed DB2 that the IP address it is attempting to use as an IP address is unusable and unavailable. During DDF start-up, the request to create its member DVIPA could fail with message DSNL512I being issued where the message tokens would be socket=DVIPA ACTIVATION(ip-address), RETURN CODE=121, and REASON CODE=766C7303. If the message is issued, TCP/IP has indicated to DB2 that the attempt to create the address failed because the address is not a VIPARANGE DVIPA. DB2 ignores the failure and continues with DDF start-up. The rationale for ignoring the failure is that some users may have intentionally not defined the BSDS IP address as a VIPARANGE DVIPA, but as a usable non-DVIPA IP address. However, if, in fact, the IP address is unusable or unavailable to the TCP/IP stack, then DDF is (incorrectly allowed to be) started with an IP address that cannot be used to reach the subsystem. Additionally, and not necessarily related to a BSDS defined IP address, during a period of a high rate of new connection request processing, distributed client applications may receive intermittent connection refusals. The problem occurs because the DB2 TCP/IP listener process limits the number of connections requests that can be simultaneously received.
Problem conclusion
Relative to BSDS defined member IP addresses, DB2 has been changed as follows: * TCP/IP DVIPA services have become unavailable. DB2 will now detect when TCP/IP member DVIPA services have become unavailable and will issue message DSNL512I with the following message tokens: socket=ACCEPT(ip-address..0), return-code=3448, and reason-code=768F0442 This indicates that TCP/IP has deleted the IP address, which is therefore no longer usable, and hence the DB2 TCP/IP listener environment becomes disabled. The DB2 TCP/IP listener process will then attempt to reestablish its environment every 30 seconds. When TCP/IP DVIPA services are restored, the TCP/IP listener environment will be re-enabled and message DSNL519I or DSNL523I will be issued to indicate that TCP/IP DVIPA services have been restored. * TCP/IP has informed DB2 that the IP address it is attempting to use as an IP address is unusable and unavailable. When this occurs, DB2 will issue message DSNL512I with the following message tokens: socket=BIND(ip-address..0), return-code=1116, and reason-code=744C7230 This version of message DSNL512I will only occur when the IP address is defined to DB2 via the BSDS and indicates that the DB2 TCP/IP listener is not available. DDF startup will complete, but with no TCP/IP services. To correct this error, stop DB2, run the change log inventory utility (DSNJU003) with a DDF statement to set a valid and usable IP address in the BSDS, and restart DB2. Additionally, and not necessarily related to a BSDS defined IP address, DB2 will also be changed to set the depth of the TCP/IP listener connection queue to be the minimum of the current value of MAXDBAT (where a minimum value of 50 will be used) and the current value of the TCP/IP parameter SOMAXCONN. The values used will be dependent on when the DB2 TCP/IP listener is established. The listener is established during -START DDF processing. The listener is also established when any error preventing its creation gets corrected, e.g. when TCP/IP DVIPA services are restored after having been failed. --------------------------------------------------------------- Changes to the DB2 Messages manual are required to describe the function provided by this APAR. The System Programmer Response section of message DSNL512I is being changed to include the description of three new TCP/IP socket call error explanations as follows: * socket=ACCEPT(ip-address..0) With return-code=3448 and reason-code=768F0442, TCP/IP DVIPA services are no longer available. TCP/IP has deleted the IP address and it is no longer usable. The TCP/IP listener is disabled. The DB2 TCP/IP listener attempts to restart every 30 seconds. When TCP/IP DVIPA services are restored, the TCP/IP listener restarts and issues message DSNL519I or DSNL523I to indicate that TCP/IP DVIPA services are restored. * socket=BIND(ip-address..0) With return-code=1116 and reason-code=744C7230, TCP/IP has informed DB2 that the ip-address defined in the BSDS is not valid or not usable. The DB2 TCP/IP listener is not available, but DDF startup completes. To correct this error, stop DB2, run the change log inventory utility (DSNJU003) DDF statement to set a valid and usable IP address in the BSDS, and restart DB2. With return-code=1116 and reason-code=744C7231, TCP/IP has informed DB2 that there are no available ports in the TCP ephemeral port range that can be used by DB2 to establish its awareness of the availability of DVIPA services. The DB2 TCP/IP listener continues its setup but DB2 will not be aware of the availability of DVIPA services. To correct this error, increase the range of TCP ephemeral ports on the TCPCONFIG EPHEMERALPORTS definition in the TCP/IP profile configuration. Refer to the z/OS Communications Server IP Configuration Reference for more information on the TCPCONFIG TCP/IP profile configuration statement. With return-code=111 and reason-code=744C735A, TCP/IP has informed DB2 that DB2 does not have authority to access an unreserved TCP protocol port that can be used by DB2 to establish its awareness of the availability of DVIPA services. The DB2 TCP/IP listener continues its setup but DB2 will not be aware of the availability of DVIPA services. To correct this error, create a PORT UNRSV TCP definition allowing DB2 access to unreserved ports in the TCP/IP profile configuration. Refer to the z/OS Communications Server IP Configuration Reference for more information on the PORT TCP/IP profile configuration statement. With return-code=111 and reason-code=744C735B, TCP/IP has informed DB2 that DB2 does not have SAF permission to access an unreserved TCP protocol port that can be used by DB2 to establish its awareness of the availability of DVIPA services. The DB2 TCP/IP listener continues its setup but DB2 will not be aware of the availability of DVIPA services. To correct this error, grant the DB2 userid read permission to resource EZB.PORTACCESS.sysname.tcpipname.safname. The TCP/IP profile configuration PORT UNRSV TCP definition defines the safname value. The sysname is the MVS system image name and tcpname is the TCP/IP jobname. Refer to the z/OS Communications Server IP Configuration Reference for more information on the PORT TCP/IP profile configuration statement. * socket=LISTEN(ip-address..0) With return-code=111 and reason-code=744C735A, TCP/IP has informed DB2 that DB2 does not have authority to access an unreserved TCP protocol port that can be used by DB2 to establish its awareness of the availability of DVIPA services. The DB2 TCP/IP listener continues its setup but DB2 will not be aware of the availability of DVIPA services. To correct this error, create a PORT UNRSV TCP definition allowing DB2 access to unreserved ports in the TCP/IP profile configuration. Refer to the z/OS Communications Server IP Configuration Reference for more information on the PORT TCP/IP profile configuration statement. With return-code=111 and reason-code=744C735B, TCP/IP has informed DB2 that DB2 does not have SAF permission to access an unreserved TCP protocol port that can be used by DB2 to establish its awareness of the availability of DVIPA services. The DB2 TCP/IP listener continues its setup but DB2 will not be aware of the availability of DVIPA services. To correct this error, grant the DB2 userid read permission to resource EZB.PORTACCESS.sysname.tcpipname.safname. The TCP/IP profile configuration PORT UNRSV TCP definition defines the safname value. The sysname is the MVS system image name and tcpname is the TCP/IP jobname. Refer to the z/OS Communications Server IP Configuration Reference for more information on the PORT TCP/IP profile configuration statement. The product documentation contained in the DB2 for z/OS Knowledge Center will be updated at a later date.
Temporary fix
Comments
APAR Information
APAR number
PI79095
Reported component name
DB2 OS/390 & Z/
Reported component ID
5740XYR00
Reported release
B10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2017-03-30
Closed date
2017-06-14
Last modified date
2021-05-25
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
PI79102 UI48032
Modules/Macros
DSNLILNR
Fix information
Fixed component name
DB2 OS/390 & Z/
Fixed component ID
5740XYR00
Applicable component levels
RB10 PSY UI48032
UP17/06/29 P F706
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.
[{"Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEPEK","label":"Db2 for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"11.0"}]
Document Information
Modified date:
26 May 2021