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?
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.
Pour SQL récent:
select * from v$sql
Pour l'histoire:
select * from dba_hist_sqltext
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