2013-02-12 17 views
26

Qualcuno ha eseguito una query SQL di aggiornamento sul server. Da questo momento stanno arrivando molti problemi. Voglio l'elenco delle query di aggiornamento eseguite negli ultimi 2 mesi per tracciare la query SQL esatta che rappresenta il problema.Trova la cronologia delle query SQL

Potete aiutarmi per favore su questo?

Grazie !!

risposta

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 la clausola è facoltativa. Puoi ordinare i risultati in base a FIRST_LOAD_TIME e trovare i record fino a 2 mesi fa.

+0

Grazie Bonsvr .. Ma sopra la query SQL fornisce solo gli SQL di oggi che vengono eseguiti. –

+1

pubblica una cella dalla tua colonna first_load_time. – bonsvr

+0

Scusate, non ho capito il vostro punto ... –

20

Per recente SQL:

select * from v$sql 

Per la storia:

select * from dba_hist_sqltext 
3

È possibile utilizzare questa istruzione SQL per ottenere la storia per qualsiasi data:

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