可以根据FORCE_MATCHING_SIGNATURE来查询
FORCE_MATCHING_SIGNATURE
NUMBER
Signature used when the CURSOR_SHARING parameter is set to FORCE
select * from v$sql where FORCE_MATCHING_SIGNATURE>0
或者V$SQLAREA、V$SQLSTATS都有记录 可以根据你需要的规则进行聚合排序得出频繁类似的SQL
更多参考
http://docs.oracle.com/database/122/REFRN/V-SQL.htm#REFRN30246
with force_mathces as (select l.force_matching_signature mathces, max(l.sql_id || l.child_number) max_sql_child, dense_rank() over(order by count(*) desc) ranking from v$sql l where l.force_matching_signature <> 0 and l.parsing_schema_name <> 'SYS' group by l.force_matching_signature having count(*) > 10) select v.sql_id, v.sql_text, v.parsing_schema_name, fm.mathces, fm.ranking from force_mathces fm, v$sql v where fm.max_sql_child = (v.sql_id || v.child_number) and fm.ranking <= 15 order by fm.ranking;
收起