问题
An update SQL query was executed on the server, which caused many problems later.
How can I get the list of update queries executed in last 2 months, so that I can trace the exact problematic SQL query?
回答1:
select v.SQL_TEXT,
v.PARSING_SCHEMA_NAME,
v.FIRST_LOAD_TIME,
v.DISK_READS,
v.ROWS_PROCESSED,
v.ELAPSED_TIME,
v.service
from v$sql v
where to_date(v.FIRST_LOAD_TIME,'YYYY-MM-DD hh24:mi:ss')>ADD_MONTHS(trunc(sysdate,'MM'),-2)
where
clause is optional. You can sort the results according to FIRST_LOAD_TIME and find the records up to 2 months ago.
回答2:
For recent SQL:
select * from v$sql
For history:
select * from dba_hist_sqltext
回答3:
You can use this sql statement to get the history for any date:
SELECT * FROM V$SQL V where to_date(v.FIRST_LOAD_TIME,'YYYY-MM-DD hh24:mi:ss') > sysdate - 60
来源:https://stackoverflow.com/questions/14830875/find-out-the-history-of-sql-queries