Une idée à propos de ORA-1555: snapshot trop vieux: rollback segment number Je reçois cette erreur et rien ne semble être faux. Veuillez indiquer dans quelles conditions cela peut se produire et comment cela peut être évité?ORA-1555: snapshot trop vieux: numéro de segment de rollback
Répondre
Je vous suggère de lire la réponse de Tom. http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1441804355350
« L'ORA-1555 arrive quand les gens essaient de gagner de l'espace en général Ils ont de petits rollback segments qui pourraient se développer si elles avaient besoin (et réduisent la taille à l'aide OPTIMAL) Donc, ils vont commencer avec disons 10 ou alors 1meg rollback segments.Ces segments de retour pourraient augmenter à 100meg chacun si nous les laissons (dans cet exemple), cependant, ils ne pousseront jamais à moins que vous obteniez une grosse transaction
"
Oui, j'ai une grande transaction –
Le lien est très utile, mais j'ai besoin de plus d'informations –
Encore une fois, je ne cite que le lien: "Ce que vous devez faire ici est la taille rollback donc qu'il s'enroule moins fréquemment (moins fréquemment alors vos demandes de longue durée) " Vous avez besoin de plus d'informations, mais nous avons également besoin de plus d'informations sur ce que vous essayez de faire, et quand cela se produit ... – guigui42
Généralement, cela se produit lorsque le code valide à l'intérieur d'un curseur.
par ex.
for x in (select ... from ...)
loop
do something
commit;
end loop;
Voir le formulaire de lien AskTom pour d'autres exemples.
Comment l'éviter –
Validez à la fin seulement. Commiting ne libère pas de ressources dans Oracle de la même manière que dans d'autres systèmes car un verrou est très léger, et les lecteurs et les rédacteurs ne se bloquent pas les uns les autres. Les validations plus fréquentes que nécessaire sont une erreur de conception courante lorsque vous travaillez avec Oracle. –
Mieux encore, n'utilisez pas un curseur bien sûr. –
Des commits fréquents peuvent être la cause de l'ORA-1555. Tout est une question de cohérence de lecture. L'heure à laquelle vous démarrez une requête Oracle enregistre une image avant. Le résultat de votre requête n'est donc pas modifié par DML qui a lieu entre temps (votre grosse transaction). L'image avant utilise les segments d'annulation pour obtenir les valeurs des données qui sont modifiées après la prise de l'image avant. En validant votre grande transaction, vous dites à Oracle que les données de restauration de cette transaction peuvent être écrasées. Si votre requête nécessite des données des segments d'annulation qui sont remplacées, vous obtenez cette erreur. Moins vous engagez, moins vous avez de chance que les données de restauration dont vous avez besoin soient remplacées. Une cause commune de ORA-1555 est une procédure qui fait tout cela en elle-même: un curseur sur une table, une boucle dans les enregistrements, et met à jour/supprimer la même table et valide chaque x enregistrements.
Comme guigui dit: laisser les rollback segments se développent pour contenir votre transaction entière
- 1. segment de segment de liaison g ++
- 2. est le code de validation de django trop vieux pour utiliser
- 3. Oracle Rollback Segments et ADO.NET
- 4. Limites d'isolement de Snapshot SQL
- 5. Subversion: Ce client est trop vieux pour fonctionner avec la copie de travail '.'
- 6. Subversion "Ce client est trop vieux pour travailler avec une copie de travail" Aide?
- 7. Ce client est trop vieux pour travailler avec la copie de travail
- 8. Erreur "Trop vieux pour travailler avec copie de travail" avec SVN sous Mac OS X
- 9. Snapshot Movies
- 10. Snapshot HTML
- 11. Smack lecture de vieux événements
- 12. NHibernate, Rollback rollback et Entity version
- 13. Snapshot de DisplayObject dans flex 3
- 14. SVN Version Rollback Question
- 15. Est-il possible d'obtenir le numéro de segment dans une invocation de xargs?
- 16. JMS rollback
- 17. MbUnit Rollback
- 18. Rollback drawRect:
- 19. SQL 2005 Snapshot Security
- 20. Cassandra Snapshot and Restart
- 21. Mélange de vieux mysql avec PDO
- 22. Dessiner à partir de vieux canevas - Android
- 23. Enseigner un vieux chien de nouveaux trucs
- 24. Implémentation de l'arborescence Segment Java
- 25. Le rollback de transaction ne fonctionne pas
- 26. est-il un moyen de rollback HBase
- 27. IDbTransaction Rollback Timeout
- 28. Rollback in lucene
- 29. Structure de segment de recherche consultable
- 30. Codage de longueur de segment JPG
s'il vous plaît laissez-moi savoir - Qui m'a doewnvoted et pourquoi –
-1 pour ne pas ajouter à propos WHT vous Tring faire – Vijay
Bien sûr, il pourrait être beaucoup plus d'autres détails pour l'erreur (et pas le seul mentionné ci-dessous). Qu'essayez-vous de faire? – Guru