Gblog

おもにTips

リテラルSQLの洗い出し

hard parse が多く、"% SQL with executions>1" が低かったので、リテラルSQLを調査した。(できればアプリ側で確認しろって思ってますが)

FORCE_MATCHING_SIGNATURE を使えば、よしなにできる。

以下で洗い出して。

SET pages 10000
SET linesize 250
column FORCE_MATCHING_SIGNATURE format 99999999999999999999999
SELECT FORCE_MATCHING_SIGNATURE,COUNT(*) cnt FROM v$sqlarea WHERE FORCE_MATCHING_SIGNATURE!=0 GROUP BY FORCE_MATCHING_SIGNATURE HAVING COUNT(*) > 20;

以下でリストする。

SELECT sql_text ,sql_id,FORCE_MATCHING_SIGNATURE FROM v$sqlarea WHERE FORCE_MATCHING_SIGNATURE = '<SIGNATURE>';