2026-05-01 09:25:48 +02:00
|
|
|
PROMPT In RAC environement, be sure to be connected to the instance where the SQL_ID is in library cache
|
|
|
|
|
|
|
|
|
|
undefine sql_id
|
|
|
|
|
define sql_id=&&1
|
|
|
|
|
|
|
|
|
|
SELECT plan_hash_value, SUM(executions) executions, SUM(elapsed_time) elapsed_time, /* exclude_me */
|
|
|
|
|
CASE WHEN SUM(executions) > 0 THEN ROUND(SUM(elapsed_time)/SUM(executions)/1e6, 3) END avg_secs_per_exec
|
|
|
|
|
FROM v$sql
|
|
|
|
|
WHERE sql_id = '&&sql_id.'
|
|
|
|
|
GROUP BY
|
|
|
|
|
plan_hash_value
|
|
|
|
|
ORDER BY
|
|
|
|
|
4 DESC NULLS FIRST;
|
|
|
|
|
|
|
|
|
|
ACC plan_hash_value PROMPT 'Enter Plan Hash Value: ';
|
|
|
|
|
|
|
|
|
|
VAR plans NUMBER;
|
|
|
|
|
|
|
|
|
|
EXEC :plans := DBMS_SPM.load_plans_from_cursor_cache('&&sql_id.', TO_NUMBER('&&plan_hash_value.'));
|
|
|
|
|
|
|
|
|
|
PRINT plans;
|
|
|
|
|
|
|
|
|
|
SET PAGES 14 LONG 80 ECHO OFF;
|
|
|
|
|
|
|
|
|
|
UNDEF sql_text_piece sql_id plan_hash_value
|