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 MySQL Discussion :

Problème de lock [MySQL-5.5]


Sujet :

Administration MySQL

  1. #1
    Candidat au Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Septembre 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1
    Points : 3
    Points
    3
    Par défaut Problème de lock
    Bonjour à tous,

    J'ai un petit problème au niveau d'un lock sur une table dans MySQL. J'ai très peu d'expérience sur MySQL je suis un dba Sybase à l'origine.

    Mon souci est que régulièrement des blocages apparaissent sur une table baignoire qui est très accédé mais qui possède aussi très peu de lignes (pas plus de 20 à in instant t).

    si je regarde plus en détail dans la table innodb_trx je trouve le processus qui bloque tout le monde. Par contre il est en RUNNING mais aucune info dans trx_query qui est à null. Donc pas moyen de savoir ce qu'il fait (sauf s'il y a une autre façon de faire?)

    Je m’aperçois aussi que le départ de la transaction peut être très éloigné des fois de plus de 20mins alors que rien ne remonte dans les requêtes lentes.

    De plus ayant les journaux binaires activés si je regarde dedans à l'heure de début de la transaction je ne trouve absolument rien.

    Pour information l'appli qui utilise la base est une application médicale dont certain client sont en wifi et sont souvent déconnecté du réseau. Je me demande donc s'il peu s'agir d'un processus fantôme ?

    Voici les quelques traces que j'ai:
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
     
    mysql> select * from information_schema.innodb_trx\G
    *************************** 1. row ***************************
                        trx_id: 4C7062FD
                     trx_state: LOCK WAIT
                   trx_started: 2013-09-03 10:27:36
         trx_requested_lock_id: 4C7062FD:0:507913:17
              trx_wait_started: 2013-09-03 10:27:36
                    trx_weight: 2
           trx_mysql_thread_id: 11798
                     trx_query: UPDATE `cmn_blocage` SET `Date_Raffraichissement` = '2013-09-03 10:27:35.980' WHERE `IDCMN_Blocage`=2504951
           trx_operation_state: starting index read
             trx_tables_in_use: 1
             trx_tables_locked: 1
              trx_lock_structs: 2
         trx_lock_memory_bytes: 376
               trx_rows_locked: 1
             trx_rows_modified: 0
       trx_concurrency_tickets: 0
           trx_isolation_level: REPEATABLE READ
             trx_unique_checks: 1
        trx_foreign_key_checks: 1
    trx_last_foreign_key_error: NULL
     trx_adaptive_hash_latched: 0
     trx_adaptive_hash_timeout: 9703
    *************************** 2. row ***************************
                        trx_id: 4C706283
                     trx_state: LOCK WAIT
                   trx_started: 2013-09-03 10:27:20
         trx_requested_lock_id: 4C706283:0:507913:21
              trx_wait_started: 2013-09-03 10:27:20
                    trx_weight: 3
           trx_mysql_thread_id: 12667
                     trx_query: DELETE FROM `cmn_blocage` WHERE  ( ( `cmn_blocage`.`ID_UTILISATEUR` = 820 ) AND ( `cmn_blocage`.`NomMachine` = 'CHEFBLOC' ) )
           trx_operation_state: fetching rows
             trx_tables_in_use: 1
             trx_tables_locked: 1
              trx_lock_structs: 3
         trx_lock_memory_bytes: 1248
               trx_rows_locked: 20
             trx_rows_modified: 0
       trx_concurrency_tickets: 0
           trx_isolation_level: REPEATABLE READ
             trx_unique_checks: 1
        trx_foreign_key_checks: 1
    trx_last_foreign_key_error: NULL
     trx_adaptive_hash_latched: 0
     trx_adaptive_hash_timeout: 0
    *************************** 3. row ***************************
                        trx_id: 4C6D9668
                     trx_state: RUNNING
                   trx_started: 2013-09-03 09:41:57
         trx_requested_lock_id: NULL
              trx_wait_started: NULL
                    trx_weight: 129
           trx_mysql_thread_id: 11968
                     trx_query: NULL
           trx_operation_state: NULL
             trx_tables_in_use: 0
             trx_tables_locked: 0
              trx_lock_structs: 29
         trx_lock_memory_bytes: 6960
               trx_rows_locked: 50
             trx_rows_modified: 100
       trx_concurrency_tickets: 0
           trx_isolation_level: REPEATABLE READ
             trx_unique_checks: 1
        trx_foreign_key_checks: 1
    trx_last_foreign_key_error: NULL
     trx_adaptive_hash_latched: 0
     trx_adaptive_hash_timeout: 3075
    3 rows in set (0.09 sec)
     
    mysql> select * from information_schema.innodb_lock_waits\G
    *************************** 1. row ***************************
    requesting_trx_id: 4C7062FD
    requested_lock_id: 4C7062FD:0:507913:17
      blocking_trx_id: 4C706283
     blocking_lock_id: 4C706283:0:507913:17
    *************************** 2. row ***************************
    requesting_trx_id: 4C706283
    requested_lock_id: 4C706283:0:507913:21
      blocking_trx_id: 4C6D9668
     blocking_lock_id: 4C6D9668:0:507913:21
    2 rows in set (0.05 sec)
    Si vous avez des idées ou d'autres façon de prendre des traces je suis preneur.

    Merci d'avance pour votre aide

    Cordialement,
    Johan

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    bonjour,


    cf la doc : http://dev.mysql.com/doc/refman/5.5/...trx-table.html

    trx_mysql_thread_id permet de remonter jusqu'au process de processlist.

    Vous aurez peut être un peu plus d'info la dedans.

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

Discussions similaires

  1. Problème de LOCK MySQL
    Par Sindel dans le forum MySQL
    Réponses: 6
    Dernier message: 18/10/2009, 01h45
  2. [WD12] Problème de locking
    Par samus535 dans le forum WinDev
    Réponses: 6
    Dernier message: 09/04/2009, 20h55
  3. [10g] Problème de LOCK
    Par salim11 dans le forum Forms
    Réponses: 6
    Dernier message: 05/09/2008, 20h17
  4. Réponses: 4
    Dernier message: 07/03/2008, 09h40
  5. Problème de lock d'un objet recordset
    Par aircamus dans le forum IHM
    Réponses: 2
    Dernier message: 12/06/2006, 14h17

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