user710818
user710818

Reputation: 24248

How to find parameters in Oracle query received from v$sql?

I use query:

 select LAST_LOAD_TIME, ELAPSED_TIME, MODULE, SQL_TEXT elasped from v$sql
 WHERE MODULE='JDBC Thin Client'
 ORDER BY LAST_LOAD_TIME DESC

elasped:

 delete from tableA where fk in (select pk from tableB where tableB.fk=:1
 and tableB.date between :2 and :3)

Is it possible find these parameters 1, 2 and 3?

Upvotes: 18

Views: 21823

Answers (1)

user330315
user330315

Reputation:

Something like this:

select s.sql_id, 
       bc.position, 
       bc.value_string, 
       s.last_load_time, 
       bc.last_captured
from v$sql s
  left join v$sql_bind_capture bc 
         on bc.sql_id = s.sql_id 
        and bc.child_number = s.child_number
where s.sql_text like 'delete from tableA where fk%' -- or any other method to identify the SQL statement
order by s.sql_id, bc.position;

Upvotes: 26

Related Questions