Sheared cursor detail v$sql_shared_cursor


Aşağıdaki sorgu yardımı ile, belirlediğimiz bir sql'in sqlid ni girerek, SGA içerisindeki davranış detayını, oluşturduğu child tipini görebilirsiniz.

P.S: Neden ihtiyaç duyabiliriz ?
P.S.S: Pek çok kez sql detayını incelediğimizde bir sql'in pek çok childinin oluştuğunu görebiliriz. Bunların hangi type yapısınıda olduğunun detayını bize verir. Ve buna göre aksiyon alabiliriz.


select sql_id,sebep reason,sum(decode(sorun,'Y',1,0)) adet from (
select sql_id,
UNBOUND_CURSOR ,
SQL_TYPE_MISMATCH ,
OPTIMIZER_MISMATCH ,
OUTLINE_MISMATCH ,
STATS_ROW_MISMATCH ,
LITERAL_MISMATCH ,
FORCE_HARD_PARSE ,
EXPLAIN_PLAN_CURSOR ,
BUFFERED_DML_MISMATCH ,
PDML_ENV_MISMATCH ,
INST_DRTLD_MISMATCH ,
SLAVE_QC_MISMATCH ,
TYPECHECK_MISMATCH ,
AUTH_CHECK_MISMATCH ,
BIND_MISMATCH ,
DESCRIBE_MISMATCH ,
LANGUAGE_MISMATCH ,
TRANSLATION_MISMATCH ,
BIND_EQUIV_FAILURE ,
INSUFF_PRIVS ,
INSUFF_PRIVS_REM ,
REMOTE_TRANS_MISMATCH ,
LOGMINER_SESSION_MISMATCH ,
INCOMP_LTRL_MISMATCH ,
OVERLAP_TIME_MISMATCH ,
EDITION_MISMATCH ,
MV_QUERY_GEN_MISMATCH ,
USER_BIND_PEEK_MISMATCH ,
TYPCHK_DEP_MISMATCH ,
NO_TRIGGER_MISMATCH ,
FLasHBACK_CURSOR ,
ANYDATA_TRANSFORMATION ,
PDDL_ENV_MISMATCH ,
TOP_LEVEL_RPI_CURSOR ,
DIFFERENT_LONG_LENGTH ,
LOGICAL_STANDBY_APPLY ,
DIFF_CALL_DURN ,
BIND_UACS_DIFF ,
PLSQL_CMP_SWITCHS_DIFF ,
CURSOR_PARTS_MISMATCH ,
STB_OBJECT_MISMATCH ,
CROSSEDITION_TRIGGER_MISMATCH ,
PQ_SLAVE_MISMATCH ,
TOP_LEVEL_DDL_MISMATCH ,
MULTI_PX_MISMATCH ,
BIND_PEEKED_PQ_MISMATCH ,
MV_REWRITE_MISMATCH ,
ROLL_INVALID_MISMATCH ,
OPTIMIZER_MODE_MISMATCH ,
PX_MISMATCH ,
MV_STALEOBJ_MISMATCH ,
FLasHBACK_TABLE_MISMATCH ,
LITREP_COMP_MISMATCH ,
PLSQL_DEBUG ,
LOAD_OPTIMIZER_STATS ,
ACL_MISMATCH ,
FLasHBACK_ARCHIVE_MISMATCH ,
LOCK_USER_SCHEMA_FAILED ,
REMOTE_MAPPING_MISMATCH ,
LOAD_RUNTIME_HEAP_FAILED ,
HasH_MATCH_FAILED ,
PURGED_CURSOR ,
BIND_LENGTH_UPGRADEABLE ,
USE_FEEDBACK_STATS
from v$sql_shared_cursor where sql_id='&sql_id')
unpivot (sorun for sebep in (
UNBOUND_CURSOR as 'UNBOUND_CURSOR',
SQL_TYPE_MISMATCH as 'SQL_TYPE_MISMATCH',
OPTIMIZER_MISMATCH as 'OPTIMIZER_MISMATCH',
OUTLINE_MISMATCH as 'OUTLINE_MISMATCH',
STATS_ROW_MISMATCH as 'STATS_ROW_MISMATCH',
LITERAL_MISMATCH as 'LITERAL_MISMATCH',
FORCE_HARD_PARSE as 'FORCE_HARD_PARSE',
EXPLAIN_PLAN_CURSOR as 'EXPLAIN_PLAN_CURSOR',
BUFFERED_DML_MISMATCH as 'BUFFERED_DML_MISMATCH',
PDML_ENV_MISMATCH as 'PDML_ENV_MISMATCH',
INST_DRTLD_MISMATCH as 'INST_DRTLD_MISMATCH',
SLAVE_QC_MISMATCH as 'SLAVE_QC_MISMATCH',
TYPECHECK_MISMATCH as 'TYPECHECK_MISMATCH',
AUTH_CHECK_MISMATCH as 'AUTH_CHECK_MISMATCH',
BIND_MISMATCH as 'BIND_MISMATCH',
DESCRIBE_MISMATCH as 'DESCRIBE_MISMATCH',
LANGUAGE_MISMATCH as 'LANGUAGE_MISMATCH',
TRANSLATION_MISMATCH as 'TRANSLATION_MISMATCH',
BIND_EQUIV_FAILURE as 'BIND_EQUIV_FAILURE',
INSUFF_PRIVS as 'INSUFF_PRIVS',
INSUFF_PRIVS_REM as 'INSUFF_PRIVS_REM',
REMOTE_TRANS_MISMATCH as 'REMOTE_TRANS_MISMATCH',
LOGMINER_SESSION_MISMATCH as 'LOGMINER_SESSION_MISMATCH',
INCOMP_LTRL_MISMATCH as 'INCOMP_LTRL_MISMATCH',
OVERLAP_TIME_MISMATCH as 'OVERLAP_TIME_MISMATCH',
EDITION_MISMATCH as 'EDITION_MISMATCH',
MV_QUERY_GEN_MISMATCH as 'MV_QUERY_GEN_MISMATCH',
USER_BIND_PEEK_MISMATCH as 'USER_BIND_PEEK_MISMATCH',
TYPCHK_DEP_MISMATCH as 'TYPCHK_DEP_MISMATCH',
NO_TRIGGER_MISMATCH as 'NO_TRIGGER_MISMATCH',
FLASHBACK_CURSOR as 'FLASHBACK_CURSOR',
ANYDATA_TRANSFORMATION as 'ANYDATA_TRANSFORMATION',
PDDL_ENV_MISMATCH as 'PDDL_ENV_MISMATCH',
TOP_LEVEL_RPI_CURSOR as 'TOP_LEVEL_RPI_CURSOR',
DIFFERENT_LONG_LENGTH as 'DIFFERENT_LONG_LENGTH',
LOGICAL_STANDBY_APPLY as 'LOGICAL_STANDBY_APPLY',
DIFF_CALL_DURN as 'DIFF_CALL_DURN',
BIND_UACS_DIFF as 'BIND_UACS_DIFF',
PLSQL_CMP_SWITCHS_DIFF as 'PLSQL_CMP_SWITCHS_DIFF',
CURSOR_PARTS_MISMATCH as 'CURSOR_PARTS_MISMATCH',
STB_OBJECT_MISMATCH as 'STB_OBJECT_MISMATCH',
CROSSEDITION_TRIGGER_MISMATCH as 'CROSSEDITION_TRIGGER_MISMATCH',
PQ_SLAVE_MISMATCH as 'PQ_SLAVE_MISMATCH',
TOP_LEVEL_DDL_MISMATCH as 'TOP_LEVEL_DDL_MISMATCH',
MULTI_PX_MISMATCH as 'MULTI_PX_MISMATCH',
BIND_PEEKED_PQ_MISMATCH as 'BIND_PEEKED_PQ_MISMATCH',
MV_REWRITE_MISMATCH as 'MV_REWRITE_MISMATCH',
ROLL_INVALID_MISMATCH as 'ROLL_INVALID_MISMATCH',
OPTIMIZER_MODE_MISMATCH as 'OPTIMIZER_MODE_MISMATCH',
PX_MISMATCH as 'PX_MISMATCH',
MV_STALEOBJ_MISMATCH as 'MV_STALEOBJ_MISMATCH',
FLASHBACK_TABLE_MISMATCH as 'FLASHBACK_TABLE_MISMATCH',
LITREP_COMP_MISMATCH as 'LITREP_COMP_MISMATCH',
PLSQL_DEBUG as 'PLSQL_DEBUG',
LOAD_OPTIMIZER_STATS as 'LOAD_OPTIMIZER_STATS',
ACL_MISMATCH as 'ACL_MISMATCH',
FLASHBACK_ARCHIVE_MISMATCH as 'FLASHBACK_ARCHIVE_MISMATCH',
LOCK_USER_SCHEMA_FAILED as 'LOCK_USER_SCHEMA_FAILED',
REMOTE_MAPPING_MISMATCH as 'REMOTE_MAPPING_MISMATCH',
LOAD_RUNTIME_HEAP_FAILED as 'LOAD_RUNTIME_HEAP_FAILED',
HASH_MATCH_FAILED as 'HASH_MATCH_FAILED',
PURGED_CURSOR as 'PURGED_CURSOR',
BIND_LENGTH_UPGRADEABLE as 'BIND_LENGTH_UPGRADEABLE',
USE_FEEDBACK_STATS as 'USE_FEEDBACK_STATS'
) )
group by sql_id,sebep
having sum(decode(sorun,'Y',1,0))>0;

Ara