2026-03-12 20:23:15
This commit is contained in:
57
csierra/cs_internal/cs_plans_mem_2.sql
Normal file
57
csierra/cs_internal/cs_plans_mem_2.sql
Normal file
@@ -0,0 +1,57 @@
|
||||
PRO
|
||||
PRO PLANS IN MEMORY - DISPLAY (dbms_xplan.display_cursor)
|
||||
PRO ~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
PRO
|
||||
SET HEA OFF PAGES 0;
|
||||
WITH
|
||||
ranked_child_cursors AS (
|
||||
SELECT /*+ MATERIALIZE NO_MERGE */
|
||||
s.con_id,
|
||||
sql_id,
|
||||
child_number,
|
||||
ROW_NUMBER () OVER (PARTITION BY plan_hash_value ORDER BY
|
||||
CASE
|
||||
WHEN object_status = 'VALID' AND is_obsolete = 'N' AND is_shareable = 'Y' THEN 1
|
||||
WHEN object_status = 'VALID' AND is_obsolete = 'N' AND is_shareable = 'N' THEN 2
|
||||
WHEN object_status = 'VALID' AND is_obsolete = 'Y' THEN 3
|
||||
ELSE 4
|
||||
END,
|
||||
last_active_time DESC) row_number,
|
||||
plan_hash_value,
|
||||
last_active_time,
|
||||
object_status,
|
||||
is_obsolete,
|
||||
is_shareable,
|
||||
is_bind_sensitive,
|
||||
is_bind_aware,
|
||||
parsing_schema_name,
|
||||
c.name AS pdb_name
|
||||
FROM v$sql s, v$containers c
|
||||
WHERE s.sql_id = '&&cs_sql_id.'
|
||||
AND ('&&cs_plan_hash_value.' IS NULL OR s.plan_hash_value = TO_NUMBER('&&cs_plan_hash_value.'))
|
||||
AND c.con_id = s.con_id
|
||||
ORDER BY
|
||||
s.last_active_time,
|
||||
s.con_id,
|
||||
s.child_number
|
||||
)
|
||||
SELECT CASE WHEN p.plan_table_output LIKE 'SQL_ID %'
|
||||
THEN
|
||||
'Last active time:'||TO_CHAR(r.last_active_time, '&&cs_datetime_full_format.')||
|
||||
' '||REPLACE(REPLACE(p.plan_table_output, 'child number ', 'Child_Number:'), 'SQL_ID ', 'SQL_ID:')||
|
||||
CASE WHEN r.object_status <> 'VALID' THEN ', Object_Status:'||r.object_status END||
|
||||
CASE WHEN r.is_obsolete <> 'N' THEN ', Is_Obsolete' END||
|
||||
CASE WHEN r.is_shareable <> 'Y' THEN ', Is_Not_Shareable' END||
|
||||
CASE WHEN r.is_bind_aware = 'Y' THEN ', Is_Bind_Aware' END||
|
||||
CASE WHEN r.is_bind_sensitive = 'Y' THEN ', Is_Bind_Sensitive' END||
|
||||
', Con_ID:'||TRIM(TO_CHAR(r.con_id))||
|
||||
', PDB_Name:'||r.pdb_name||
|
||||
', Parsing_Schema:'||parsing_schema_name
|
||||
ELSE p.plan_table_output
|
||||
END AS plan_table_output
|
||||
FROM ranked_child_cursors r,
|
||||
TABLE(DBMS_XPLAN.display_cursor(r.sql_id, r.child_number, 'ADVANCED ALLSTATS LAST')) p
|
||||
WHERE r.row_number <= 3 -- up to N most recently active child cursors per plan_hash_value
|
||||
/
|
||||
SET HEA ON PAGES 100;
|
||||
--
|
||||
Reference in New Issue
Block a user