V$SQL_SHARED_CURSOR

V$SQL_SHARED_CURSOR explains why a particular child cursor is not shared with existing child cursors. Each column identifies a specific reason why the cursor cannot be shared.

Column Datatype Description
SQL_ID VARCHAR2(13) SQL identifier
ADDRESS RAW(4 | 8) Address of the parent cursor
CHILD_ADDRESS RAW(4 | 8) Address of the child cursor
CHILD_NUMBER NUMBER Child number
UNBOUND_CURSOR VARCHAR2(1) (Y|N) The existing child cursor was not fully built (in other words, it was not optimized)
SQL_TYPE_MISMATCH VARCHAR2(1) (Y|N) The SQL type does not match the existing child cursor
OPTIMIZER_MISMATCH VARCHAR2(1) (Y|N) The optimizer environment does not match the existing child cursor
OUTLINE_MISMATCH VARCHAR2(1) (Y|N) The outlines do not match the existing child cursor
STATS_ROW_MISMATCH VARCHAR2(1) (Y|N) The existing statistics do not match the existing child cursor
LITERAL_MISMATCH VARCHAR2(1) (Y|N) Non-data literal values do not match the existing child cursor
FORCE_HARD_PARSE VARCHAR2(1) (Y|N) For internal use
EXPLAIN_PLAN_CURSOR VARCHAR2(1) (Y|N) The child cursor is an explain plan cursor and should not be shared
BUFFERED_DML_MISMATCH VARCHAR2(1) (Y|N) Buffered DML does not match the existing child cursor
PDML_ENV_MISMATCH VARCHAR2(1) (Y|N) PDML environment does not match the existing child cursor
INST_DRTLD_MISMATCH VARCHAR2(1) (Y|N) Insert direct load does not match the existing child cursor
SLAVE_QC_MISMATCH VARCHAR2(1) (Y|N) The existing child cursor is a slave cursor and the new one was issued by the coordinator (or, the existing child cursor was issued by the coordinator and the new one is a slave cursor)
TYPECHECK_MISMATCH VARCHAR2(1) (Y|N) The existing child cursor is not fully optimized
AUTH_CHECK_MISMATCH VARCHAR2(1) (Y|N) Authorization/translation check failed for the existing child cursor
BIND_MISMATCH VARCHAR2(1) (Y|N) The bind metadata does not match the existing child cursor
DESCRIBE_MISMATCH VARCHAR2(1) (Y|N) The typecheck heap is not present during the describe for the child cursor
LANGUAGE_MISMATCH VARCHAR2(1) (Y|N) The language handle does not match the existing child cursor
TRANSLATION_MISMATCH VARCHAR2(1) (Y|N) The base objects of the existing child cursor do not match
BIND_EQUIV_FAILURE VARCHAR2(1) (Y|N) The bind value's selectivity does not match that used to optimize the existing child cursor
INSUFF_PRIVS VARCHAR2(1) (Y|N) Insufficient privileges on objects referenced by the existing child cursor
INSUFF_PRIVS_REM VARCHAR2(1) (Y|N) Insufficient privileges on remote objects referenced by the existing child cursor
REMOTE_TRANS_MISMATCH VARCHAR2(1) (Y|N) The remote base objects of the existing child cursor do not match
LOGMINER_SESSION_MISMATCH VARCHAR2(1) (Y|N) LogMiner Session parameters mismatch
INCOMP_LTRL_MISMATCH VARCHAR2(1) (Y|N) Cursor might have some binds (literals) which may be unsafe/non-data. Value mismatch.
OVERLAP_TIME_MISMATCH VARCHAR2(1) (Y|N) Mismatch caused by setting session parameter ERROR_ON_OVERLAP_TIME
EDITION_MISMATCH VARCHAR2(1) (Y|N) Cursor edition mismatch
MV_QUERY_GEN_MISMATCH VARCHAR2(1) (Y|N) Internal, used to force a hard-parse when analyzing materialized view queries
USER_BIND_PEEK_MISMATCH VARCHAR2(1) (Y|N) Cursor is not shared because value of one or more user binds is different and this has a potential to change the execution plan
TYPCHK_DEP_MISMATCH VARCHAR2(1) (Y|N) Cursor has typecheck dependencies
NO_TRIGGER_MISMATCH VARCHAR2(1) (Y|N) Cursor and child have no trigger mismatch
FLASHBACK_CURSOR VARCHAR2(1) (Y|N) Cursor non-shareability due to flashback
ANYDATA_TRANSFORMATION VARCHAR2(1) (Y|N) Is criteria for opaque type transformation and does not match
INCOMPLETE_CURSORFoot 1  VARCHAR2(1) (Y|N) Cursor is incomplete: typecheck heap came from call memory
PDDL_ENV_MISMATCHFoot 2  VARCHAR2(1) (Y|N) Environment setting mismatch for parallel DDL cursor (that is, one or more of the following parameter values have changed: PARALLEL_EXECUTION_ENABLED, PARALLEL_DDL_MODE, PARALLEL_DDL_FORCED_DEGREE, or PARALLEL_DDL_FORCED_INSTANCES)
TOP_LEVEL_RPI_CURSOR VARCHAR2(1) (Y|N) Is top level RPI cursor
DIFFERENT_LONG_LENGTH VARCHAR2(1) (Y|N) Value of LONG does not match
LOGICAL_STANDBY_APPLY VARCHAR2(1) (Y|N) Logical standby apply context does not match
DIFF_CALL_DURN VARCHAR2(1) (Y|N) If Slave SQL cursor/single call
BIND_UACS_DIFF VARCHAR2(1) (Y|N) One cursor has bind UACs and one does not
PLSQL_CMP_SWITCHS_DIFF VARCHAR2(1) (Y|N) PL/SQL anonymous block compiled with different PL/SQL compiler switches
CURSOR_PARTS_MISMATCH VARCHAR2(1) (Y|N) Cursor was compiled with subexecution (cursor parts were executed)
STB_OBJECT_MISMATCH VARCHAR2(1) (Y|N) STB is an internal name for a SQL Management Object Mismatch. A SQL Management Object Mismatch means that either a SQL plan baseline, or a SQL profile, or a SQL patch has been created for your SQL statement between the executions. Because a cursor is a read-only entity, a hard parse is forced to be able to create a new cursor that contains information about the new SQL management object related to this SQL statement.
CROSSEDITION_TRIGGER_MISMATCH VARCHAR2(1) (Y|N) The set of crossedition triggers to execute might differ
PQ_SLAVE_MISMATCH VARCHAR2(1) (Y|N) Top-level slave decides not to share cursor
TOP_LEVEL_DDL_MISMATCH VARCHAR2(1) (Y|N) Is top-level DDL cursor
MULTI_PX_MISMATCH VARCHAR2(1) (Y|N) Cursor has multiple parallelizers and is slave-compiled
BIND_PEEKED_PQ_MISMATCH VARCHAR2(1) (Y|N) Cursor based around bind peeked values
MV_REWRITE_MISMATCH VARCHAR2(1) (Y|N) Cursor needs recompilation because an SCN was used during compile time due to being rewritten by materialized view
ROLL_INVALID_MISMATCH VARCHAR2(1) (Y|N) Marked for rolling invalidation and invalidation window exceeded
OPTIMIZER_MODE_MISMATCH VARCHAR2(1) (Y|N) Parameter OPTIMIZER_MODE mismatch (for example, all_rows versus first_rows_1)
PX_MISMATCH VARCHAR2(1) (Y|N) Mismatch in one parameter affecting the parallelization of a SQL statement. For example, one cursor was compiled with parallel DML enabled while the other was not.
MV_STALEOBJ_MISMATCH VARCHAR2(1) (Y|N) Cursor cannot be shared because there is a mismatch in the list of materialized views which were stale at the time the cursor was built
FLASHBACK_TABLE_MISMATCH VARCHAR2(1) (Y|N) Cursor cannot be shared because there is a mismatch with triggers being enabled and/or referential integrity constraints being deferred
LITREP_COMP_MISMATCH VARCHAR2(1) (Y|N) Mismatch in use of literal replacement
PLSQL_DEBUG VARCHAR2(1) (Y|N) Value of the PLSQL_DEBUG parameter for the current session does not match the value used to build the cursor
LOAD_OPTIMIZER_STATS VARCHAR2(1) (Y|N) A hard parse is forced in order to initialize extended cursor sharing
ACL_MISMATCH VARCHAR2(1) (Y|N) Cached ACL evaluation result stored in the child cursor is not valid for the current session or user
FLASHBACK_ARCHIVE_MISMATCH VARCHAR2(1) (Y|N) Value of the FLASHBACK_DATA_ARCHIVE_INTERNAL_CURSOR parameter for the current session does not match the value used to build the cursor
LOCK_USER_SCHEMA_FAILED VARCHAR2(1) (Y|N) User or schema used to build the cursor no longer exists

