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 :

ORA-01031: privilèges insuffisants


Sujet :

SQL Oracle

  1. #1
    Membre régulier Avatar de Sabact
    Inscrit en
    Septembre 2006
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 189
    Points : 91
    Points
    91
    Par défaut ORA-01031: privilèges insuffisants
    Bonjour,
    J'essaie de créer un procédure qui crée un utilisateur et donner le donner privilège nécèssaire pour les utilisateurs céés:
    Se connecter en utilisateur de profil DBA et crée la
    Procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    CREATE OR REPLACE PROCEDURE cree_user(vUserCreate VARCHAR2) IS
    vReq1 varchar2(200):='CREATE USER '||vUserCreate||' identified by '||vUserCreate;
    BEGIN
     execute immediate vReq1;
     execute immediate('GRANT CONNECT,RESOURCE,DBA TO '||vUserCreate||' IDENTIFIED BY '||vUserCreate);
     execute immediate('ALTER USER '||vUserCreate||' IDENTIFIED BY '||vUserCreate) ;
    Exception
     WHEN OTHERS THEN
     DBMS_OUTPUT.PUT_LINE('3'||SQLERRM);
    END cree_user;
    ]

    Je donne un grant pour faire l'éxecution,
    création d'un public synonym

    Losque j'execute le procédure on a l'error
    par exemple
    sql> execute cree_user('tim');
    ORA-01031: privilèges insuffisants
    Procédure PL/SQL terminée avec succès.

    Question: quel est le privilège que je doit pour que je puisse lancer ce procédure autre que dba
    Remarque si je crée tout simplement en lancant create user ... les utilisateur est bien créé
    Merci pour votre aide.
    Un sot ne dit pas de choses intelligentes, mais un homme intelligent dit beaucoup de bêtises.

  2. #2
    Membre habitué Avatar de Scual
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2006
    Messages : 149
    Points : 189
    Points
    189
    Par défaut
    Bonjour,

    as-tu essayé de granter "execute" sur l'utilisateur pour ta procédure ?

    ++
    Diction de DBA :
    "Tant va la cruche à l'eau qu'à la fin, ça me les brise"
    -------------------------------------
    Working on Oracle Database 10g / 11g
    -------------------------------------
    Article d'installation d'Oracle 10g AS Portal by Maxime GONTCHAROV
    labo-oracle.com

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    ça a déjà été expliqué à maintes reprises : les roles ne sont pas pris en compte en PL/SQL. Il faut que tu ajoutes les droits CREATE USER et ALTER USER au schéma dans lequel tu lances ta procédure.

  4. #4
    Membre régulier Avatar de Sabact
    Inscrit en
    Septembre 2006
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 189
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par orafrance
    ça a déjà été expliqué à maintes reprises : les roles ne sont pas pris en compte en PL/SQL. Il faut que tu ajoutes les droits CREATE USER et ALTER USER au schéma dans lequel tu lances ta procédure.
    -Merci cela marche bien sur l'alter user et create user après l'affectation de ce deux rôle,
    mais, il y a petit problème sur "execute immediate('GRANT CONNECT,RESOURCE,DBA TO '||vUserCreate||' IDENTIFIED BY '||vUserCreate);" Question: comment créer un rôle pour qu'un utilisateur puisse donner un grant de granter pour le syntaxe ci-dessus.

    Remarque:
    Déjà faite ,
    grant create user to SCHEMA;
    grant alter user to SCHEMA;
    Un sot ne dit pas de choses intelligentes, mais un homme intelligent dit beaucoup de bêtises.

  5. #5
    Membre habitué Avatar de Scual
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2006
    Messages : 149
    Points : 189
    Points
    189
    Par défaut
    Tu veux que l'utilisateur qui a reçu le grant puisse le donner à leur tour ?

    Dans ce cas, il faut ajouter WITH ADMIN OPTION à la fin du grant.

    ++
    Diction de DBA :
    "Tant va la cruche à l'eau qu'à la fin, ça me les brise"
    -------------------------------------
    Working on Oracle Database 10g / 11g
    -------------------------------------
    Article d'installation d'Oracle 10g AS Portal by Maxime GONTCHAROV
    labo-oracle.com

  6. #6
    Membre régulier Avatar de Sabact
    Inscrit en
    Septembre 2006
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 189
    Points : 91
    Points
    91
    Par défaut
    C'est résolu! Merci pour votre aide.
    Un sot ne dit pas de choses intelligentes, mais un homme intelligent dit beaucoup de bêtises.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 41
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    J'ai eu le même problème, j'ai donné les droits à mon schéma, seulement cela ne fonctionne toujours pas et me dit que je n'ai pas les privilèges administrateur.

    Si qqn a l'ombre d'une lumière qu'il me fasse signe ^^.

    Merci

    Nyana.

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2018
    Messages
    409
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2018
    Messages : 409
    Points : 40
    Points
    40
    Par défaut
    Citation Envoyé par Sabact Voir le message
    -Merci cela marche bien sur l'alter user et create user après l'affectation de ce deux rôle,
    mais, il y a petit problème sur "execute immediate('GRANT CONNECT,RESOURCE,DBA TO '||vUserCreate||' IDENTIFIED BY '||vUserCreate);" Question: comment créer un rôle pour qu'un utilisateur puisse donner un grant de granter pour le syntaxe ci-dessus.

    Remarque:
    Déjà faite ,
    grant create user to SCHEMA;
    grant alter user to SCHEMA;
    j'ai exactement le même problème, comment je fais pour attribuer tous les privilèges a un user

    merci d'avance

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 28/10/2010, 16h48
  2. ORACLE 9i : ORA-01031: privilèges insuffisants
    Par isn44 dans le forum Débuter
    Réponses: 2
    Dernier message: 11/03/2010, 13h27
  3. ORA-01031: privilèges insuffisants
    Par jadey dans le forum Oracle
    Réponses: 1
    Dernier message: 19/10/2009, 11h19
  4. Réponses: 10
    Dernier message: 14/04/2009, 17h18
  5. ORA-01031 : privilèges insuffisants
    Par bencot dans le forum Administration
    Réponses: 0
    Dernier message: 10/07/2008, 17h04

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