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 :

Monitorer la durée d'un lock/latch/mutex [12c]


Sujet :

Administration Oracle

  1. #1
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 2 005
    Par défaut Monitorer la durée d'un lock/latch/mutex
    Bonjour,

    Un de mes clients voudrait monitorer la durée d'un lock/latch/mutex : si la ressource est lockée plus de X secondes, il fera un kill de la session.
    Problème : où puis-je trouver l'info "Ce verrou est actif depuis X secondes"?

    Bonne journée à tous :-)


    [EDIT]
    Tiens, dans DBA_LOCK il y a la colonne
    LAST_CONVERT NUMBER The last convert
    avec un super commentaire d'Oracle

    Visiblement ce serait cette colonne mais si vous avez d'autre pistes, je suis preneur.

  2. #2
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    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 461
    Par défaut
    Basiquement : colonne CTIME dans V$LOCK.


    Attention, dans ce genre de démarche, à ne pas se tromper de coupable, et à ne pas faire de zèle !
    Il faut donc s'intéresser uniquement au cas où une session en bloque une autre.

  3. #3
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Tu peux aussi voir les sessions Actives en attente, avec le last_call_et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT last_call_et FROM v$session WHERE lockwait IS NOT NULL AND status = 'ACTIVE'

  4. #4
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 2 005
    Par défaut
    Excellente réponse, merci beaucoup
    Citation Envoyé par Pomalaix Voir le message
    Basiquement : colonne CTIME dans V$LOCK.
    Effectivement, la doc nous dit :
    CTIME NUMBER Time since current mode was granted

    Et si on veut savoir ce qu'est le "mode", il y a aussi :
    LMODE NUMBER Lock mode in which the session holds the lock:
    0 - none
    1 - null (NULL)
    2 - row-S (SS)
    3 - row-X (SX)
    4 - share (S)
    5 - S/Row-X (SSX)
    6 - exclusive (X)


    Bon, un exemple de plus où la doc Oracle est pas super claire : ils n'auraient pas pu marquer "ctime : durée en millisecondes d'activation du lock"? Pourquoi parler de Granted?


    En tout cas merci pour les réponses.

  5. #5
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    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 461
    Par défaut
    Citation Envoyé par Ikebukuro Voir le message
    ...
    Effectivement, la doc nous dit :
    CTIME NUMBER Time since current mode was granted
    ...
    ils n'auraient pas pu marquer "ctime : durée en millisecondes d'activation du lock"? Pourquoi parler de Granted?
    "Activation", à mes yeux ça n'aurait pas été plus clair, loin de là.
    L'idée c'est que l'on réclame la pose d'un verrou (que l'on peut voir comme le droit ponctuel d'accès à la ressource que ce verrou protège), et qu'on l'obtient ou non selon les circonstances. Il n'est donc pas choquant de dire qu'un verrou est octroyé, d'où le fameux "granted".

  6. #6
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 2 005
    Par défaut
    Effectivement, expliqué comme ça c'est plus clair :-)

  7. #7
    Expert confirmé
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 822
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Resource manager permet de killer une session idle qui en bloque d'autres, ce qui est le buisness case le plus courant et le moins risqué:
    https://connor-mcdonald.com/2016/10/...-a-simple-fix/
    Cordialement,
    Franck.

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

Discussions similaires

  1. Durée d'un timeout sur un lock
    Par 13thFloor dans le forum Administration
    Réponses: 11
    Dernier message: 19/08/2009, 14h49
  2. Lock vs Mutex ?
    Par NiamorH dans le forum C#
    Réponses: 10
    Dernier message: 22/10/2008, 17h44
  3. Réponses: 5
    Dernier message: 14/08/2008, 11h25
  4. [Tuning] Différence entre latch et lock
    Par kameleo10 dans le forum Oracle
    Réponses: 2
    Dernier message: 06/02/2006, 11h29
  5. [LOCK MONITOR] ROWID vide
    Par stephDeZ dans le forum Oracle
    Réponses: 10
    Dernier message: 26/01/2006, 17h19

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