在服务器上执行了更新SQL查询,后来导致了许多问题。
如何获取最近2个月内执行的更新查询列表,以便跟踪确切的SQL查询?
答案 0 :(得分:56)
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
子句是可选的。您可以根据FIRST_LOAD_TIME对结果进行排序,并查找最多2个月前的记录。
答案 1 :(得分:32)
对于最近的SQL:
select * from v$sql
历史:
select * from dba_hist_sqltext
答案 2 :(得分:8)
您可以使用此sql语句获取任何日期的历史记录:
SELECT * FROM V$SQL V where to_date(v.FIRST_LOAD_TIME,'YYYY-MM-DD hh24:mi:ss') > sysdate - 60