A fix is available
APAR status
Closed as program error.
Error description
An unexpected SQLCODE905 is received on a distributed Application containing a Cursor when between the open of the Cursor, the fetches and the close cursor statements are executed other SQL statements (updates, inserts...). . On those cases RLF Reactive Governing is accumulating incorrectly all the cpu time between open cursor and close cursor, including cpu time for all the other SQL activities running between that time, and this could lead to incorrect SQLCODE -905. . Following C1 cursor for a distributed access can cause the unexpected SQLCODE905 due to RLF Governor is accumulating incorrectly the CPU time required for the update statement: . EXEC SQL DECLARE C1 CURSOR WITH HOLD WITH RETURN FOR S1; STMT = 'SELECT C2 FROM STLEC1.ADMF001.TTT1 WHERE C2=333'; - > remote access EXEC SQL PREPARE S1 FROM STMT; EXEC SQL OPEN C1 ; EXEC SQL UPDATE STLEC1.ADMF001.MYTB SET C1=60 WHERE C1=61; EXEC SQL FETCH C1 INTO :HCHAR1 ; EXEC SQL FETCH C1 INTO :HCHAR2 ; EXEC SQL FETCH C1 INTO :HCHAR3 ; EXEC SQL CLOSE C1; KEYWORDS: SQLCODE905 DB2RLF ASUTIMELIMIT
Local fix
BYPASS/CIRCUMVENTION: N/A
Problem summary
**************************************************************** * USERS AFFECTED: * * All Db2 12 for z/OS users of Resource Limit * * Facility (RLF) with distributed application * * where the cursor references a 3-part name * * and the remote cursor is opened more than * * once * **************************************************************** * PROBLEM DESCRIPTION: * * SQLCODE -905 issued by RLF on the OPEN * * cursor statement at the requester side * * when the cursor is opened more than * * once. The appliction also must have * * other non-governable SQL statements * * are executed between OPEN and CLOSE * * cursor statements. * **************************************************************** * RECOMMENDATION: * * Apply corrective PTF when available * **************************************************************** An unexpected SQLCODE -905 is received at requester side on a OPEN cursor statement when the cursor is opened more than once and there are some non-governable statements executed between OPEN and CLOSE cursor statements. For Db2z as an Application Requester/AR, RLF does NOT reactively govern the execution of dynamic statements that are sent to and run on remote servers. As an AR, RLF should only reactively governs PREPARE and DESCRIBE that really happen at the AR for remote statements. But RLF incorrectly governed the OPEN and CLOSE statements as AR and also accumulated incorrectly all the cpu time between OPEN and CLOSE cursor, including cpu time for all the other SQL activities running between that time, and this could lead to incorrect SQLCODE -905. The following scenario can cause the unexpected SQLCODE -905 described above. DECLARE C1 CURSOR FOR S1; PREPARE S1; OPEN C1 ; ... < Other non-governable SQLs are executed >; ... FETCH C1; CLOSE C1; OPEN C1 ; << unexpected SQL can be issued here... KEYWORDS: DB2RLF SQLCODE905 ASUTIMELIMIT TIMEUSEDSOFAR
Problem conclusion
Db2 RLF code has been changed to only reactively govern PREPARE and DESCRIBE statements for distributed application when it is an Application Requester.
Temporary fix
Comments
APAR Information
APAR number
PH37070
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
2021-05-08
Closed date
2021-06-15
Last modified date
2021-07-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI75891
Modules/Macros
DSNXERT
Fix information
Fixed component name
DB2 OS/390 & Z/
Fixed component ID
5740XYR00
Applicable component levels
RC10 PSY UI75891
UP21/06/23 P F106
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.
[{"Type":"MASTER","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"},"Version":"All Versions"}]
Document Information
Modified date:
03 July 2021