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 :

[9i Tuning] Statspack


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 82
    Par défaut [9i Tuning] Statspack
    Bonjour,

    Oracle 9i sous Win2k,

    Je viens de réaliser un rapport statspack entre deux snap et je suis un peu perdu... Existe-il une documentation détaillé parcourant un rapport statspack X et expliquant chaque point s? Donnant les conseils d'optimisation dans tel ou tel cas ?

    Merci pour vos lumières,

  2. #2
    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
    essaye ceci : http://www.oraperf.com

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 82
    Par défaut
    Merci Fred_d,

    Cela semble intéressant.

    Qu’elles sont vos règles pour fixer les paramètres du fichier d'initialialisation (ora).

    Exe : db_cache_size = 2% de la taille de la base donnée ....

    Existe-il des liens avec ses informations ?

    Merci,

  4. #4
    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
    http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96533/build_db.htm#12646

    Size of the buffer cache in the SGA. There are no good and simple rules to set a value, which is very application dependent, but typical values are in the range of twenty to fifty for each user session. More often, this value is set too high than too low.
    Donc la réponse est : il faut fixer la valeur en fonction du contexte

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 82
    Par défaut
    J'ai consulté le rapport de oraperf sur mon fichier de statistique et j'ai comparé ces deux fichiers.

    Le rapport de oraperf présente les calculs et les conseils sur base de mon fichier stats, mais j'aimerais rester du côté du fichier stats afin de bien comprendre les différents éléments...

    Dans sa mission de tuning le DBA se base uniquement sur ce fichier et conclut par lui-même sur les différents points à optimiser je pense.

    J'aimerais comprendre se fichier statpack car sa lecture est assez compliquée...

  6. #6
    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
    la documentation dont j'ai donné le lien précédemment te sera précieuse. Tous les éléments y sont.

    Par ailleurs, je ne peux que te conseiller la formation Tuning d'Oracle parce qu'en effet, ça ne s'invente pas

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 82
    Par défaut
    Merci pour ton aide, j'avance tout doucement ;-)

    Après plusieurs recherche il apparaît que la section Top 5 Timed Events est un indicateur de performance qui apporte énormément dans le rapport statspack. L'intervale entre les 2 snap est de 2 heures, le premier snap a été réalisé lorsque la base était calme et le deuxième lorsque la base était en plein traitement. Le serveur possède un seule processeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Top 5 Timed Events
     
    Event                        		   Waits    Time(s)	% TotalEla Time
    ------------------------------ 	      -------	 ---- 	         --------
    CPU time                                              297	   54.47
    log file sync                  		 63,843	   167	         30.62
    db file sequential read             12,166    33	     6.01
    SQL*Net break/reset to client   4	     27	           4.90
    log file parallel write                104,056  15	      2.80
    Par exemple si j'ai bien compris, il s'agit des 5 evenements consommant trop temps.

    log file sync : signifie que le process LGWR met trop de temps à écrire dans les données du log_buffer dans les fichiers redo log sur le disque.

    Comment optimiser l'écriture ? Faire des redos de plus petites tailles ? Mettre les membres de chaque groupe dans deux partitions différentes....

    Pourriez-vous me corriger et m'éclairer sur les autres points ? Quels sont les pistes à favoriser lorsque nous avons de forte consommation sur ces events ?

    Merci d'avance,

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 82
    Par défaut
    Concernant log file sync et log file parallel write j'ai trouvé mon bonheur dans :
    http://mbouayoun.developpez.com/reglredo/#LIII

    Ce que j'ai déjà conclus c'est qu'il y a trop de commit dans le code.
    En effet nous insérons par exemple un fichier de 1000 lignes avec une procédure stockés ligne par ligne. Dans la procédure stocké, il y a un commit, donc 1000 commit... C'est probablement une des cause du log file sync.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 82
    Par défaut
    Citation Envoyé par MAGNUM_HEAD
    Comment optimiser l'écriture ? Faire des redos de plus petites tailles ? Mettre les membres de chaque groupe dans deux partitions différentes....

    Pourriez-vous me corriger et m'éclairer sur les autres points ? Quels sont les pistes à favoriser lorsque nous avons de forte consommation sur ces events ?

    Merci d'avance,
    Pourriez-vous m'éclairer ?

  10. #10
    Membre Expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Par défaut
    Bonjour,

    En lisant le lien que tu a donné, tu trouvera ton bonheur.

    j'ai expliqué comment choisir la taille des fichier redo :

    La réponse dépend de la taille du fichier redo en cours, du taux actuel de switch log et de l'objectif fixé en nombre de log switch par heure pendant les traitements. Pour trouver la fréquence des log switch en utilise la requête données dans la section log buffer space. Si notre objectif est de 4 fichiers redo par heure au lieu de 60 et que la taille du fichier redo en cours est de 20M, alors le nouveau fichier redo devrait avoir une taille de 300M (60*20M/4).
    Malgré que ce tutoriel je ne l'ai pas encore terminé

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 82
    Par défaut
    Bonjour,

    je ne vois pas de reqûetes dans la section log buffer space.

    J'ai une petite idée pour avoir la moyenne des switchs log sur une heure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select sum(SWITCH)/count(HH) as SwitchParHeure from (select to_char(first_time,'HH24') as HH ,count(first_time) as SWITCH from v$log_history group by to_char(first_time,'HH24'));
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SWITCHPARHEURE
    --------------
        24,2857143
    Mon objectif 4 fichiers redo/heure au lieu de 24
    Taille du fichier en cours 50m

    Nouveau fichier 300M (24*50m/4) ?

    Est-ce correcte ?

    Je crée donc 2 groupes avec 2 membres de 300m, total de 1.2 gb :

    D'avance merci

  12. #12
    Membre Expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Par défaut
    C'est correct

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 82
    Par défaut
    Impeccable

    Maintenant comment déterminer le meilleurs objectifs :

    Dans ton exemple tu précisais 4 redo/heure, comment choisir ce paramètre :

    Merci

  14. #14
    Membre Expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Par défaut
    Une chose que je n'ai pas indiqué dans l'article est le fameux paramètre :
    qui consite à switcher les logs même s'ils ne sont pas remplis.

    Par exemple pour une valeur de 900 guarantié un switch log tous les 1/4 heurs.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter system set ARCHIVE_LAG_TARGET=900 scope=both;

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 82
    Par défaut
    8) Ok,

    Pour revenir au log file sync et log file parallel write de mon top 5, j'ai vu sur ce site
    http://www.dba-oracle.com/t_log_buffer.htm, qu'il était conseillé de maintenir une taille de log_buffer entre 5mb et 10mb.

    En effet, notre log_buffer a la valeur par défaut 512k. Ce qui pourrait expliquer la quantité I/O... Mise à part le fait que nous avons beaucoup de commit. Car comme l'écriture du Log_buffer => redo file se fait aussi lorsqu'il est à 1/3 plein j'imagine que le notre doit être rapidement plein...

    Quelle valeur avez-vous l'habitude de fixer :


  16. #16
    Membre émérite Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Par défaut
    Personnellement j'ai eu de très mauvaises expériences avec un log_buffer trop gros (5MB).

    Dans notre cas (machine assez ancienne) les disques ne sont pas très rapides, donc tant que les logs ne font que se remplir c'est OK, mais ensuite ils prennent un temps fou à se "décharger" sur les disques pour finaliser les écritures et le cycle complet des loggroups se terminaient avant que le prochain log du cycle n'ait fini de se vider du cycle précédent !

    alors bonjour les temps d'attente pour les utilisateurs !

    Alors tu as intérêt à avoir des disques très rapides et uniquement dédiés aux logs pour avoir des gros log_buffer.

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 82
    Par défaut
    Oui effectivement, nous avons aussi des disques assez lent.
    Il faudrait un bon compromis car 512K cela me semble limite quand même...

    2 mb :

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 82
    Par défaut
    Tient je vais peut-être dire une bétise

    Sous windows pour augmenter la vitesse des switch entre redo ne serait-il pas intelligent de prévoir une partition FAT32 qui est plus rapide que NTFS et qui acceuillerait que les redo logs ?

    Bétise :

  19. #19
    Membre émérite Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Par défaut
    ben pour le coup tes archives log serait formatés en Fat32, ce qui te laisse moins de latitude pour faire "en urgence" un recover sur une autre machine qui n'a pas forcément du Fat32 à dispo...

  20. #20
    Membre émérite Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Par défaut
    sinon pour la taille du log_buffer, je tourne aussi en 512k et tout va bien...

    il ne faut pas confondre non plus, le buffer doit se vider DANS les logs. Donc rien à voir avec les logs switch.

    je préfère avoir un peu plus fréquemment un "petit" buffer à écrire sur le(s) disque(s) que devoir attendre sur une grosse écriture sur des disques lents !

Discussions similaires

  1. Question tuning statspack
    Par nax71 dans le forum Administration
    Réponses: 1
    Dernier message: 15/06/2009, 21h20
  2. [TUNING]calculs de champs
    Par booth dans le forum Oracle
    Réponses: 5
    Dernier message: 30/05/2005, 18h36
  3. [Tuning] Parallelisation
    Par orafrance dans le forum Oracle
    Réponses: 9
    Dernier message: 03/12/2004, 12h49
  4. [Tuning] truncate ou delete
    Par phig dans le forum Administration
    Réponses: 10
    Dernier message: 17/06/2004, 16h41

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