Note: This sharing criterion is deprecated

REMOTE_MAPPING_MISMATCH VARCHAR2(1) (Y|N) Reloaded cursor was previously remote-mapped and is currently not remote-mapped. Therefore, the cursor needs to be reparsed.
LOAD_RUNTIME_HEAP_FAILED VARCHAR2(1) (Y|N) Loading of runtime heap for the new cursor (or reload of aged out cursor) failed
HASH_MATCH_FAILED VARCHAR2(1) (Y|N) No existing child cursors have the unsafe literal bind hash values required by the current cursor
PURGED_CURSOR VARCHAR2(1) (Y|N) Child cursor is marked for purging
BIND_LENGTH_UPGRADEABLE VARCHAR2(1) (Y|N) Bind length(s) required for the current cursor are longer than the bind length(s) used to build the child cursor
USE_FEEDBACK_STATSFootref 2 VARCHAR2(1) (Y|N) A hard parse is forced so that the optimizer can reoptimize the query with improved cardinality estimates
REASONFootref 2 CLOB Child number, id, and reason the cursor is not shared. The content of this column is structured using XML.

Footnote 1 This column is not available starting with Oracle Database 11g Release 2 (11.2.0.2).

Footnote 2 This column is available starting with Oracle Database 11g Release 2 (11.2.0.2).