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

PL/SQL Oracle Discussion :

Comment peut on savoir si notre PL/SQL est bien optimisé ou non ?


Sujet :

PL/SQL Oracle

  1. #1
    Candidat au Club
    Homme Profil pro
    Responsable Production IT
    Inscrit en
    Avril 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Maroc

    Informations professionnelles :
    Activité : Responsable Production IT

    Informations forums :
    Inscription : Avril 2004
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Comment peut on savoir si notre PL/SQL est bien optimisé ou non ?
    Je suis un responsable étude et développement et j’ai une équipe de sept développeurs qui développent en PL/SQL des procédures qui font la plupart du temps des extractions à partir d’ERP (base oracle 10g, taille 3 teraoctets).

    Lorsque mon équipe de DEV met en PROD l’une des procédures développées, on reçoit toujours des réclamations de la part de notre équipe de DBA qui nous réclame que notre procédure n’est pas optimisée, et ceci parce que la procédure a mis plus que 12h de traitement ou plus bref…

    Le problème c’est qu’ils ne nous fournissent aucun élément à part que le programme n’est pas optimisé et que lors de son lancement les performances de la base de la PROD ont chuté.

    Mes questions sont les suivantes :
    1. Comment je peux être sûr qu'effectivement les performances de la base ont chuté à cause de la nouvelle procédure qui vient d’être développée et mise en prod ?
    2. Comment je peux savoir si ma procédure est optimisée on non ?
    3. Qu’est ce qu’on peut exiger au DBA comme élément pour qu’il nous prouve la non-optimisation de la procédure ?
    4. Est ce que vous trouvez normal que les performances d’une base de données chutent d’une manière brutale à cause d’un programme (admettons) non optimisé ?


    Je vous serais très reconnaissant si vous pouvez nous donner quelques idées sur le sujet.

    Merci d’avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    1- si la procédure est mal écrite, elle peut être très consommatrice de ressource, au détriment des autres utilisateurs.
    2- Le métier et une bonne compréhension du fonctionnement. Des tests sérieux de validations.
    3- effectivement, c'est plus sérieux de le prouver. Mais si la bd est bloquée par une nouvelle procédure, il n'y a pas à chercher midi à quatorze heure.
    4- Ça se voit très régulièrement. Est-ce normal? Non.
    Comment se fait-il que des programmeurs bidouillent un programme sur des tables énormes sans avoir une vague notion des concepts de bases de données et d'optimisation? C'est ça que je ne trouve pas normal.
    D'autant plus que j'en ai pondu du code pourri non optimal au possible avant d'être former DBA.

  3. #3
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    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 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Vous pouvez demander à votre équipe DBA une trace étendue de l'exécution du code des procédure pour voir où ça coince exactement.

    Si votre volumétrie en DEV est très différente de celle de PROD, vous pouvez modifier les statistiques afin de les faire correspondre, ce qui vous permet d'analyser les plans d'exécution.

  4. #4
    Candidat au Club
    Homme Profil pro
    Responsable Production IT
    Inscrit en
    Avril 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Maroc

    Informations professionnelles :
    Activité : Responsable Production IT

    Informations forums :
    Inscription : Avril 2004
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Waldar Voir le message
    Vous pouvez demander à votre équipe DBA une trace étendue de l'exécution du code des procédure pour voir où ça coince exactement.

    Si votre volumétrie en DEV est très différente de celle de PROD, vous pouvez modifier les statistiques afin de les faire correspondre, ce qui vous permet d'analyser les plans d'exécution.

    merci bcp pour la réponse.
    vous dite que je peux changer les statistiques qui sont calcules par ORACLE dans
    mon environnement de DEV .
    est ce que c'est possible que j'insert dans les tables du SYS ?

  5. #5
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    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 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Oui, regardez dans le package DBMS_STATS, il y a tout ce qu'il faut pour définir des statistiques.

  6. #6
    Candidat au Club
    Homme Profil pro
    Responsable Production IT
    Inscrit en
    Avril 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Maroc

    Informations professionnelles :
    Activité : Responsable Production IT

    Informations forums :
    Inscription : Avril 2004
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Waldar Voir le message
    Oui, regardez dans le package DBMS_STATS, il y a tout ce qu'il faut pour définir des statistiques.
    ok je vais voir et je vous tiendrais au courant si ça marche

    merci

Discussions similaires

  1. Réponses: 5
    Dernier message: 21/05/2008, 14h16
  2. Comment peut on savoir si un point existe dans un polygone?
    Par Midou45 dans le forum Mathématiques
    Réponses: 2
    Dernier message: 04/03/2008, 22h03
  3. Réponses: 1
    Dernier message: 01/02/2008, 18h21
  4. [C#] Comment savoir si une connexion SQL est disponible ?
    Par mister3957 dans le forum Accès aux données
    Réponses: 4
    Dernier message: 19/10/2006, 10h53
  5. [Système]comment peut on savoir si java tourne sur l'ordi?
    Par loveflower dans le forum Général Java
    Réponses: 2
    Dernier message: 03/01/2005, 18h01

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