IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration Oracle Discussion :

Comportement bizarre d'une séquence


Sujet :

Administration Oracle

  1. #1
    Membre habitué Avatar de al85
    Profil pro
    Inscrit en
    Février 2004
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 158
    Points : 128
    Points
    128
    Par défaut Comportement bizarre d'une séquence
    Bonjour

    J'ai un ID dans une table qui est alimenté par une séquence.

    Suite à une modification, nous avons décidé d'alimenter cet ID par un numéro incrémenté avec un mécanisme extérieur. Donc la séquence n'a pas été utilisée pendant un certain temps.

    Mais finalement nous sommes revenus sur la séquence. J'ai donc effectué toute une série de select nextval from dual pour que la séquence rattrape son retard et arrive au même niveau que le dernier numéro que nous avions généré nous même.

    Or, depuis ce rattrapage forcé, à chaque fois que nous consommons la séquence, nous obtenons un numéro différent de ce qui est indiqué dans la propriété LAST_NUMBER de la séquence.

    Le résultat obtenu suit toujours la règle :
    numéro obtenu = (LAST_NUMBER - CACHE_SIZE) * 50

    Je précise que l'écriture en base se fait au moyen d'Hibernate, c'est donc lui qui est en charge de consommer la séquence.

    Y-a-t'il une explication logique à ce comportement ?
    Comment faire pour que la séquence retrouve un comportement normal ?

    Merci d'avance.

  2. #2
    Membre habitué Avatar de Laurent_du_78
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2007
    Messages : 138
    Points : 188
    Points
    188
    Par défaut
    bonjour,
    - soit ta séquence à un cache important, et à chaque arrêt relance de l'instance tu perds des numéros (ceux dans le cache),
    - soit l'incrément est différent de 1
    - soit le maxvalue est pas terrible (mais cela explique pas la valeur),
    - soit il reste dans ton code Hibernate des nextval inutilisé
    Amicalement
    24h-en-piste.com

  3. #3
    Membre habitué Avatar de al85
    Profil pro
    Inscrit en
    Février 2004
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 158
    Points : 128
    Points
    128
    Par défaut
    Le cache est de 20. Même si le mets à 2, j'ai toujours le même problème.

    L'incrément est bien de 1.

    Le max est à 1E27

    Actuellement ma séquence est dans les 24 000, alors que ce que je récupère est plutot dans les 1 200 000. L'écart est trop important pour justifier de nextvals inutilisés. Si hibernate gardait des nextval en mémoire, ça serait flushé quand j'arrête le serveur, mais ce n'est pas le cas.

  4. #4
    Membre habitué Avatar de al85
    Profil pro
    Inscrit en
    Février 2004
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 158
    Points : 128
    Points
    128
    Par défaut
    Problème résolu, c'était du à un paramètrage d'hibernate.

  5. #5
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par al85 Voir le message
    Problème résolu, c'était du à un paramètrage d'hibernate.
    Et lequel ? Ca pourrait resservir aux copains, comme dans l'esprit d'un forum en quelque sorte...
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  6. #6
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    Citation Envoyé par iyfniky Voir le message
    Salut à tous, veuillez m'excuser pour le dérangement.
    Je suis nouveau avec oracle et c'est maintenant que je débute, je recherche en me cassant beaucoup la tête l'exemple d'un script de création d'une base de données sous oracle et ensuite l'exemple d'un script de création d'une table?
    pouvez vous m'en donner?
    Merci pour votre bonne compréhension
    Merci de ne pas venir vous greffer sur une discussion qui n'a rien à voir avec votre question !
    Il faut que vous ouvriez une nouvelle discussion.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comportement bizarre d'une variable dynamique
    Par scoutiste dans le forum Débuter
    Réponses: 4
    Dernier message: 21/08/2013, 13h36
  2. Réponses: 6
    Dernier message: 17/06/2009, 15h11
  3. Réponses: 3
    Dernier message: 10/04/2008, 15h06
  4. [Sybase] Comportement bizarre d'une table
    Par sdozias dans le forum Sybase
    Réponses: 4
    Dernier message: 03/02/2004, 10h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo