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 :

UNDO tablespace => valeur limite ?


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 45
    Par défaut UNDO tablespace => valeur limite ?
    Bonjour !

    Avec un UNDO_RETENTION de 9000 secondes (recommendation maison mère), j'obtiens à l'aide du calcul suivant
    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
     
     
    SELECT d.undo_size/(1024*1024) "ACTUAL UNDO SIZE [MByte]",
           SUBSTR(e.value,1,25) "UNDO RETENTION [Sec]",
           ROUND((d.undo_size / (to_number(f.value) *
           g.undo_block_per_sec))) "OPTIMAL UNDO RETENTION [Sec]"
      FROM (
           SELECT SUM(a.bytes) undo_size
              FROM v$datafile a,
                   v$tablespace b,
                   dba_tablespaces c
             WHERE c.contents = 'UNDO'
               AND c.status = 'ONLINE'
               AND b.name = c.tablespace_name
               AND a.ts# = b.ts#
           ) d,
           v$parameter e,
           v$parameter f,
           (
           SELECT MAX(undoblks/((end_time-begin_time)*3600*24))
                  undo_block_per_sec
             FROM v$undostat
           ) g
    WHERE e.name = 'undo_retention'
      AND f.name = 'db_block_size'
    /
    Une taille de 20 Gb pour le UNDO tablespace.

    Cette valeur vous parait-elle choquante car trop elevée ?

    Merci de vos avis eclairés

  2. #2
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    20GB pour une rétention de 2h1/2 pourquoi pas.
    Il n'y a que toi qui sait le volume de mises à jour effectué en 2h1/2...
    Cordialement,
    Franck.

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 45
    Par défaut
    Le nombre de mises à jour est très consequent. L'application est très majoritairement de type OLTP : update sur tout petit perimetre.

    Sauf pour quelques traitements en masse d'edition qui sont pour le moment très longs (plus de 4h), ce sont pour ces derniers qu'on reçoit la fameuse ORA-01555 : snapshot too old.

    Je dois faire une recommendation d'agrandissement au client mais je ne susi pas DBA et suis un peu effrayée de jouer à l'apprentie sorciere.

    Purriez-vous svp me confirmer 2 points :

    -Un UNDO de 30G va empecher l'ORA-0155 de se reproduire
    - Il n'y a pas de desagreables effets de bord a voir une grande taille de UNDO

    D'avance merci !

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Citation Envoyé par Cofondinde Voir le message
    Un UNDO de 30G va empecher l'ORA-0155 de se reproduire.
    Peut-être, peut-être pas.
    Si ça ne fonctionne pas avec 20 Go, rien ne garanti que ça va fonctionner avec 30 Go, tout comme ça peut passer.

    Citation Envoyé par Cofondinde Voir le message
    Sauf pour quelques traitements en masse d'edition qui sont pour le moment très longs (plus de 4h), ce sont pour ces derniers qu'on reçoit la fameuse ORA-01555 : snapshot too old.
    À mon avis ça vaut le coup de regarder ces traitements en masse afin de voir s'ils sont améliorables. Peut-être sont-ils déjà optimisés aux petits oignons, peut-être pas.

    Citation Envoyé par Cofondinde Voir le message
    Je dois faire une recommandation d'agrandissement au client mais je ne suis pas DBA
    Si vous n'êtes pas DBA, ce n'est clairement pas votre rôle de faire des préconisations de cette nature.

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 45
    Par défaut
    je n'ai pas dit que ca ne fonctionnait pas avec 20G. La valeur actuelle est 4Gb, je compte demander 30 pour prendre une marge par rapport au calcul sus-indiqué.

    À mon avis ça vaut le coup de regarder ces traitements en masse afin de voir s'ils sont améliorables. Peut-être sont-ils déjà optimisés aux petits oignons, peut-être pas.
    Effectivement c'est la prochaine étape. mais vous savez ce que c'est dans la vraie vie, les clients veulent que ca marche aujourd'hui et pas à la fin d'un projet d'optim'.

    Si vous n'êtes pas DBA, ce n'est clairement pas votre rôle de faire des préconisations de cette nature.
    Je sais bien mais ca sera le cas bientot , ma formation chez Oracle étant planiifié pour dans les mois à venir. On me demande néanmoins dejà de fournir ce genre de réponses, mauvaise précédence des actions ...

    In the meantime je ne voudrai pas faire de boulettes voilà tout

  6. #6
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    -Un UNDO de 30G va empecher l'ORA-0155 de se reproduire
    Je n'ai pas regardé en détail la requête sur v$undostat. Mais si tu as vu que tu génères environ 10G par heures, et si tu veux une rétention de 3 heures, alors oui, cela devrait éviter les ORA-1555

    Cette valeur vous parait-elle choquante car trop elevée ?
    Rien de choquant si cela correspond à l'activité

    - Il n'y a pas de desagreables effets de bord a voir une grande taille de UNDO
    Non, a part qu'il y aura 30G de plus dans la base de données. Les conséquences sont:
    - le prix du disque
    - le temps de backup/restore
    Probablement rien de trop 'désagréable'.

  7. #7
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 45
    Par défaut
    Merci de ces réponses.

    Pour info, après analyse de v$UNDOSTAT avec un DBA maison (finalement il y en avait un mais de l'autre coté de l'Atlantique) nous avons recommandé au client :

    UNDO_RETENTION = 40000 secondes
    UNDO tablespace = 100 Go

    Ces valeurs me paraissent toujours enormes (a fortiori!) mais il faut pouvoir faire face aux temps de traitement (très long!) des batch en attendant un traitement de fond de la performance de ces batch.

    Merci encore, je passe le sujet en Résolu

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

Discussions similaires

  1. [oracle9i-Linux] Comment vider un UNDO tablespace
    Par Loïck dans le forum Oracle
    Réponses: 8
    Dernier message: 03/12/2009, 13h53
  2. undo tablespace se remplit
    Par big1 dans le forum Oracle
    Réponses: 29
    Dernier message: 11/10/2006, 13h32
  3. Redimensionner une JFrame avec valeur limite
    Par ppopov dans le forum Agents de placement/Fenêtres
    Réponses: 11
    Dernier message: 15/01/2006, 20h08
  4. Réponses: 8
    Dernier message: 04/10/2005, 19h27
  5. [ORACLE 9i] UNDO tablespace perdu
    Par prolice dans le forum Oracle
    Réponses: 12
    Dernier message: 16/03/2005, 18h34

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