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 :

SELECT BLOQUANT en 9i


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
    Septembre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 27
    Par défaut SELECT BLOQUANT en 9i
    Bonjour,

    J'ai une base données qui tourne sous 9.2
    Notez que mon application utilise avec parcimonie des SELECT FOR UPDATE.

    De temps à autre, j'ai un blocage et lorsque que je vais voir dans l'OEM la session qui bloque les autres : C'est un SELECT tout bête (avec des jointures).

    Normalement en ORACLE, un SELECT n'est ni bloquant in bloqué.

    Comment cela est-il possible ?

    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Avril 2006
    Messages : 35
    Par défaut
    Il me semble qu'il est impossible de récupérer l'instruction sql (le code) qui bloque x autres sessions.

    On peut par contre obtenir bcp d'information (la session,le type de lock, l'objet qui est locké, la ou les lignes de l'objet etc ...).

    UN exemple très simple :

    Sur ma session 1 je vais faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    select * from  TEST FOR UPDATE;
    select * from TAB_AUTRES;

    Sur ma session 2 je vais faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    update TEST set attr1='TOTO';
    J'aurais bien ma session 2 qui sera en attente de la libération du verrou posé par la première requête de la session 1.
    Mais si j'essaye d'obtenir l'instruction sql qui bloque la session 2, il y a de forte chance que j'obtienne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select * from TAB_AUTRES;
    Car c'est la dernière instruction exécuté par la session 1, alors que ce n'est pas celle là qui bloque la session 2.

    Je n'ai pas de BDD sous la main pour validé, alors je raconte peut être n'importe quoi

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 27
    Par défaut
    Dans le mile Olwin !

    C'est exactement celà !!!
    Merci beaucoup, mon blocage provient d'une des requêtes précédentes alors qu'oracle n'affiche que la dernière ...

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

Discussions similaires

  1. Multi-selection dans une ComboBox ?
    Par Moloko dans le forum MFC
    Réponses: 5
    Dernier message: 07/07/2021, 17h26
  2. Problème de socket bloquant et select sans effet.
    Par asmerisme dans le forum Réseau
    Réponses: 5
    Dernier message: 23/02/2010, 18h55
  3. problème bloquant avec "SELECT LAST_INSERT_ID()"
    Par r2d2abc dans le forum JDBC
    Réponses: 15
    Dernier message: 21/04/2009, 01h56
  4. Select avec écriture non bloquante
    Par Invité dans le forum Réseau
    Réponses: 5
    Dernier message: 24/05/2006, 16h20
  5. faire un selection dans une image aves les APIs
    Par merahyazid dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/04/2002, 10h44

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