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 :

Migration 10g/11g : Optimisation d'un traitement lourd en production


Sujet :

Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 149
    Points : 52
    Points
    52
    Par défaut Migration 10g/11g : Optimisation d'un traitement lourd en production
    Bonjour,

    J'ai un traitement « T » qui prend 8 heures en temps normal en 10g.
    Ce traitement exécute plusieurs procédures PL/SQL.
    En migrant la production de 10g vers 11g le risque de voir partir quelques requêtes en vrille n'est pas écarté malgré les tests de perfs 11g déjà effectués dans une base de test.

    Si après 3h/8h de traitement une requête part en vrille (un plan d’exécution non optimal en 11g) , je serais obligé d’arrêter le traitement "T" (kill session) et tout relancer après avoir apporté l’optimisation de la requête en question.

    Est-il possible au moment où la requête part en vrille de l’optimiser « en live » comme si je force l’optimiseur 11g à abandonner le plan d’exécution courant(non optimal) et opter pour un autre plan (hint ?) sans arrêter la requête(le traitement T poursuit donc son exécution) ?
    L’objectif est de ne pas bloquer la production car si par exemple je rencontre 5 requêtes / 3000 qui partent en vrille, je serais contraint de relancer le traitement lourd au moins 5 fois en espérant que l’optimisation fonctionne du premier coup !!!
    Désolé d’avoir utilisé le mot « partir en vrille » plusieurs fois…
    Merci pour vos idées.

  2. #2
    Expert éminent sénior 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
    Points : 11 252
    Points
    11 252
    Par défaut
    Optimisez vos traitements avant la mise en production.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 149
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par mnitu Voir le message
    Optimisez vos traitements avant la mise en production.
    désolé ce n'est pas la question !

  4. #4
    Membre expérimenté 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 : 50
    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
    Points : 1 597
    Points
    1 597
    Par défaut
    La réponse est non, vous ne pouvez pas changer un plan d'exécution pendant l'exécution en 11g (ni dans les versions inférieure).

    La bonne marche à suivre est d'optimiser le traitement avant de passer en production comme vous l'a indiqué mnitu

  5. #5
    Membre éclairé Avatar de Arkhena
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 552
    Points : 769
    Points
    769
    Par défaut
    Bonjour,

    Votre projet de migration ne comporte pas une phase pilote pendant laquelle au moins les batchs sont joués sur une restore de la prod ?

    Vous pouvez aussi utiliser database replay (payant) pour enregistrer votre activité sur 1 semaine par exemple et la rejouer sur la version 11g pour avoir une idée de ce que ça va donner...

    Cordialement,

    Arkhena

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 149
    Points : 52
    Points
    52
    Par défaut
    Comme vous le savez tous nous ne sommes pas à l'abri d'une requête qui change de plan d’exécution suite à la migration 11g de la prod malgré les tests effectués dans des environnements de test "similaires" avant la mise en prod.

    Ma question était comment optimiser "en live" en production tout en évitant de RELANCER des gros traitements après avoir effectué l'optimisation de la requête en question.

    Je l'avait compris ...c'est tout simplement impossible.
    merci.

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 2
    Points : 7
    Points
    7
    Par défaut
    bonjour je vous conseille de lire ce document(pièce jointe ) sur l'optimisation des requêtes oracle , c'est intéressant .
    Images attachées Images attachées

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 412
    Points : 807
    Points
    807
    Par défaut
    Salut,

    Est-ce que Sql plan mangement (DBMS_SPM) ne pourrait pas vous aider?
    Mode capture all avant le batch de 8h sur la 10g, vous enregistrez le tout, et vous fixez les plans sur la 11g.
    Ca permettrait d'éviter des débordements le temps que le CBO ne vous propose de nouveaux plans à valider par les DBAs.

Discussions similaires

  1. Procédure de migration 10g/11g(Grandes lignes)
    Par tropiko dans le forum Oracle
    Réponses: 9
    Dernier message: 03/02/2013, 01h59
  2. [Débutant] Optimisation d'un traitement lourd
    Par zaghi dans le forum VB.NET
    Réponses: 20
    Dernier message: 31/08/2012, 10h49
  3. Migration 10g vers 11g
    Par farenheiit dans le forum Administration
    Réponses: 9
    Dernier message: 18/07/2012, 17h51
  4. Erreurs de migration de Jdev 10g à 11g
    Par isien dans le forum JDeveloper
    Réponses: 3
    Dernier message: 14/10/2010, 14h44
  5. [C++/VB.Net]Optimiser des traitements lourds
    Par NiamorH dans le forum Windows Forms
    Réponses: 8
    Dernier message: 28/05/2006, 11h03

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