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

Oracle Discussion :

résultat sur somme différents


Sujet :

Oracle

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 127
    Points : 49
    Points
    49
    Par défaut résultat sur somme différents
    Bonjour,
    En oracle 10.2.0.1 sur AIX, j'effectue cette requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select sum(total) from (select sum(col1) as total, col2, col3, col4, col5, col6 from tab1, tab2 where .....and tab2.col6 = '2008' and tab2.mois between '0' and '12' group by col2, col3, col4, col5, col6,tab2.mois) A1;
    j'obtiens un résultat numérique qui ne correspond pas à la réalité!
    En revanche si j'utilise la mème requète en enlevant dans le group by le dernier champ qui est tab2.mois, le résultat est conforme à la réalité = 0.
    La colonne col1 sur laquelle se fait le cumul est déclarée number (maximum par défault est de 22 digits je crois), les paramètres au niveau de la database sont nls_language=american, nls_characterset=WE8ISO8859P1, nls_sort=binary,nls_comp=binary.
    Avez vous une idée sur la raison qui justifie cet écard de résultat

    Merci

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    t'as pas de valeur null par hasard ?

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 127
    Points : 49
    Points
    49
    Par défaut
    Il s'agit d'une colonne définie NOT NULL NUMBER.
    ce qui est étrange c'est que selon les colonnes dans le group by on a un résultat différent

  4. #4
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    c'est idiot mais pourquoi tu ne fais pas tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT sum(col1) AS total FROM tab1, tab2 WHERE .....AND tab2.col6 = '2008' AND tab2.mois BETWEEN '0' AND '12'
    Tu la fais où ta requête : SQL*Plus, Reports, autre ?

    Sinon, ça ressemble au Bug 4604970 ou 4040934

    Montre nous le plan d'exécution STP

    Faudra prévoir un upgrade au moins 10.2.0.3

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 127
    Points : 49
    Points
    49
    Par défaut
    La requete en question fait partie d'un livrable non modifiable.
    Les plans d'executions des 2 requetes sont
    Celle sui fonctionne
    Rows Row Source Operation
    ------- ---------------------------------------------------
    1 SORT AGGREGATE (cr=338602 pr=387726 pw=50491 time=59922865 us)
    25995 VIEW (cr=338602 pr=387726 pw=50491 time=59923854 us)
    25995 HASH GROUP BY (cr=338602 pr=387726 pw=50491 time=59897854 us)
    3923199 HASH JOIN (cr=338602 pr=387726 pw=50491 time=45521496 us)
    355704 TABLE ACCESS FULL TAB2(cr=32292 pr=32266 pw=0 time=752636 us)
    6996220 TABLE ACCESS FULL TAB1(cr=306310 pr=304969 pw=0 time=13993295 us)
    Celle qui ramène des résultats différents à chaque exécution
    Rows Row Source Operation
    ------- ---------------------------------------------------
    1 SORT AGGREGATE (cr=338602 pr=381162 pw=44745 time=36446909 us)
    62783 VIEW (cr=338602 pr=381162 pw=44745 time=36398492 us)
    62783 HASH GROUP BY (cr=338602 pr=381162 pw=44745 time=36398485 us)
    3923199 HASH JOIN (cr=338602 pr=380790 pw=44373 time=29123066 us)
    355704 TABLE ACCESS FULL TAB2(cr=32292 pr=32275 pw=0 time=619867 us)
    6996220 TABLE ACCESS FULL TAB1(cr=306310 pr=304142 pw=0 time=6996856 us)
    J'ai essayé d'appliquer le contournement préconisé dans metalink pour le 1er bug sans résultat concluant.
    La migration vers 10.2.0.3 ne peut être accepté que si je prouve qu'il s'agit bien d'un bug et non pas d'une mauvaise configuration de buffer de tri ou de calcul quelconque.

    merci pour votre aide

  6. #6
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    C'est pas plus simple de faire l'upgrade sur une base de test et montrer qu'en 10.2.0.3 le problème ne se reproduit pas ? De toute façon la 10.2.0.1 est super buggée alors l'upgrade est plus que conseillé

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 127
    Points : 49
    Points
    49
    Par défaut
    Bonjour,

    En attendant l'autorisation d'upgrader, j'ai rajouté dans l'init.ora ces paramètres
    optimizer_features_enable=10.1.0
    _gby_hash_aggregation_enabled = False

    Aprés réouverture de la base cela fonctionne bien les 2 requetes donnent le mème résultat.

    Merci beaucoup pour votre aide.

  8. #8
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    ça prouve donc le bug ce qui devrait permettre d'obtenir l'autorisation pour l'upgrade

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

Discussions similaires

  1. [Plugin] Extrême lenteur du résultat d'une requête sur hosts différents
    Par Christophe Charron dans le forum jQuery
    Réponses: 0
    Dernier message: 05/10/2012, 19h58
  2. [Vxi3] problème sur le résultat du somme
    Par Charentais dans le forum Deski
    Réponses: 0
    Dernier message: 11/09/2012, 14h47
  3. [MooTools] Update différent selon résultat sur Request.HTML
    Par Fused dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 25/11/2010, 02h11
  4. Réponses: 6
    Dernier message: 11/11/2007, 17h34
  5. [MySQL] Résultat de requête différent sur 2 serveurs identiques
    Par schlitters dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 17/12/2005, 00h24

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