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 :

locks sur 11g


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 19
    Par défaut locks sur 11g
    Bonjour,

    Nous avons note une différence curieuse dans le comportement de oracle database 11g et oracle 9i. Il s’agit de locks. Nous avons créé deux tables comme le montre le SQL joint, dont une parent et une enfant. Nous avons réalisé un insert dans la table enfant qui a généré des locks dans la table parent, mais des locks différents selon la version de la base de données ou nous avons fait l’expérience.

    En 11g nous avons eu des locks de type Row-X(SX) (« mode held ») et en 9i des locks de type Row-S(SS) (« mode held »).

    Malheureusement pour nous, nous avons une base de production en 11g et de gros problèmes de locks qui vraisemblablement proviennent de ce qui précède.

    Cependant, merci de noter que lorsque nous avons fait le test sur la base 11g, nous avons mis 2 tables d’essai dans notre base de données de production ; alors que le test en 9i a été effectué sur une nouvelle base de données.

    L’explication peut donc venir d’un bug de la 11g, auquel cas, existe-t-il un patch, ou bien d’un mauvais paramétrage de la base, mais lequel ?

    J’ai pensé au mode d’isolation des données mais je ne sais pas ou cela se lit.

    Pour information nous sommes sous AIX 5.3 en 64 bits.

    Merci de vos suggestions.
    Images attachées Images attachées

  2. #2
    Membre expérimenté Avatar de petitfrere
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    259
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 259
    Par défaut
    C'est un souvenir lointain mais ca peut peut etre t'aider...

    Ya longtemp j'ai eu le meme symptome apres une migration d'une base de la 9i vers la 10g, le comportement des locks avez changer...

    a priori cela n'était pas vue comme un bug mais une evolution d'oracle

    tu dois pouvoir changer ce mode mode de fonctionnement pour revenir a ton ancien mode via un alter system mais je me souviens plus de la commande exact


    attention je suis pas sure a 100% ma memoire me fait defaut....

  3. #3
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Par défaut
    Bonjour,

    Il y a une différence de comportement en effet mais Row-X(SX) existe aussi en 10G R2 patch 4 pour les memes instructions ....

    Quelle version exacte de oracle 11G tu as ?

    Sinon as tu mesure le temps d'execution des insert sur les 2 bases ?

    Sinon , en Prod est ce qu'il y a seulement des insert ?
    pas de delete ou update ?

    A vérifier :

    - Meme clé unique écrite pas differentes sessions
    - Clés étrangeres non indexés lors de modifications des tables parentes sur les clés primaires
    - Présence d' indexes Bitmap

  4. #4
    Membre expérimenté Avatar de petitfrere
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    259
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 259
    Par défaut
    Whoua j'ai retrouvé mon probleme que j'avais posté en 2006....

    http://www.developpez.net/forums/d24...-lock-3-10gr2/

    With this fix enabled:
    alter session set "_fix_control"='4969880:ON'; -- 11g
    alter session set events '38084 trace name context forever, level 1'; -- 9.2/10g
    select * from test where f1 is null for update;
    select lmode from v$lock where type = 'TM';


    Description

    The fix for bug 3646162 changed the behaviour of
    SELECT FOR UPDATE operations such that with that fix
    they correctly take a sub-exclusive mode TM lock on
    the affected tables. This change in behaviour introduced
    by that fix led to problems for some client code so this
    fix introduces a backout method to disable the fix and
    revert to the old (incorrect) TM lock level.

    To enable this fix in >= 10.2.0.2 set "_fix_control"='4969880:ON'

    To enable this fix in 9.2 / 10.1 / 10.2.0.1 set event 38084 to any level.


    eg:
    create table test( f1 varchar2(10));
    select * from test where f1 is null for update;
    select lmode from v$lock where type = 'TM';
    ^
    LMODE is 3 (SX mode)

    With this fix enabled:
    alter session set "_fix_control"='4969880:ON'; -- 11g
    alter session set events '38084 trace name context forever, level 1'; -- 9.2/10g
    select * from test where f1 is null for update;
    select lmode from v$lock where type = 'TM';
    ^
    LMODE is 2 (SS mode)

    The full bug text (if published) can be seen at Bug 4969880 (This link will not work for UNPUBLISHED bugs)
    You can search for any interim patches for this bug here Patch 4969880 (This link will Error if no interim patches exist)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 19
    Par défaut suite 2
    Bonjour,

    Merci pour votre aide. Je vais transmettre ces informations à mon administrateur. Donc merci de patienter pour en connaître le résultat car il n'est pas là en ce moment.

    Evidemment toute autre idée est bonne à prendre, vu que cela fait quelque mois que nous ramons (après être passé par des histoires d'initrans, mais ça ne venait pas de là...)

    Pour information la version de la bdd est 11.1.0.7.0.

    Par ailleurs il semble que nous ayons des problèmes similaires à ceux de l'INSERT sur des UPDATE et probablement sur des DELETE.

    Cordialement

  6. #6
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Par défaut
    Citation Envoyé par Guigui2 Voir le message
    Bonjour,


    Par ailleurs il semble que nous ayons des problèmes similaires à ceux de l'INSERT sur des UPDATE et probablement sur des DELETE.

    Cordialement
    Verifier

    - Clés étrangeres non indexés lors de modifications des tables parentes sur les clés primaires
    - Présence d' indexes Bitmap
    - ITL( Interested Transaction List) lors d'update

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

Discussions similaires

  1. [Lock] Fonctionnement du lock sur InnoDB
    Par Traroth2 dans le forum Requêtes
    Réponses: 1
    Dernier message: 01/08/2006, 11h24
  2. LOCK sur des objets
    Par Nick_Holmes dans le forum Oracle
    Réponses: 11
    Dernier message: 01/06/2006, 16h25
  3. comment gérer plusieurs locks sur une table?
    Par charluber dans le forum Oracle
    Réponses: 4
    Dernier message: 18/04/2006, 21h28
  4. lock sur update
    Par jacques trepp dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 17/06/2005, 10h36
  5. Faire un Lock sur une table pendant l'exec d'un DTS
    Par Pete dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 14/03/2005, 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