Es posible que necesite obtener el sql_id de una consulta en Oracle para solucionar algún problema de rendimiento o simplemente para comprobar algunas estadísticas.
Esta es la forma más sencilla de hacerlo.
Usted consulta v$sql con algún texto que sabe que contiene su consulta.
SELECT sql_id, plan_hash_value, SUBSTR(sql_text,1,40) Text
FROM v$sql
WHERE sql_text LIKE '%&An_Identifiable_String%';
Si no lo encuentras en la consulta anterior, puedes utilizar esta otra consulta que va aún más al pasado.
Es una consulta que une dba_hist_sqlstat y dba_hist_sqltext.
SELECT
s.sql_id,
s.plan_hash_value,
t.sql_text,
s.snap_id
FROM
dba_hist_sqlstat s,
dba_hist_sqltext t
WHERE s.dbid = t.dbid
AND s.sql_id = t.sql_id
AND sql_text LIKE 'SELECT /* TARGET SQL */%'
ORDER BY
s.sql_id;