ORA-01555 et Query Duration=0
L’erreur ORA-01555 signifie que la requête en cours d’exécution cherche à obtenir pour une donnée une image dans le temps qui n’est plus présente en base.
Il est donc très fréquent de trouver cette erreur pour des requêtes avec une durée d’exécution très longue. Cette information est remontée lorsque l’erreur survient (Query Duration = <durée> sec).
Pour une requête rapide, une autre cause possible est une forte activité transactionnelle, ayant pour conséquence une saturation du tablespace d’annulation, donc potentiellement une disparition très rapide des images dans le temps pour les transactions validées.
Mais il arrive aussi qu’aucune des deux situations ci-dessus ne se présentent, et que l’on ait tout de même à faire à une ORA-01555 pour une requête rapide. Comment analyser cette situation ?