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 :

Contention sur les redos


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 083
    Par défaut Contention sur les redos
    Bonjour,
    comment combiner ces trois requettes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    select name, gets, misses,
    immediate_gets, immediate_misses, sleeps
    from v$latch
    where name in ('redo allocation', 'redo copy')
    /
     
    set head off
     
    select 'Ratio of MISSES to GETS: '||
    round((sum(misses)/(sum(gets)+0.00000000001) * 100),2)||'%'
    from v$latch
    where name in ('redo allocation', 'redo copy')
    /
     
    select 'Ratio of IMMEDIATE_MISSES to IMMEDIATE_GETS: '||
    round((sum(immediate_misses)/
    (sum(immediate_misses+immediate_gets)+0.00000000001) * 100),2)||'%'
    from v$latch
    where name in ('redo allocation', 'redo copy')
    D'avance merci.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Février 2007
    Messages : 227
    Par défaut
    bonjour
    ceci peut faire l'affaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT name, gets, misses,
    immediate_gets, immediate_misses, sleeps, 'Ratio of MISSES to GETS: '||
    round((sum(misses)/(sum(gets)+0.00000000001) * 100),2)||'%', 'Ratio of IMMEDIATE_MISSES to IMMEDIATE_GETS: '||
    round((sum(immediate_misses)/
    (sum(immediate_misses+immediate_gets)+0.00000000001) * 100),2)||'%'
    FROM v$latch
    WHERE name IN ('redo allocation', 'redo copy')
    /

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 083
    Par défaut
    Merci mais j'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Query cannot be parsed within the Builder

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 083
    Par défaut
    Et sous SQLPLUS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SQL> SELECT name, gets, misses,
      2  immediate_gets, immediate_misses, sleeps, 'Ratio of MISSES to GETS: '||
      3  round((sum(misses)/(sum(gets)+0.00000000001) * 100),2)||'%', 'Ratio of IMMEDIATE_MISSES to IMMEDIATE_GETS: '||
      4  round((sum(immediate_misses)/
      5  (sum(immediate_misses+immediate_gets)+0.00000000001) * 100),2)||'%'
      6  FROM v$latch
      7  WHERE name IN ('redo allocation', 'redo copy')
      8  ;
    SELECT name, gets, misses,
           *
    ERROR at line 1:
    ORA-00937: not a single-group group function

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    UNION ALL entre chaque requête et basta

  6. #6
    Membre chevronné Avatar de NGasparotto
    Inscrit en
    Janvier 2007
    Messages
    421
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 421
    Par défaut
    Citation Envoyé par big1
    Et sous SQLPLUS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SQL> SELECT name, gets, misses,
      2  immediate_gets, immediate_misses, sleeps, 'Ratio of MISSES to GETS: '||
      3  round((sum(misses)/(sum(gets)+0.00000000001) * 100),2)||'%', 'Ratio of IMMEDIATE_MISSES to IMMEDIATE_GETS: '||
      4  round((sum(immediate_misses)/
      5  (sum(immediate_misses+immediate_gets)+0.00000000001) * 100),2)||'%'
      6  FROM v$latch
      7  WHERE name IN ('redo allocation', 'redo copy')
      8  ;
    SELECT name, gets, misses,
           *
    ERROR at line 1:
    ORA-00937: not a single-group group function
    Tu as des fonctions d'aggregation (SUM) dans ta requête, ce qui implique d'avoir une clause de regroupement (GROUP BY), ajoutes à la fin de ta requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GROUP BY name, gets, misses,immediate_gets, immediate_misses, sleeps
    Nicolas.

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 083
    Par défaut
    Merci.
    sous sqlplus OK.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    SQL> SELECT name, gets, misses,
      2  immediate_gets, immediate_misses, sleeps, 'Ratio of MISSES to GETS: '||
      3  round((sum(misses)/(sum(gets)+0.00000000001) * 100),2)||'%', 'Ratio of IMMEDIATE_MISSES to IMMEDIATE_GETS: '||
      4  round((sum(immediate_misses)/
      5  (sum(immediate_misses+immediate_gets)+0.00000000001) * 100),2)||'%'
      6  FROM v$latch
      7  WHERE name IN ('redo allocation', 'redo copy')
      8  GROUP BY name, gets, misses,immediate_gets, immediate_misses, sleeps;
     
    NAME                                                                   GETS
    ---------------------------------------------------------------- ----------
        MISSES IMMEDIATE_GETS IMMEDIATE_MISSES     SLEEPS
    ---------- -------------- ---------------- ----------
    'RATIOOFMISSESTOGETS:'||ROUND((SUM(MISSES)/(SUM(GETS)+0.0000000000
    ------------------------------------------------------------------
    'RATIOOFIMMEDIATE_MISSESTOIMMEDIATE_GETS:'||ROUND((SUM(IMMEDIATE_MISSES)/(SUM(IM
    --------------------------------------------------------------------------------
    redo copy                                                              3232
             0          87739               66          0
    Ratio of MISSES to GETS: 0%
    Ratio of IMMEDIATE_MISSES to IMMEDIATE_GETS: .08%
     
     
    NAME                                                                   GETS
    ---------------------------------------------------------------- ----------
        MISSES IMMEDIATE_GETS IMMEDIATE_MISSES     SLEEPS
    ---------- -------------- ---------------- ----------
    'RATIOOFMISSESTOGETS:'||ROUND((SUM(MISSES)/(SUM(GETS)+0.0000000000
    ------------------------------------------------------------------
    'RATIOOFIMMEDIATE_MISSESTOIMMEDIATE_GETS:'||ROUND((SUM(IMMEDIATE_MISSES)/(SUM(IM
    --------------------------------------------------------------------------------
    redo allocation                                                       93273
             7              0                0          0
    Ratio of MISSES to GETS: .01%
    Ratio of IMMEDIATE_MISSES to IMMEDIATE_GETS: 0%
    Mais dans Query builder :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    query column #7 ('RATIOOFMISSESTOGETS:'||ROUND((SUM(MISSES)/(SUM(GETS)+0.00000000001)*100),2)||'%') is invalid, use column alias
    Merci d'avance.

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

Discussions similaires

  1. [VB6][impression]Comment faire des effets sur les polices ?
    Par le.dod dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 08/11/2002, 10h31
  2. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  3. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11
  4. recherches des cours ou des explications sur les algorithmes
    Par Marcus2211 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/05/2002, 22h18
  5. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 19h01

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