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

PL/SQL Oracle Discussion :

ORA-01031: insufficient privileges dans une procédure


Sujet :

PL/SQL Oracle

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mars 2007
    Messages : 616
    Par défaut ORA-01031: insufficient privileges dans une procédure
    Bonjour,

    J'ai un problème inhabituel et je ne sais pas comment y remédier.

    Lorsque j’exécute ceci sur mon propre schéma, ça passe. La table est crée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    create table ABSTRACT_PRINCIPAL_AUDIT  as  select * from ABSTRACT_PRINCIPAL where 0=1;
    Lorsque j’exécute ceci, ça passe aussi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    begin
      EXECUTE IMMEDIATE 'create table ABSTRACT_PRINCIPAL_AUDIT  as  select * from ABSTRACT_PRINCIPAL where 0=1';
    end;
    /
    Maintenant lorsque je fais ça, j'ai des erreurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    create or replace procedure create_table as
    begin
      EXECUTE IMMEDIATE 'create table ABSTRACT_PRINCIPAL_AUDIT  as  select * from ABSTRACT_PRINCIPAL where 0=1';
    end;
    /
     
    exec create_table;
    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
    ORA-01031: insufficient privileges
    ORA-06512: at "MONSCHEMA.CREATE_TABLE", line 3
    ORA-06512: at line 1
    01031. 00000 -  "insufficient privileges"
    *Cause:    An attempt was made to change the current username or password
               without the appropriate privilege. This error also occurs if
               attempting to install a database without the necessary operating
               system privileges.
               When Trusted Oracle is configure in DBMS MAC, this error may occur
               if the user was granted the necessary privilege at a higher label
               than the current login.
    *Action:   Ask the database administrator to perform the operation or grant
               the required privileges.
               For Trusted Oracle users getting this error although granted the
               the appropriate privilege at a higher label, ask the database
               administrator to regrant the privilege at the appropriate label.
    Quelqu'un peut me dire d'où vient le problème?
    Merci

  2. #2
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Les privilèges acquises via des rôles ne s'appliquent pas dans le procédures PL/SQL, d'AUTHID = DEFINER (défaut). L'utilisateur en question doit recevoir le droit de créer la table d'une manière explicite.

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mars 2007
    Messages : 616
    Par défaut
    En effet lorsque je fais ça, ça marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grant create table to monschema;
    Mais alors, à quoi servent les rôles? Pourquoi doit-on donner les droits explicites aux utilisateurs?
    J'aurais bien voulu éviter de donner directement aux utilisateurs. Est-ce possible dans ce cas?

  4. #4
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Citation Envoyé par cmako Voir le message
    Mais alors, à quoi servent les rôles? Pourquoi doit-on donner les droits explicites aux utilisateurs?
    ...
    https://asktom.oracle.com/pls/apex/f?p=100:11:0:::11_QUESTION_ID:48704116042682#48798240264807

Discussions similaires

  1. ORA-01031: insufficient privileges
    Par titi04 dans le forum SQL
    Réponses: 10
    Dernier message: 22/04/2009, 17h27
  2. ORA-01031 ORA-01031: insufficient privileges
    Par LeoAnderson dans le forum Administration
    Réponses: 2
    Dernier message: 03/06/2008, 18h15
  3. ORA-01031: insufficient privileges
    Par kuruma45 dans le forum Wildfly/JBoss
    Réponses: 2
    Dernier message: 16/04/2007, 09h26
  4. ORA-01031: insufficient privileges
    Par fortlow dans le forum Oracle
    Réponses: 8
    Dernier message: 08/11/2005, 14h52
  5. ora-01031: insufficient privileges avec TOAD
    Par melitta dans le forum Toad
    Réponses: 4
    Dernier message: 03/11/2005, 12h09

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