2013-02-12 6 views
26

Jeder hat einige Update SQL-Abfrage auf dem Server ausgeführt. Dadurch kommen jetzt viele Probleme auf uns zu. Ich möchte die Liste der Update-Abfragen, die in den letzten 2 Monaten für die genaue SQL-Abfrage, die das Problem ist, ausgeführt werden.Finden Sie die Geschichte der SQL-Abfragen

Können Sie mir bitte dabei helfen?

Danke !!

Antwort

43
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 Klausel ist optional. Sie können die Ergebnisse nach FIRST_LOAD_TIME sortieren und die Datensätze bis zu 2 Monaten finden.

+0

Dank Bonsvr .. Aber über SQL-Abfrage bieten nur die heutigen SQLs, die ausgeführt werden. –

+1

Posten Sie eine Zelle aus Ihrer Spalte first_load_time. – bonsvr

+0

Sorry, ich habe Ihren Punkt nicht verstanden .... –

20

Für den letzten SQL:

select * from v$sql 

Für Geschichte:

select * from dba_hist_sqltext 
3

Sie können diese SQL-Anweisung verwenden, um die Geschichte für jedes Datum zu erhalten:

SELECT * FROM V$SQL V where first_load_time LIKE '2015-05-04%'; 
Verwandte Themen