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 :

[Sessions] [10g] Procédure kill_users sous l'utilisateur SYSTEM


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2003
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 35
    Par défaut [Sessions] [10g] Procédure kill_users sous l'utilisateur SYSTEM
    Bonjour, j'ai créé une procédure PL/SQL afin de "killer" certains users.
    Le problème est que, en la créant sous SYS, je n'ai aucun problème, mais en la créant sous SYSTEM, j'obtiens des erreurs, me disant que la table v$session n'existe pas...

    J'ai tenter de faire la procédure à la main, ligne par ligne, et j'ai bien accès à cette table v$session en tant que SYSTEM...

    Voilà la procédure :

    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
    create or replace procedure kill_rh_user as
    begin    
       for i in (select sid, serial# from v$session where username  = 'TOTO' ) 
       loop   
            execute immediate 'alter system kill session ' ||''''|| i.sid ||','|| 
            i.serial# ||''' immediate';
       end loop;
     
     
       for i in (select sid,serial# from v$session where username  = 'TITI' ) 
       loop   
            execute immediate 'alter system kill session ' ||''''|| i.sid ||','|| 
            i.serial# ||''' immediate';
       end loop;
     
       for i in (select sid,serial# from v$session where username  = 'TATA' ) 
       loop   
            execute immediate 'alter system kill session ' ||''''|| i.sid ||','|| 
            i.serial# ||''' immediate';
       end loop;
     
     
    end;
    qu'en pensez-vous ??

    merci à tous !

  2. #2
    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
    Il faut que le privilège soit accordé directement par un GRANT et non par un rôle (fonctionnement par défaut des procédures stockées).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GRANT SELECT ON v_$session to SYSTEM;

  3. #3
    Membre averti
    Inscrit en
    Avril 2003
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 35
    Par défaut
    J'ai donné le droit et effectivement ca fonctionne !

    Merci !!

  4. #4
    Membre averti
    Inscrit en
    Avril 2003
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 35
    Par défaut
    j'ai parlé trop vite !
    La procédure fonctionne, mais ne fonctionne qu'une ou deux fois !
    Je suis obligé de redonner le grant à chaque fois que je lance la procédure !
    Faut-il le relancer à chaque fois ?

  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
    Normalement, non.

    Quel est le message d'erreur que vous avez ?

Discussions similaires

  1. [10g] Suppression instance sous windows
    Par fleuf2000 dans le forum Oracle
    Réponses: 2
    Dernier message: 30/12/2005, 00h12
  2. [Cookies] PB sessions php et navigation sous imode
    Par hardkmel dans le forum Langage
    Réponses: 8
    Dernier message: 23/12/2005, 12h22
  3. Réponses: 4
    Dernier message: 14/10/2005, 19h53
  4. Procédure stockée et multi utilisateurs
    Par Bruno34 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 30/04/2003, 15h32

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