Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/08/2011, 14h57   #1
Candidat au titre de Membre du Club
 
Inscription : juin 2004
Messages : 98
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 98
Points : 11
Points : 11
Par défaut Problème d'accès à une vue: ORA 01031

Bonjour à tous,

Voilà mon problème:
J'ai une vue nommée V3 qui appartient à un schéma nommé SCHEMA3

V1 est constituée de 2 tables
- table T1 qui appartient au schéma SCHEMA1
- table T2 qui appartient au schéma SCHEMA2

Ma vue est valide, j'ai mis des grants sur les tables appropriées. J'y accède sans problème en me connectant à oracle avec l'utilisateur SCHEMA3.

Le souci, c'est que je souhaite y accéder avec un utilisateur nommé USER1, est c'est là que j'obtiens l'erreur ORA 01031...
J'ai pourtant mis des grant select sur cet utilisateur pour les tables T1 et T2 ainsi que sur la vue V3.

Qualqu'un aurait-il des pistes à me donner? Je suis démunie je ne sais plus de quel côté chercher...

Merci,
ceuce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 16h42   #2
Rédacteur
 
Inscription : décembre 2002
Messages : 2 387
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 387
Points : 3 265
Points : 3 265
A moins que j'aie mal compris votre scénario, tout ça me paraît bizarre.
Je m'attendrais à ce que vous ayez plutôt l'erreur ORA-01720 lorsque SCHEMA3 veut donner les droits à USER1 sur sa vue.

Pour que ça marche, il faut utiliser l'option WITH GRANT OPTION lorsque vous donnez à SCHEMA3 les droits sur les tables des autres schémas.
Code :
1
2
GRANT SELECT ON SCHEMA1.T1 TO SCHEMA3 WITH GRANT OPTION;
GRANT SELECT ON SCHEMA2.T2 TO SCHEMA3 WITH GRANT OPTION;
Par contre, quand SCHEMA3 crée une vue qui doit être accessible à USER1, USER1 n'a aucun besoin d'avoir des droits sur les objets sous-jacents de la vue.
Le principe est de donner uniquement les droits sur la vue, ainsi il sera impossible, pour USER1, de consulter directement les tables SCHEMA1.T1 et SCHEMA2.T2.
__________________
Consultant / formateur Oracle indépendant
Certifié OCP 10g et 11g, sécurité 11g
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 16h58   #3
Candidat au titre de Membre du Club
 
Inscription : juin 2004
Messages : 98
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 98
Points : 11
Points : 11
C'est impeccable ça fonctionne, j'avais oublié le "with grant option".

Merci beaucoup pour votre aide
ceuce est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h25.


 
 
 
 
Partenaires

Hébergement Web