Monday, June 15, 2020

Oracle Cursor Sharing Bug in 12c Database (cursor: pin S wait on X) wait event

Oracle Cursor Sharing Bug


Bug 14176247 - Many child cursors using Adaptive Cursor Sharing with binds (due to BIND_EQUIV_FAILURE)


Symptoms:

Related To:


Description

 
A high number of child cursors may be produced with the same plan when
using Adaptive Cursor Sharing for SQL with binds in some cases.
 
Rediscovery Notes
 This bug may be suspected if all of the following are true:
  A cursor has a high VERSION_COUNT in V$SQLAREA
  The reason for not sharing shows as BIND_EQUIV_FAILURE in V$SQL_SHARED_CURSOR
  The query has multiple predicates with binds that are involved in 
   extended cursor sharing.  
  The are many selectivity ranges (in V$SQL_CS_SELECTIVITY), and they overlap. 

  Setting _optimizer_extended_cursor_sharing_rel = none avoids the problem
 
 In cases if high concurrency the issue may also show as 
  "cursor: pin S wait on X" waits against the problem cursor/s
 
Workaround
 Set _optimizer_extended_cursor_sharing_rel = none

Adaptive cursor sharing bug that is described on DOC ID 14176247.8 of MOS.


 

 

No comments: