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

Administration Oracle Discussion :

Problème droits insuffisants : ORA-01031: privilèges insuffisants [10g]


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Février 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Février 2018
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Problème droits insuffisants : ORA-01031: privilèges insuffisants
    Bonjour à tous,

    Nous rencontrons un problème avec l’erreur suivante : ORA-01031: privilèges insuffisants

    Nous utilisons une base Oracle 10.

    Nous avons créé une API en .NET 4.7 qui interroge une base Oracle 10.
    Dans cette base Oracle 10, nous avons créé 2 vues

    A ce jour, notre API effectue les requêtes suivantes :

    1) Interrogation d’une table pour récupérer les informations de connexion (email, mot de passe)
    2) Interrogation de 2 vues.

    De manière aléatoire, lorsque notre API interroge les vues, nous obtenons le message suivant : ORA-01031: privilèges insuffisants
    A partir du premier message d’erreur, nous n’arrivons plus à questionner nos vues car les privilèges sont insuffisants.

    Nous n’arrivons aps à déterminer la cause et ce qui est vraiment étrange, c’est que le cas se produit de manière aléatoire !

    Nous devons rebooter le pool d’application d’IIS pour ne plus rencontrer le problème.

    L’utilisateur utilisé pour se connecter à la base est un utilisateur qui a tous les droits.

    Une idée ?

    Merci pour vos retours.

    Bonne journée.

  2. #2
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Est-ce que les droits ont été donnés sur ces vues en direct ou via un rôle à ce user?
    Si vous êtes passés par un rôle, donnez les droits en direct avec un GRANT et retestez.

    Sur quoi pointent ces vues : sur les tables d'un seul schéma, sur plusieurs schémas, sur un schéma différent de celui du user qui veut faire un SELECT...
    Ce serait bien d'avoir la définition de ces vues car les pbs de droits peuvent venir du fait que les vues pointent vers un autre schéma.

    Ah, dernière remarque, même si le user a tous les droits, genre SYSTEM, il a parfois des limites, notamment dès qu'on parle de rôles, vues, procédures stockées...
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Février 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Février 2018
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Merci de ta réponse.

    > Est-ce que les droits ont été donnés sur ces vues en direct ou via un rôle à ce user?

    Non le user a le droit de lire tout. Sur SQLPlus l'accès a ces vues ne pose aucun problème.

    > Si vous êtes passés par un rôle, donnez les droits en direct avec un GRANT et retestez.

    Je vais tenter l'ajout d'un grant particulier mais comme précisé plus haut avec SQLPlus tout marche.

    > Sur quoi pointent ces vues : sur les tables d'un seul schéma, sur plusieurs schémas, sur un schéma différent de celui du user qui veut faire un SELECT...
    > Ce serait bien d'avoir la définition de ces vues car les pbs de droits peuvent venir du fait que les vues pointent vers un autre schéma.

    Les vues pointent sur des tables du même schema que la vue (donc un seul schema au total). Ensuite c'est vrai qu'une des vue utilise une fonction.

    > Ah, dernière remarque, même si le user a tous les droits, genre SYSTEM, il a parfois des limites, notamment dès qu'on parle de rôles, vues, procédures stockées...

    Le souci c'est que le problème n'arrive pas tout le temps donc c'est assez chaud à tester mais en effet comme la vue utilise des fonctions peut être y a-t-il un lien.

  4. #4
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Si je comprends bien, sous SQL*Plus il n'y a aucun problème mais c'est en passant par votre API qu'il y a un souci?

    Si c'est bien le cas, le pb n'est pas sous Oracle (enfin, ce n'est pas un pb de droits ou autre).

    Est-ce que vous utilisez TOUJOURS le même user Oracle quand vous utilisez l'API? Quand vous dites que l'erreur arrive de manière aléatoire, vous avez identifié des différences dans les lancements de votre API?
    Je vous conseille de vous focaliser sur l'environnement de votre API, sur comment elle est appelée car si tout est OK en full Oracle (SQL*Plus et accès aux vues), alors le pb est lié à l'API et là je ne peux plus vous aider.
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  5. #5
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Si une des fonctions utilise un procédure SYS dans un cas particulier, et que le droit d'exécution n'a pas été spécifiquement donné à l'utilisateur qui fait un query sur la vue, tu peux te retrouver avec cette erreur.
    Faut vérifier en détail le code des fonctions.

    Le mieux serait d'arriver à reproduire le cas, mais si c'est vraiment aléatoire, alors bonne recherche
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Février 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte de base de données

    Informations forums :
    Inscription : Février 2018
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    merci pour le retour.

    Notre lead dev s'occupe de changer d’environnement.

    Par contre, je suis assez surpris. Même si c'est un problème lié à l’environnement, au final, je me retrouve quand même avec une erreur liée aux privilèges de la BDD.

    Egalement, plusieurs utilisateurs accèdent à la base de données via l'API.

    A-t-on la possibilité via un script ou une ligne de commande, avant chaque appel sur la vue, de consulter l'utilisateur, sa connexion à la BDD et les privilèges associés ?
    Avant et après l’exécution de la requête.

    Egalement, a-t-on la possibilité d'executer un grant ou un SQL qui permettrait de générer des droits sur tout (sur les tables, les vues, les fonctions...). Pour éviter de se poser la question des droits.

    J'aimerai déjà écarter ce problème de droits avant tout chose.

    En tous cas merci pour votre aide. Nous sommes vraiment dans l'inconnu. :-)

  7. #7
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    A-t-on la possibilité via un script ou une ligne de commande, avant chaque appel sur la vue, de consulter l'utilisateur, sa connexion à la BDD et les privilèges associés ?
    Avant et après l’exécution de la requête.
    Pour ça, il faudra mettre en place un audit Oracle sur cette vue. Le lien suivant me semble un peu succinct mais ils utilisent l'audit de granularité fine FGA qui est intéressant à connaître.
    http://www.orafaq.com/wiki/DBMS_FGA
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

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

Discussions similaires

  1. ORA-01031: privilèges insuffisants
    Par Sabact dans le forum SQL
    Réponses: 7
    Dernier message: 02/07/2018, 17h20
  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