1. Get latest query
select sql_text from v$sql where first_load_time=(select max(first_load_time) from v$sql)
2. Sort executed queries by load time
select sql_text, first_load_time from v$sql order by first_load_time desc
3. Get executed queries in a schema which have special text and sort by load time
select * from v$sql
where parsing_schema_name like 'YOUR_SCHEMA' and sql_text like '%YOUR_TEXT%'
order by first_load_time desc
where parsing_schema_name like 'YOUR_SCHEMA' and sql_text like '%YOUR_TEXT%'
order by first_load_time desc
4. Get 100 last executed queries
select sql_fulltext from
(select * from v$sql where parsing_schema_name like 'VHA' order by first_load_time desc)
where rownum < 101
(select * from v$sql where parsing_schema_name like 'VHA' order by first_load_time desc)
where rownum < 101
select sql_text,sql_fulltext, first_load_time, parsing_schema_name from
(
select * from v$sql
where parsing_schema_name like 'YOUR_SCHEMA'
and (sql_text like '%UPDATE %' or sql_text like '%INSERT %')
and to_timestamp(first_load_time, 'YYYY-MM-DD/HH24:MI:SS') > to_timestamp('2012-09-27/14:06:00', 'YYYY-MM-DD/HH24:MI:SS')
order by first_load_time desc
)
where rownum < 101
You can create your own queries to find out what queries you need to check. Remember this view v$sql doesn't store prepared statements.
We also can use function Session Browser of Toad for Oracle to trace SQL history. Remember to connect as SYSDBA, then activate the session you want to trace, then see what happens in visual screens.
ReplyDelete