IBM Support

PH37070: SQLCODE

A fix is available

Subscribe

You can track all active APARs for this component.

 

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