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

SQL Oracle Discussion :

Comment arrêter une session Oracle ?


Sujet :

SQL Oracle

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 14
    Points : 14
    Points
    14
    Par défaut Comment arrêter une session Oracle ?
    bonjour,
    en voulant exécuter une reqête update sur une bdd oracle10g j'ai eu l'erreur suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Erreur à la ligne de commande : 1, colonne : 59
    Rapport d'erreur :
    Erreur SQL : ORA-00054: Ressource occupée et acquisition avec NOWAIT (pas d'attente) indiquée
    00054. 00000 -  "resource busy and acquire with NOWAIT specified"
    *Cause:    Resource interested is busy.
    *Action:   Retry if necessary.
    en gros ce que j'ai compris en cherchant sur le net que ma table est occupée par une autre session. En cherchant comment arrêter une session j'ai trouvé cette page http://www.adp-gmbh.ch/ora/sql/alter_session.html

    mais ca marche pas, la session est tjrs occupée.

    j'ai besoin d'aide svp

    cordialement

  2. #2
    Membre régulier
    Inscrit en
    Août 2009
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Août 2009
    Messages : 107
    Points : 124
    Points
    124
    Par défaut
    le code suivant ne marche pas ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    -- récupérer sid et serial number de la session
    select sid, serial#,  OSUSER, USERNAME, PROCESS from v$session
     
    --killer
    alter system kill session 'sid,serial#';

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 76
    Points : 81
    Points
    81
    Par défaut
    Bonjour,

    Premierement vous listez les connections:
    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)
    ou (en fonction de vos besoins)

    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
    SELECT s.USERNAME,
           s.OSUSER,
           s.SID,
           s.SERIAL#,
           p.SPID,
           s.SERVER,
           s.STATUS,
           s.MACHINE,
           s.PROGRAM,
           TO_CHAR(s.LOGON_TIME, 'hh24:mi:ss') LOGON_TIME,
           d.name DISP,
           ss.name SERV
      FROM V$PROCESS p,
           V$SESSION s,
           V$DISPATCHER d,
           V$CIRCUIT c,
           V$SHARED_SERVER ss
     WHERE p.ADDR = s.PADDR
       AND s.SADDR=c.SADDR (+)
       AND c.DISPATCHER=d.PADDR (+)
       AND c.SERVER=ss.PADDR (+)
       AND s.USERNAME IS NOT NULL
     ORDER BY s.USERNAME, p.SPID;

    puis vous supprimez celle qui vous gene:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER SYSTEM KILL SESSION 'sid,serial';

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 14
    Points : 14
    Points
    14
    Par défaut
    ok, sauf que j'ai un problème de privilège.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Erreur SQL : ORA-01031: privilèges insuffisants
    c'est rageant ...

  5. #5
    Membre régulier
    Inscrit en
    Août 2009
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Août 2009
    Messages : 107
    Points : 124
    Points
    124
    Par défaut
    Si tu n'es pas dba, çà ne marchera pas !
    essayes
    (en ligne de commande)
    ou
    (sous sql)

    et reessaye le kill

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 481
    Points : 165
    Points
    165
    Par défaut
    Bonjour,

    Je me permet d'intervenir dans cette discussion qui répond "presque" à mon problème. C'est la raison pour laquelle je n'ai pas ouvert un nouveau sujet.

    J'ai eu récemment une requête Oracle qui a généré beaucoup de swap. Du coup, il faut killer la "bonne" session.

    Dans ce cas j'aimerais savoir comment déterminer quelle est la session à tuer s'il vous plaît ?

    Par avance je vous remercie.

    Cordialement,
    Marc.

Discussions similaires

  1. Comment Monter Une Base Oracle
    Par lassmust dans le forum Oracle
    Réponses: 7
    Dernier message: 02/09/2009, 17h19
  2. Modifier le caractere & dans une session ORACLE ?
    Par JUSTIN Loïc dans le forum Oracle
    Réponses: 4
    Dernier message: 25/08/2006, 09h00
  3. Comment deployer une application oracle forms ?
    Par hugobob dans le forum Forms
    Réponses: 3
    Dernier message: 13/04/2006, 18h40
  4. VBScript: Comment créer une session
    Par pierrot10 dans le forum VBScript
    Réponses: 11
    Dernier message: 27/12/2005, 17h48
  5. Comment creer une base Oracle 8i
    Par bene123 dans le forum Oracle
    Réponses: 3
    Dernier message: 05/12/2005, 16h10

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