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

Administration Oracle Discussion :

[STATS]CPU / utilisateur


Sujet :

Administration Oracle

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2002
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [STATS]CPU / utilisateur
    Bonjour,

    J'ai pas mal de problème avec Oracle, certains utilsateurs me lancent des requêtes qui font tourner le processus oracle à 50%.
    J'aimerai identifier les utilisateurs responsablent de cette charge.
    Pour ca j'ai crée une requete qui ressemble a ca :

    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
     
    SELECT 
      vsession.SID,
      vstatname.NAME,
      vsession.TERMINAL,
      vsession.MACHINE,
      vsession.PROCESS,
      vsesstat.VALUE
    FROM 
      v$session vsession,
      v$sesstat vsesstat,
      v$statname vstatname
    WHERE 
      vsession.SID = vsesstat.SID and
      vstatname.STATISTIC# = vsesstat.STATISTIC# and
      vstatname.NAME like '%CPU used by this session%'
    ORDER BY   
      vsesstat.VALUE desc
    Résultat, tous les valeurs sont a zéro ):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SID NAME                              TERMINAL MACHINE         PROCESS  VALUE
    26   CPU used by this session         bdd      DOMAIN\pctruc   5612         0
    27   CPU used by this session         bdd      DOMAIN\pcmachin 5613         0
    Si qq'un a une meilleure idée ou une autre solution ?

    D'avance merci

    Prosper

  2. #2
    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
    L'idée est tout à fait adaptée !
    Le problème, c'est visiblement que vous n'avez pas activé les statistiques temporelles sur votre instance...

    Pour le vérifier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * FROM V$PARAMETER
    WHERE NAME = 'timed_statistics';
    et si nécessaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER SYSTEM SET TIMED_STATISTICS=TRUE;
    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

  3. #3
    Candidat au Club
    Inscrit en
    Novembre 2002
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    exact, désormais ca fonctionne.

    Je vous remercie.

    Prosper.

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2003
    Messages : 412
    Points : 1 326
    Points
    1 326
    Par défaut
    mmm personnelement je ne suis qu'a moitié d'accord avec cette solution.

    Etant dans un environnement scolaire j'ai souvent des requetes me bouffant 100% de temps proc. Il peut etre génant de me générer des statistique en temps réel.

    De plus ta requete ne te ramene que les sessions qui ont utilisées du temps proc à un moment ou a un autre.

    Imagine que tu es un progiciel qui tourne en permanence sur ta base et qui t'utilise 90% du temps proc depuis le démarrage de ta base...

    Car la valeur renvoyée est bien "CPU used by this session" c'est à dire temps proc qui a déja été utilisé.

    Ce qui pourra t'induire en erreur. Sous linux pas de pb tu peut identifier le processus qui te bouffe tout ca sous windows non.

    Personellement j'utilise qslice sous windows qui te permet de voir la charge cpu. Si oracle me bouffe tout je double click sur le processus Oracle et la il m'affiche tout les processus interne lancés par oracle avec leur pid en hexa => petite conversion en décimal avec la calculette windows puis petite requete sur la table v$session et puis finalement kill sauvage de la méchante session

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

Discussions similaires

  1. problème de consommation cpu "stats collector process"
    Par matta dans le forum Administration
    Réponses: 1
    Dernier message: 25/09/2010, 14h23
  2. limite temps CPU profil utilisateur
    Par ricoflashfire dans le forum Administration
    Réponses: 3
    Dernier message: 08/10/2009, 09h44
  3. Réponses: 0
    Dernier message: 29/06/2009, 11h33
  4. Réponses: 8
    Dernier message: 05/06/2002, 11h55
  5. [Kylix] Sauvegarde de donnée utilisateur....
    Par Eclypse dans le forum EDI
    Réponses: 1
    Dernier message: 11/05/2002, 17h21

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