-- 1. Sessão Atual – Ver o SQL_ID do que está sendo executado agora
SELECT sql_id, sql_text
FROM v$sql
WHERE sql_text LIKE '%%';
-- 2. Ver o SQL_ID de uma sessão ativa
SELECT s.sid, s.serial#, s.username, s.sql_id, q.sql_text
FROM v$session s
JOIN v$sql q ON s.sql_id = q.sql_id
WHERE s.username IS NOT NULL;
-- 3. Últimos SQLs executados pelo usuário:
SELECT sql_id, sql_text, last_active_time
FROM v$sql
WHERE parsing_schema_name = 'USER'
ORDER BY last_active_time DESC;
-- 4. Para uma instrução SQL que está sendo executada agora por você (sessão atual)
SELECT sql_id FROM v$session WHERE audsid = USERENV('SESSIONID');
-- 5. Script SQL: Buscar SQL_ID por trecho da SQL ou usuário
SET lines 200
SET pages 200
COL sql_id FORMAT A15
COL sql_text FORMAT A100
COL last_active_time FORMAT A20
COL parsing_schema_name FORMAT A20
ACCEPT v_sql_search PROMPT 'Digite um trecho do SQL : '
SELECT sql_id,
parsing_schema_name,
last_active_time,
sql_text
FROM v$sql
WHERE UPPER(sql_text) LIKE UPPER('%&v_sql_search%')
ORDER BY last_active_time DESC
FETCH FIRST 10 ROWS ONLY;
-- 6.Plano de execução com estatísticas:
set lines 190
set pages 190
undef v_sql_id
accept v_sql_id prompt 'Enter SQL_ID : '
select * from table(dbms_xplan.display_cursor('&v_sql_id','','allstats last'));
-- ALTERNATIVE
select * from table(dbms_xplan.display_cursor('&v_sql_id',0));