Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Administration
Administration Forum d'entraide sur l'administration du serveur 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 23/01/2008, 14h22   #1
Membre régulier
 
Inscription : avril 2003
Messages : 131
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 131
Points : 72
Points : 72
Par défaut Privilège select sur une vue

Bonjour,

Prenons deux schémas:

- sch1
- sch2

sch1 a une vue que nous allons appeler, view1 qui est basé sur une table d'un autre schéma. La vue est créée, fonctionne, aucun problème de ce coté là.

sch2 possède une vue view2, qui est basée sur la vue view1.

sch2 peut faire des select sur view1:

Code :
GRANT SELECT ON sch1.view1 TO sch2
Lorsque la vue view2 est créée, j'ai une erreur concernant les privilèges. En regardant de plus prêt, sch2 ne peut pas faire de select sur sch1.view1. Alors qu'on vient juste de faire un grant ...

Si je fais un:

Code :
GRANT SELECT any TABLE TO sch2;
forcement, ca marche. Mais je ne souhaite pas que sch2 puisse faire des select sur tous les schémas.

Est ce que j'aurais zappé un truc au niveau des drois ?
DjinnS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 14h36   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
tu es bien certain que l'erreur de privilège concerne cette table ? Ce serait pas mal d'avoir le code de la vue et le message d'erreur
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2008, 14h41   #3
Membre régulier
 
Inscription : avril 2003
Messages : 131
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 131
Points : 72
Points : 72
Oui je suis certain Malheureusement je ne peux pas montrer le code, je suis obligé d'expliquer de façon conceptuelle. Je sais, c'est pas pratique :/

Sinon, je viens de comprendre pourquoi.

J'explique, ca va peut être parraitre logique du coup ^^

sch1 a donc le droit select sur la table tab3 d'un autre schéma, que nous allons nommer sch3. La vue view1 qui est valide, se base donc sur la table, tab3.

Lorsque sch2 essaye de faire un select sur view1 pour faire view2, il lui faut les droits select sur view1 mais il faut que le select de sch1 sur tab3 soit en "grant option = yes". Je suis désolé mais ca dépasse un peu mes connaissances là, mais on dirait comme de l'héritage ? Si je me trompe pas "grant option" permet de spécifier si le droit peut être redonné par le schéma qui le possède. Ca fait bien dans l'idée comme un héritage.

edit:

pour info, l'erreur, ca pourra servir à quelqu'un:

Citation:
ORA-01031: insufficient privileges
DjinnS 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 06h17.


 
 
 
 
Partenaires

Hébergement Web