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 :

Table Oracle bloquée


Sujet :

Administration Oracle

  1. #1
    Thomaaas
    Invité(e)
    Par défaut Table Oracle bloquée
    Bonjour a tous,

    Voila mon probleme :

    J'ai une des tables de mon shema Oracle qui est bloqué, c'est à dire que même une requete simple n'aboutit pas. (SQL+ figé)

    Si quelqu'un à une idée pour résoudre le probleme sans avoir à redémarrer la base (car production), ça m'interresse.

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Par défaut
    Identifier le bloquant

    Avec des outils comme OEM-DBA Studio/DBArtisant

    cela devrait etre assez simple

    en ligne de commande il va falloir jouer avec les V$Lock et autres

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 76
    Par défaut
    Si tu dois dans l'urgence rendre tes données disponibles.

    Affiche les sessions:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * FROM v$session s, v$process p
       WHERE (p.addr(+) = s.paddr)
    Tu identifies la blocante et tu tapes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER SYSTEM KILL SESSION '135,19290'; //sid + serial
    Ça te ferme le lock.

  4. #4
    Membre éclairé Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Par défaut
    Tu peux utiliser cette requête pour trouver tous les locks bloquants sur ton instance Oracle :
    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
    SELECT L.SID, S.USERNAME, S.OSUSER, L.TYPE,
           DECODE(L.LMODE, 0, 'None', 1, 'Null', 2, 'Row-S (SS)', 3, 'Row-X (SX)', 4, 'Share (S)', 5, 'S/Row-X (SSX)', 6, 'Exclusive (X)', '?') LKMODE,
           DECODE (L.TYPE, 'TX',
              'RBS ' || rbs.Name || ', Slot ' || MOD(ID1, 65536) || ' Wrap# ' || ID2,
              'TM', 'Table ' || o.owner || '.' || o.object_name,
              'TS', 'Temp Seg TBS ' || tbs.name || ' RelDBA ' || ID2) Descrip,
           L.CTIME sec, L.BLOCK "Blocking",
           DECODE(L.REQUEST, 0, TO_CHAR(NULL), 1, 'Null', 2, 'Row-S (SS)', 3, 'Row-X (SX)', 4, 'Share (S)', 5, 'S/Row-X (SSX)', 6, 'Exclusive (X)', '?') ReqMode
     FROM V$LOCK L, V$session S, dba_objects o, v$tablespace tbs, v$rollname rbs
    WHERE L.SID=S.SID 
      AND o.object_id (+)=L.ID1
      AND tbs.ts# (+) = L.ID1
      AND rbs.USN (+) = FLOOR(ID1/65536)
      AND S.type!='BACKGROUND'
      AND L.BLOCK = 1;
    Cordialement.

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    Pour voir rapidement si une session bloque d'autres sessions en raison de demandes de verrou incompatibles utilisez les vues DBA_BLOCKERS et DBA_WAITERS.

Discussions similaires

  1. UPDATE TABLE ORACLE
    Par Poisson59 dans le forum Oracle
    Réponses: 10
    Dernier message: 30/11/2005, 15h24
  2. Réponses: 5
    Dernier message: 15/11/2005, 08h57
  3. [Debutant]Vue impliquant des tables Oracle et SQLServer
    Par Wisefool dans le forum Débuter
    Réponses: 4
    Dernier message: 31/08/2005, 11h46
  4. [8.0.5-->9.2.0.5] Checksum sur des tables oracle
    Par bobunny dans le forum Oracle
    Réponses: 9
    Dernier message: 24/11/2004, 12h46
  5. supprimer un enregistrement vide dans une table oracle
    Par shurized dans le forum Bases de données
    Réponses: 11
    Dernier message: 07/09/2004, 16h55

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