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 :

AWR et traces suite régression de performances [11g]


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant
    Inscrit en
    Mai 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant

    Informations forums :
    Inscription : Mai 2006
    Messages : 147
    Par défaut AWR et traces suite régression de performances
    Bonjour,
    Suite à une migration Oracle 10g vers 11g, un traitement qui dure normalement 9 heures (10g) , dure maintenant 21 heures (11g) !
    Afin de comprendre la situation et la raison de cette régression faut-il faire un rapport AWR sur une durée de 21 heures ? Est-ce fiable ? Faut-il se limiter à une heure pour un rapport AWR ? si oui comment ?
    Par ailleurs, J’ai essayé de tracer le traitement de 21 heures, mais les fichiers traces ont fait exploser le file système …
    En effet l’utilisation du paramètre MAX_DUMP_FILE_SIZE n’est pas suffisante puisqu’il s’agit d’un traitement (boîte noire) multi-connexions/sessions donc génération de plusieurs fichiers traces…
    Avez-vous une idée ?
    Merci pour votre aide précieuse.

  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,

    Le rapport sur 21 heures peut permettre de comparer les stats (timed event, timemodel) avec le rapport sur 9 heures d'avant migration pour se faire une idée.
    Les sections 'segment statistics' peuvent permettre une comparaison rapide aussi.

    Mais il ne contiendra pas tous les SQL. Donc il ne permettra pas de voir les quelques requêtes qui sont plus longues. Parce que les SQL qui ne sont plus en shared pool à la fin ne seront pas présents.

    Il y a plusieurs approches possibles:
    - voir avec les pages performances de OEM les requêtes qui semblent longues.
    - Tunig Pack as des outils qui peuvent permettre de comparer (si la 10g est toujours dispo)
    - regarder des rapports sur des durées plus courtes. En regardant 'Captured SQL account for ...% of Total DB Time (s)' dans la section 'SQL ordered by Elapsed Time' on vérifie que le rapport couvre quelque chose de significatif.
    - faire des requêtes sur dbs_hist_sqlstat pour trouver les requêtes les plus consommatrices

    D'une manière générale dans ce genre de cas, je ne perd pas trop de temps à chercher à comprendre ce qui est plus long qu'avant. Je préfère me concentrer à tuner le traitement 11g avec comme objectif d'arriver à 9 heures de traitement. La comparaison, c'est juste pour avoir une idée.

    Cordialement,
    Franck.

  3. #3
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Si possible, essayez de faire tourner le traitement avec l’optimiseur en compatibilité 10g (optimizer_features_enable) comme un fix rapide pour gagner le temps nécessaire à l’optimisation du traitement.

  4. #4
    Membre Expert Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Par défaut
    Pour un meilleurs diagnostique vous pouvez aussi effecteur un SQLHC pour la requête (dès lors que vous avez le SQL_ID de la requête) voire une SQLT (tous deux disponibles sur MyOracleSupport notes 1465741.1 et 1366133.1) ... Mieux qu'AWR (à mon avis) lorsqu'il s'agit de tuning SQL

  5. #5
    Membre actif
    Inscrit en
    Janvier 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 139
    Par défaut
    C'est un réél problème qu'on a rencontré et la solution n'est pas unique mais en règle générale

    - update stats avant le migration
    - ALTER SYSTEM SET cursor_sharing=force (see [ID 1169017.1])

    We recommend that customers discontinue setting cursor_sharing = SIMILAR due to the many problematic situations customers have experienced using it. The ability to set this will be removed in version 12 of the Oracle Database (the settings of EXACT and FORCE will remain available). Instead, we recommend the use of Adaptive Cursor Sharing in 11g.

    A number of customers have seen an increase in the number of child cursors since migrating to Oracle Database 11g Release 2. This can lead to many problems including complete CPU saturation of a machine requiring a database instance bounce or general database performance issues in the form of waits on mutexes and 'library cache lock'.
    aussi cela a amélioré certains traitements de quelques heures à 2 minutes
    - optimizer_index_cost_adj=10
    - db_file_multiblock_read_count=32
    - _optimizer_cost_based_transformation=off

  6. #6
    Membre Expert Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Par défaut
    Citation Envoyé par Oratorio Voir le message
    - optimizer_index_cost_adj=10
    - db_file_multiblock_read_count=32
    - _optimizer_cost_based_transformation=off
    Ho non, pitié !!!! Pourquoi pas optimizer_mode=rule tant qu'on y est ?

    Les deux paramètres que vous donnez auront meilleurs compte à être calculé par Oracle à partir des statistiques système (dbms_stats.gather_system_stats) et le paramètre caché que vous dennez enlève à oracle la possibilité de réécrire les requêtes.

  7. #7
    Membre actif
    Inscrit en
    Janvier 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 139
    Par défaut
    Citation Envoyé par ojo77 Voir le message
    et le paramètre caché que vous dennez enlève à oracle la possibilité de réécrire les requêtes.
    c'est les changements adaptés à notre situation
    à vous de voir parmi ces paramètres ce qui vous convient

    Le paramètre en question a été modifié car l'optimiseur 11 n'était pas capable d'évaluer l'utilisation de champs (surtout de type date) basés sur des fonctions alors que l'optimiseur 10.2.0.4 était capable de le faire

  8. #8
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Citation Envoyé par Oratorio Voir le message
    c'est les changements adaptés à notre situation
    Et c’est bien ça le problème quand vous les présentés en règle générale
    ...la solution n'est pas unique mais en règle générale

  9. #9
    Membre actif
    Inscrit en
    Janvier 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 139
    Par défaut
    les 2 premiers points est une règle générale

    - update stats avant le migration
    - ALTER SYSTEM SET cursor_sharing=force

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

Discussions similaires

  1. PB de performence suite a ajout de disques
    Par JEDI1970 dans le forum AS/400
    Réponses: 2
    Dernier message: 14/05/2012, 18h33
  2. Problème de performance suite à un delete
    Par Invité dans le forum Administration
    Réponses: 9
    Dernier message: 05/01/2012, 09h29
  3. régression suite à un upgrade
    Par ThomasEscolan dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 04/05/2011, 10h47
  4. Trace complète dans courriel suite à une erreur
    Par mapillon dans le forum Pentaho
    Réponses: 3
    Dernier message: 19/10/2009, 22h43
  5. Rectangle qui se deplace(suite à un drag) en laissant des traces
    Par hugobob dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 24/09/2007, 11h18

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