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 :

Performances application Oracle


Sujet :

Oracle

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2017
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2017
    Messages : 99
    Points : 26
    Points
    26
    Par défaut Performances application Oracle
    Bonjour à tous,

    Je souhaiterais avoir vos avis sur un problème de performances d'une application de gestion développée sur Oracle.
    Je ne vais pas entrer trop dans les détails dans un premier temps, de plus je n'ai aucune compétence Oracle et je suis juste chargé du fonctionnement du serveur qui héberge l'application et la base de données.

    Une partie de l'application crée des factures à l'aide de Word.
    L'application n'est pas très performante et la procédure de création de facture par Word est très lente...
    Les ressources du serveur ne sont absolument pas utilisées ni CPU ni mémoire.

    Je pense qu'il doit y avoir des paramètres dans Oracle pour utiliser plus de ressources disponibles ???

    Merci d'avance pour vos commentaires.

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 138
    Points : 1 918
    Points
    1 918
    Par défaut
    Bonjour,

    Difficile de répondre sans plus de détails:
    - Quelle est l'OS et sa version?
    - Quelles sont les ressources du serveur?
    - Quelle est la version d'Oracle? Standard ou Entreprise?
    - L'application est-elle codée en PL/SQL?

    Tu ne peux pas vraiment forcer Oracle à utiliser plus de ressources si tu ne lui demandes pas! C'est comme avoir une Ferrari et rester à 80 sur l'autoroute.
    Si les ressources ne sont pas utilisées pleinement c'est tout simplement l'application qui ne le fait pas. C'est malheureusement souvent le cas dans Oracle car les codeurs ne savent pas bien utiliser la puissance de la base de données. Pourtant on peut faire du parallélisme natif ou même applicatif.
    Je suppose que l'appli qui créé les factures le fait séquentiellement, elle créé les factures l'une après l'autre, mais rien n'empêche de créer les factures en parallèle d'autant plus que les factures sont certainement indépendantes. Si tu fournis plus de détails sur ladite procédure nous pourrons peut-être apporter plus de conseils.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2017
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2017
    Messages : 99
    Points : 26
    Points
    26
    Par défaut
    Merci beaucoup pour cette réponse.

    Encore une fois, je n'ai pas ces compétences, bien des années ont passés depuis que je développais des appli SGBDR et de plus pas sur "le grand Oracle".
    Mon soucis est que je suis montré du doigt, que je suis le coupable, que mon serveur est mal paramétré.

    Tu ne peux pas vraiment forcer Oracle à utiliser plus de ressources si tu ne lui demandes pas!
    Oui c'est bien mon avis.

    Je suppose que l'appli qui créé les factures le fait séquentiellement, elle créé les factures l'une après l'autre
    Oui c'est bien ça et les utilisateurs voient les factures se construire ligne par ligne (presque 1 ligne à la seconde).
    A l'époque ou j'utilisais le DDE entre ma base et Word ou excel ce genre d'opération était toujours très lent.

    Remarque de la direction:
    Ce n'est pas possible qu’aujourd’hui en 2020 ce ne soit pas plus rapide :-)

    J'ai évidement accès au système mais je ne sais pas quels fichiers oracle je peux visualiser pour éventuellement mettre le doigt sur un problème de configuration.

  4. #4
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 074
    Points
    8 074
    Par défaut
    La manière cohérente de traiter ces problèmes, c'est de commencer par analyser la situation, avec des outils appropriés.
    L'ajustement d'éventuels paramètres ne peut venir qu'après.

    A un premier niveau, utiliser des rapports Statspack pour avoir une idée plus précise de la charge soumise à la base de données, des requêtes les plus consommatrices, des éventuelles attentes subies pendant les traitements en base.
    Si des requêtes lourdes ressortent, examiner leur plan d'exécution, les statistiques, l'indexation.

    Pour être plus fin si nécessaire, mettre la session en trace et la formater avec TKPROF ou TVD$XTAT.
    Parfois il faut même lire le fichier de trace brute.

    Si vous ne maîtrisez pas tous ces outils, et surtout l'interprétation des informations qu'ils fournissent, il faut passer la main à un spécialiste.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 138
    Points : 1 918
    Points
    1 918
    Par défaut
    Oui quand c'est lent on accuse souvent le serveur, c'est plus simple . Ca peut arriver, mais c'est souvent l'excuse de base.
    Tu n'as pas répondu à mes premières question, c'est important de connaitre la config de ton serveur.

    Si en 2020 ça peut toujours être lent si les codeurs sont mauvais, ce qui est souvent le cas de ceux qui codent sous Oracle. Si tu ne sollicites pas les ressources alors elles ne seront tous simplement pas utilisées, ce n'est pas difficile à comprendre. Je ne sais pas quelles options tu as mais tu peux tracer la procédure en question et prouver qu'elle ne consomme pas suffisamment les ressources.

    Je parie que la procédure fait du pl/sql avec un bête curseur qui lit ligne après ligne les entrées de compta et créé les factures l'une après l'autre.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2017
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2017
    Messages : 99
    Points : 26
    Points
    26
    Par défaut
    Windows 2012 R2 Standard sur Serveur DL380 Gen 9 CPU E5-2620 2.10Ghz et 32GB RAM
    Pas de RAID 5

    Oracle 12.2.0

    Si en 2020 ça peut toujours être lent si les codeurs sont mauvais
    Je ne veux critiquer personne... juste trouver une solution :-)


    tu peux tracer la procédure en question et prouver qu'elle ne consomme pas suffisamment les ressources.
    Je le vois avec le gestionnaire de ressources: lorsque cette tâche tourne il me reste plus de 50% de ressources.

    Je parie que la procédure fait du pl/sql avec un bête curseur qui lit ligne après ligne les entrées de compta et créé les factures l'une après l'autre.
    Je ne sais pas, comment le voir ?

  7. #7
    Membre chevronné
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 138
    Points : 1 918
    Points
    1 918
    Par défaut
    Si tu n'as pas spécialement de compétences Oracle et DBA ça risque d'être compliqué.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2017
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2017
    Messages : 99
    Points : 26
    Points
    26
    Par défaut
    Si si j'étais très fort en SQL mais c'était à l'école et il y a .... quelques années :-)

    Je me suis dit que certains fichier de config pouvait donner des indications.

    Juste une question par rapport à :
    Je parie que la procédure fait du pl/sql avec un bête curseur qui lit ligne après ligne les entrées de compta et créé les factures l'une après l'autre.

    Quelle serait une méthode plus actuelle et plus propre pour le faire, idéalement en tâche de fond ?

  9. #9
    Membre chevronné
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 138
    Points : 1 918
    Points
    1 918
    Par défaut
    Impossible de répondre précisément sans voir le code. Je ne suis même pas sûr que ce soit du pl/sql?
    Si c'était à faire en pl/sql, tu pourrais par exemple utiliser des pipelined table functions, d'autant plus qu'elles peuvent bénéficier du parallélisme (si Enterprise Edition). Des exemples ici (surtout la partie "data extract program"):

    http://www.oracle-developer.net/display.php?id=429

Discussions similaires

  1. Migration d'une application Oracle Forms sur un Intranet
    Par habasque dans le forum Développement Web en Java
    Réponses: 4
    Dernier message: 17/05/2007, 18h57
  2. Application Oracle Client
    Par lido dans le forum Oracle
    Réponses: 4
    Dernier message: 13/12/2006, 23h22
  3. Comment deployer une application oracle forms ?
    Par hugobob dans le forum Forms
    Réponses: 3
    Dernier message: 13/04/2006, 18h40
  4. Application oracle et client légers
    Par ob1knob dans le forum Oracle
    Réponses: 1
    Dernier message: 27/10/2005, 11h45
  5. Pb de performances sous Oracle 10g
    Par kamalito dans le forum Oracle
    Réponses: 24
    Dernier message: 25/10/2005, 16h59

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