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

Oracle Discussion :

Kill procédure qui continue de tourner en bas. 9i


Sujet :

Oracle

  1. #1
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut Kill procédure qui continue de tourner en bas. 9i
    Bonjour,

    j'ai lancé une procédure d'un package sur le serveur qui alimente une table. Pour une raison obscure, mon client a été coupé.
    Pensant qu'il n'y avait pas plus de conséquences que ça, j'ai continué de travailler sur cette table mais je me suis vite aperçut que la moindre requête la concernant était EXTREMEMENT longue (genre 4 mn pour un select count(*) FROM matable alors que j'ai 8 enregistrements dedans).
    Je me suis donc dit qu'il suffisait de la dropper et de la recréer mais je ne peux pas
    The following error has occurred:

    ORA-00054: Ressource occupée et acquisition avec NOWAIT (pas d'attente) indiquée

    Details:
    ORA-00054: Ressource occupée et acquisition avec NOWAIT (pas d'attente) indiquée
    Je réclame donc de l'aide !! Comment tuer cette procédure qui m'empêche de travailler et qui, en plus de ne servir à rien, doit utiliser des ressources du serveur ?

    Merci

  2. #2
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    Normalement, la session devrait être killé par Oracle.

    Sinon regardes dans V$SESSION pour récupérer le SID et le SERIAL# de ta session à tuer. Ensuite tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       alter system kill session 'sid,serial#';
    (en remplacant par les valeurs récupérées).


    Laly.

  3. #3
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Oki, et ça a quoi comme conséquences? Ca risque pas de m'abimer la base, de me faire disparaitre un mdp ou de me toucher à quoi que ce soit au niveau des droits?
    Parce que mon DBA c'est pas un marrant, et j'ai déjà la trouille d'aller le voir pour lui demander de me débloquer le process alors si je lui dit que j'ai supprimé un truc par inadvertance...

  4. #4
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    non, normalement si tu t'assure de bien "killer" la bonne session il n'y a pas trop de risques...

    par contre si la session que tu veux flinguer tourne une procédure qui contient des commit, alors les rows déjà commités feront déjà partie de la base... dans ce cas de figure il faut alors faire très attention !

  5. #5
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Bon de toutes façons j'ai pas les droits dba, je vois aucune table V$...
    Arg!! Mais quand je dis arg.. c'est arg !!

    Bon euh restons calme... Oracle tue la session tout seul au bout de combien de temps? Parce que là un WE de 4 jours s'annonce et une prcédure qui tourne tout le WE, moyen...

  6. #6
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    je crois que le plus simple serait quand même de contacter ton DBA... même si il n'est pas cool !!!

    après tout tu peux lui faire comprendre que c'est moindre mal pour lui de killer ta session plutôt que tu ailles tirer la prise du serveur...

  7. #7
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    C'est fait c'est bon mais... j'ai l'impression que ma session s'est de nouveau bloquée !! Je n'ose pas couper SQL*Plus ce coup-çi mais bon...

    Ca existe les tables maudites ????

  8. #8
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 29
    Points : 35
    Points
    35
    Par défaut Mouahahahah la session fantome....
    Tu es grillé, ta session fantome verrouille ta table. Il te faut donc tuer la session fantome, et pour cela tu as besoin d'un admin.

    à l'avenir, ne ferme pas SQLplus, mais insiste sur ces ctrl+c et tout ca....ca finit par répondre à un moment.

    Positive ta demande au niveau de ton DBA et demande lui s'il ne pourrai pas te mettre un profil qui limiterait tes ressources max. Tes traitements "trop gros" echoueraient d'eux mêmes du coup.

    il est si méchant ton dba ?

  9. #9
    CD
    CD est déconnecté
    Membre habitué
    Inscrit en
    Septembre 2004
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 127
    Points : 151
    Points
    151
    Par défaut
    Les DBAs sont des bêtes assoifées
    et tous les jours une fois la nuit tombée
    il se repaîssent des utilisateurs
    dans un noir recoin de la salle serveur...



    pardon...

  10. #10
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Merci je suis qu'un CDD pour 1 mois et demi... Je n'ai même plus le droit de me garer dans l'entreprise (c'est bonne ambiance de se faire mettre dehors d'une boite parce qu'on a pas le droit de s'y garer alors qu'on vient pour leur rendre service...) Alors pour les droits DBA...

    J'ai (encore) coupé SQL*Plus et tant pis pour la session fantôme mais avec une autre session de SQL*Plus j'ai pu droper la table maudite et la recréer (avec l'option DO NOT PLANTE PLIZ)!! Donc plus de problème (enfin si je pense qu'il y a encore une cession fantome qui tourne quelque part, mais vu que ça ne me dérange plus...).

    merci pr les conseils.

  11. #11
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    attention, sous windows pour tuer une session qui reste à l'état KILLED il faut utiliser orakill <ORACLE_SID> <spid> sous DOS

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

Discussions similaires

  1. [XL-2007] procédure qui continue malgré instruction contraire
    Par casefayere dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 05/04/2010, 16h50
  2. Réponses: 2
    Dernier message: 21/04/2006, 14h32
  3. appel d'une procédure qui renvoie le résultat d'une requete
    Par audreyc dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 16/03/2006, 14h02
  4. Comment faire pour montrer les procédures qui démarrent ave
    Par zoltix dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 07/02/2006, 08h12
  5. [PL/SQL]Procédure qui ne se finit pas...
    Par tscoops dans le forum Oracle
    Réponses: 8
    Dernier message: 13/12/2004, 15h53

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