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 :

Problème de perfs sur Oracle 8i


Sujet :

Oracle

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 53
    Points : 32
    Points
    32
    Par défaut Problème de perfs sur Oracle 8i
    Bonjour,

    Matos: HP-UX saturne B.11.11 U 9000/800
    Base: Oracle8i Enterprise Edition Release 8.1.7.4.0 - 64bit Production

    J'ai des process Oracle qui me bouffent toute la CPU sur un serveur depuis quelques jours, je n'arrive pas à identifier ce qui provoque ça, quelqu'un peu m'aider?

    Un exemple de top sur ce serveur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    System: saturne                                       Wed Oct 11 10:55:40 2006
    Load averages: 1.80, 1.32, 0.96
    298 processes: 284 sleeping, 14 running
    Cpu states:
    CPU   LOAD   USER   NICE    SYS   IDLE  BLOCK  SWAIT   INTR   SSYS
     0    1.40  96.6%   0.0%   3.0%   0.4%   0.0%   0.0%   0.0%   0.0%
     1    2.20  93.8%   0.0%   6.2%   0.0%   0.0%   0.0%   0.0%   0.0%
    ---   ----  -----  -----  -----  -----  -----  -----  -----  -----
    avg   1.80  95.2%   0.0%   4.6%   0.2%   0.0%   0.0%   0.0%   0.0%
     
    Memory: 1736164K (528128K) real, 2353052K (754920K) virtual, 31528K free  Page# 1/10
     
    CPU TTY     PID USERNAME PRI NI   SIZE    RES STATE    TIME %WCPU  %CPU COMMAND
     1   ?    29348 oracle   241 20  1251M  1576K run      6:53 86.09 85.94 oracleX3PR
     0   ?      110 oracle   241 20  1251M  1612K run      1:07 83.68 82.70 oracleX3PR
     0   ?    29374 oracle   191 20  1254M  3628K run      1:17  9.72  9.70 oracleX3PR
     0   ?    21882 nross    154 20 15752K 12820K sleep    1:08  2.06  2.05 adonix
     0   ?    29350 mraff    154 20 15496K 12716K sleep    0:03  1.98  1.97 adonix
     1   ?      200 vlock    154 20  6680K  3852K sleep    0:00  4.60  1.67 adonix
    ...
    J'ai posté sur Metalink, mais pas de news pour le moment et je ne sais vraiment pas ou chercher, je pense à une requête qui déconne, ça ne se produit que quand les utilisateurs sont là mais pas tout le temps, en ce moment par exemple, c'est plutôt cool...
    J'ai déjà 'shutdowné' et 'startupé' la base sans succes.

    Toutes les idées de solutions ou de recherche sont les bienvenues.
    Merci.

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    faudrait voir les requêtes, les waits, les events, etc... comme ça j'vois mal comment on peut t'aider

    C'est peut-être du wait I/O mais bon...

  3. #3
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Quand vous avez le PID Unix et que vous voulez connaitre la session Oracle (ou vice-versa), consultez les vue v$session et v$process :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    SELECT s.sid, P.PID,
           to_Number(P.SPID) AS OSPID, S.machine, S.Terminal,        s.osuser,
           s.status,
           s.process,
           s.schemaname,
           a.sql_text,
           s.program
    FROM   v$session s,
           v$sqlarea a,
           v$process p
    WHERE  s.PADDR = p.ADDR
      AND s.SQL_HASH_VALUE = a.HASH_VALUE (+)
      AND    s.SQL_ADDRESS = a.ADDRESS (+)

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 77
    Points : 84
    Points
    84
    Par défaut
    Fait 2 statspack à 5mn d'intervalle. Tu devrais retrouver tes billes dans les 5 tops event...

    Ca peut etre plein de chose... Ca peut etre un crash recovery (regarde l'alerte), ça peut etre une requete pourri avec des produits cartesiens sur des tables pas trop grosses qui tiennent en cache, ça peut etre des latchs...

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 53
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par Fred_D
    faudrait voir les requêtes, les waits, les events, etc... comme ça j'vois mal comment on peut t'aider

    C'est peut-être du wait I/O mais bon...
    Oui, je sais bien, mais je ne sais pas moi même dans quelle direction chercher.

    Tu penses que des wait I/O peuvent générer de la CPU?

    Je ne recherche pas ici une solution toute faite, mais plutôt des pistes d'investigation ou une méthode pour analyser mon problème.

  6. #6
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    investigation : alert.log, v$session_wait, v$sytem_event, etc...

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 53
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par LeoAnderson
    Quand vous avez le PID Unix et que vous voulez connaitre la session Oracle (ou vice-versa), consultez les vue v$session et v$process :
    ...
    Je vais tester dès que le problème se repose (En principe tous les jours ) Merci

  8. #8
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Citation Envoyé par Hugues_78
    Fait 2 statspack à 5mn d'intervalle. Tu devrais retrouver tes billes dans les 5 tops event...

    Ca peut etre plein de chose... Ca peut etre un crash recovery (regarde l'alerte), ça peut etre une requete pourri avec des produits cartesiens sur des tables pas trop grosses qui tiennent en cache, ça peut etre des latchs...
    déjà, c'est applicatif et non système car la commande du process est "oracleX3PR" et non ora_<NOM DU PROCESS BACKGROUND>_X3PR ! ;-)

  9. #9
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    ça peut être de la contention sur les redos par exemple ou UNDO offlining... donc systéme quand même

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 53
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par Hugues_78
    Fait 2 statspack à 5mn d'intervalle. Tu devrais retrouver tes billes dans les 5 tops event...

    Ca peut etre plein de chose... Ca peut etre un crash recovery (regarde l'alerte), ça peut etre une requete pourri avec des produits cartesiens sur des tables pas trop grosses qui tiennent en cache, ça peut etre des latchs...
    Désolé mais je ne sais pas ce que sont les statspack et le 5 tops event, je travaille avec Oracle depuis peu... . Si il a un tuto sur ces 2 trucs, je suis preneur .

    Pour le recovery, je ne pense pas, la situation se résoudrait au bout d'un certain temps et ne se reproduirait pas tout les jours (Enfin je crois, je débute ).

    Pour la requête bien naze, pour l'instant c'est à ça que je pense, mais je ne sais pas comment la trouver.

    Merci pour tes conseils.

  11. #11
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    ça peut être de la contention sur les redos par exemple ou UNDO offlining... donc systéme quand même
    pas dit... dans ce je pense que les process arc<n> et/ou lgwr seraient en bonne place au top !

  12. #12
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Citation Envoyé par Daily
    Désolé mais je ne sais pas ce que sont les statspack et le 5 tops event, je travaille avec Oracle depuis peu... . Si il a un tuto sur ces 2 trucs, je suis preneur .
    http://oracle.developpez.com/guide/tuning/statpack/

    Citation Envoyé par Daily
    Pour la requête bien naze, pour l'instant c'est à ça que je pense, mais je ne sais pas comment la trouver.
    http://leoanderson.developpez.com/tr...ssions-oracle/

    un minimum de recherche serait quand même bienvenue

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 77
    Points : 84
    Points
    84
    Par défaut
    Si c'est une requete pourri, le select de leoanderson pourra t'aider : le texte de la requete est dans la colonne sql_text

  14. #14
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    et si c'est une série de select, en traçant la session, il verra tout ! :-)

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 53
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par Fred_D
    C'est vrais, mais combien de temps as tu mis pour trouver ces 2 liens? et combien de temps cela m'aurait-il pris?
    C'est un peu ce que je disais plus haut, je ne cherche pas a ce que l'on fasse le boulot à ma place, je veux résoudre mes problèmes tout en me documentant sur Oracle, dans ce sens, ce forum me fais gagner beaucoup de temps, merci.

  16. #16
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    rechercher -> statpack (le mot cité )

    rechercher -> trace... OK ça se devine pas mais quand même

    On est là pour t'aider aussi à apprendre à chercher

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 53
    Points : 32
    Points
    32
    Par défaut
    Oui, tu as raison.
    Bon, il ne se passera plus rien aujourd'hui (Les comptables ( + ) se barrent à 17h00 pétantes), donc je fais les manips que vous m'avez données demain matin et je vous tiens au courant.

  18. #18
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 53
    Points : 32
    Points
    32
    Par défaut
    C'est bon, grâce à la requête de LeoAnderson , j'ai trouvé la requête SQL qui pose problème et j'ai identifié la personne qui la lance . Je vais donc me lancer dans l'analyse de perfs de celle-ci (De la requête, pas de la personne ), j'ai fais ça il y a un moment, je vais me replonger dans mes notes (C'est ch*ant, sous Oracle Rdb, j'aurai réglé le problème en 2 mn, mais il faut que je réapprenne tout sur 8i et 9i... ) . Je vous tiens au courant, merci pour tout.

Discussions similaires

  1. Problème champs date sur Oracle 9i
    Par caiman2 dans le forum SQL
    Réponses: 2
    Dernier message: 25/01/2008, 09h58
  2. [SQL 2000] Problème de perf sur Order
    Par zooffy dans le forum MS SQL Server
    Réponses: 20
    Dernier message: 08/11/2007, 11h05
  3. Problème de perfs sur MySQL
    Par Daily dans le forum Outils
    Réponses: 11
    Dernier message: 12/09/2007, 17h11
  4. probléme d'utilisateur sur oracle
    Par wael.dz dans le forum Oracle
    Réponses: 1
    Dernier message: 21/07/2007, 10h01
  5. Réponses: 11
    Dernier message: 19/06/2006, 16h54

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