Oracle硬解析查询

SELECT FORCE_MATCHING_SIGNATURE,to_char(FORCE_MATCHING_SIGNATURE ) as sing,
       COUNT(1) AS REPLACE_NUM,
       ROUND(SUM(SHARABLE_MEM) / 1024 / 1024) AS SHARED_MB,
       ROUND(SUM(PERSISTENT_MEM) / 1024 / 1024) AS SHARED_MB,
       ROUND(SUM(RUNTIME_MEM) / 1024 / 1024) AS SHARED_MB,
       ROUND(SUM(CPU_TIME) / SUM(EXECUTIONS) / 1000, 3) AS CPU_TIME_AS_HAO,
       ROUND(SUM(ELAPSED_TIME) / SUM(EXECUTIONS) / 1000, 3) AS ELAPSED_TIME_AS_HAO
  FROM V$SQL
 WHERE FORCE_MATCHING_SIGNATURE > 0
   AND EXECUTIONS > 0
   AND FORCE_MATCHING_SIGNATURE != EXACT_MATCHING_SIGNATURE
 GROUP BY FORCE_MATCHING_SIGNATURE
HAVING COUNT(1) > 1
 ORDER BY 2 DESC;








 SELECT X.*
  FROM V$SQL X
 WHERE FORCE_MATCHING_SIGNATURE IN ('&FORCE_MATCHING_SIGNATURE') ;






5.统计硬解析的SQL语句
查SQL硬解析次数1000以上的FORCE_MATCHING_SIGNATURE,若需要得到SQL语句用FORCE_MATCHING_SIGNATURE关联即可:


select to_char(FORCE_MATCHING_SIGNATURE)  FORCE_MATCHING_SIGNATURE, count(1)  counts from v$sql 
where FORCE_MATCHING_SIGNATURE>0 and FORCE_MATCHING_SIGNATURE <> EXACT_MATCHING_SIGNATURE and EXECUTIONS<=5
group by FORCE_MATCHING_SIGNATURE
having count(1) > 1000
order by 2 desc;
请使用浏览器的分享功能分享到微信等