J'utilise EJB3, JBoss AS 4.2.1 et Oracle 10g. La chose est chaque fois que je déploie à l'AS la séquence est cassée. Ex: quand je regarde la séquence de crapaud, sa dernière valeur est 41 mais l'identifiant réel qui est défini pour la nouvelle entrée est 1050. Avez-vous une idée ou un bogue connu à propos de ce problème. Merci.Oracle Broken Sequence
Répondre
Les séquences ne sont pas libres! Ce n'est pas un bug.
Voir: http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:513022131111
De mémoire, Oracle met en cache les numéros de séquence pour un accès plus rapide, d'où l'écart. Son comportement attendu.
Vous pouvez exécuter une commande ALTER SEQUENCE pour réinitialiser le compteur à la valeur correcte.
Je dirais que 1050 * est * la "bonne" valeur. Lorsque vous utilisez des séquences et des valeurs de clé générées automatiquement, tout ce qui vous intéresse est que "dites-moi quel ID utiliser est unique pour la nouvelle ligne, c'est tout ce que j'ai besoin de savoir". En d'autres termes, si vous ne vous souciez pas où vous êtes, vous n'êtes jamais perdu. –
Merci à tous les deux pour vos réponses. Mon problème a été causé en raison de la allocationSize par défaut de mes entités. La valeur par défaut de l'allocationSize est 50. C'est, je crois, que l'application jboss demande à oracle db chaque 50 création d'entité. La valeur du cache des séquences dans l'oracle est 20. Cela signifie que lorsque j'insère 1000 enregistrements dans la base de données, la séquence augmente sa nextVal 20.
- 1. java.net.SocketException: Broken pipe
- 2. Hibernate, C3P0, Mysql - Broken Pipe
- 3. Emulation d'une SEQUENCE transactionnelle dans MySQL
- 4. sql server 2005 joindre la base de données broken
- 5. Clés étrangères génériques et get_or_create dans django 1.0: Broken?
- 6. Problème du générateur de séquence Oracle hibernate
- 7. Broken: la zone de recherche dans VS est de gauche à droite
- 8. Comment utiliser une fonction Oracle pour l'ID dans Hibernate
- 9. ORACLE ROWNUM
- 10. Séquences Oracle
- 11. Partitionnement Oracle
- 12. Oracle date
- 13. Oracle Datadiff
- 14. Oracle DataGuard
- 15. Oracle-SQLPLUS
- 16. Oracle-sqlplus
- 17. Versions Oracle
- 18. Oracle SQL * Loader obtenant des valeurs CDATA
- 19. Lecture d'un fichier ODB Oracle Lite sans Oracle Lite
- 20. Puis-je exécuter un script Oracle Oracle arbitraire via ODP.NET?
- 21. Conversion de valeurs Oracle brutes longues Oracle à d'autres types
- 22. Oracle: Comment convertir un hex en décimal dans Oracle SQL?
- 23. ADO.NET Data Services & Oracle - RESTful WCF avec Oracle
- 24. Généalogie Query dans Oracle
- 25. Utiliser Oracle Exception
- 26. Oracle et SQL Dataset
- 27. oracle nhibernate connexion
- 28. ASP.NET et Oracle
- 29. Oracle SQL utilisation Coalesce
- 30. Oracle regex - encodage question
S'il s'agit d'une séquence d'incrémentation très lente (par exemple, n'utilisez que trois des quatre valeurs par semaine), la définition de NOCACHE n'affecterait pas les performances. –
Mais cela ne garantit toujours pas les séquences sans espace. – RussellH