web-dev-qa-db-fra.com

Découvrez l'historique des requêtes SQL

Une requête SQL de mise à jour a été exécutée sur le serveur, ce qui a posé de nombreux problèmes ultérieurement.

Comment puis-je obtenir la liste des requêtes de mise à jour exécutées au cours des 2 derniers mois afin de pouvoir suivre la requête SQL problématique?

43
sumit vedi
    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)

La clause where est facultative. Vous pouvez trier les résultats en fonction de FIRST_LOAD_TIME et rechercher les enregistrements il y a moins de 2 mois.

60
bonsvr

Pour SQL récent:

select * from v$sql

Pour l'histoire:

select * from dba_hist_sqltext
34
grokster

Vous pouvez utiliser cette instruction SQL pour obtenir l'historique pour n'importe quelle date:

SELECT * FROM V$SQL V where  to_date(v.FIRST_LOAD_TIME,'YYYY-MM-DD hh24:mi:ss') > sysdate - 60
8
Ashish Pandey