- ORA-01466 Unable to read data – table definition has changed : Il s’agit d’une erreur de cohérence en lecture basée sur le temps pour un objet de base de données, tel qu’une table ou un index.
L’opération suivante peut avoir eu lieu : La requête a été analysée et exécutée avec un instantané plus ancien que l’heure à laquelle l’objet a été modifié.
- ORA-01555 Snapshot Too Old : Cette erreur est causée par le mécanisme de cohérence de lecture d’Oracle. Cela se produit lorsque votre requête (ou export) démarre à un moment donné, et pendant qu’elle/qu’il s’exécute, d’autres personnes / tâches modifient les données à tel point qu’Oracle ne peut pas annuler leurs modifications. Rappelez-vous, si votre requête a démarré à un instant T, Oracle doit vous donner les résultats des données en temps T (lecture cohérente) et ne peut pas contenir de changements intermédiaires (incohérents).
En règle générale, l’une des actions ci-dessous permet de résoudre le problème (par ordre de priorité).
Dans le cas d’une ORA-01466 Unable to read data – table definition has changed lors d’un export :
- Modifier la planification du job d’export au moment où l’activité transactionnelle est la plus faible
- Modifier la planification du batch pouvant causer un changement de structure de la table exportée (si possible)
- Utiliser le mécanisme de parallélisation de l’export afin de diminuer le temps de l’export (soumis à licence)
- Exclure les objets volumineux de l’export afin de diminuer le temps de l’export (si ces objets peuvent être exclus)
- Exclure les objets de l’export sur lesquels l’erreur intervient (si ces objets peuvent être exclus)
- Supprimer la consistance de l’export (flashback_time) (si la consistance des données entre les tables n’est obligatoire lors d’une restauration)
Dans le cas d’une ORA-01555 Snapshot Too Old lors d’un l’export :
- Modifier la planification du job d’export au moment où l’activité transactionnelle est la plus faible
- Utiliser le mécanisme de parallélisation de l’export afin de diminuer le temps de l’export (soumis à licence)
- Exclure les objets volumineux de l’export afin de diminuer le temps de l’export (si ces objets peuvent être exclus)
- Exclure les objets de l’export sur lesquels l’erreur intervient (si ces objets peuvent être exclus)
- Supprimer la consistance de l’export (flashback_time) (si la consistance des données entre les tables n’est obligatoire lors d’une restauration)
- Augmenter la taille du tablespace UNDO
- Définir le tablespace UNDO en mode guarantee