Bonjour,
J'ai un petit problème que je n'arrive pas à résoudre concernant un problème de gestion de droits.

Un utilisateur paul a été créé et possède les rôles CONNECT RESOURCE.

Un utilisateur pierre a été créé et possède les rôles CONNECT RESOURCE et CREATE ROLE.
Ce dernier a créé une table de la manière suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
CREATE TABLE tb_localites
  (
	pk_loc	NUMBER		CONSTRAINT ct_pk_loc		PRIMARY KEY,
	npa_loc	VARCHAR2(10)	CONSTRAINT ct_nn_npa_loc	NOT NULL,
	nom_loc	VARCHAR2(25)	CONSTRAINT ct_nn_nom_loc 	NOT NULL,
	CONSTRAINT ct_un_npa_nom_loc	UNIQUE (npa_loc, nom_loc)
  );
L'utilisateur pierre attribue le droit de lecture à paul sur la table tb_localites de la manière suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
GRANT SELECT ON tb_localites TO paul;
L'utilisateur paul a accès sans problèmes aux données par la requête suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT * FROM pierre.tb_localites;
Par contre, si l'utilisateur pierre passe par un rôle de la manière suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
CREATE ROLE superviseur;
GRANT SELECT ON tb_localites TO superviseur;
GRANT superviseur TO paul;
Et que paul essaie d'accéder aux données de la manière suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT * FROM pierre.tb_localites;
Il n'est pas possible d'accéder à la table, ci dessous le message d'erreur.
ORA-00942: table or view does not exist
00942. 00000 - "table or view does not exist"
*Cause:
*Action:
Je pense que je dois faire une erreur de débutant mais cela fait plusieurs heures que je cherche et je ne trouve pas la solution.
J'ai pourtant souvent utilisé cette approche sans problème... me semble-t-il !
Quelqu'un saurait il ou est l'erreur dans mon approche ?

Merci pour vos réponses et bon week-end !