[SQL] Connaîter les permissions du shéma

Connaîter les permissions du shéma [SQL] - SQL/NoSQL - Programmation

Marsh Posté le 23-03-2010 à 11:03:30    

Bonjour,  
 
J'espère que la question n'a pas déjà été posée : j'ai cherché brièvement sans rien trouver.
 
Alors voilà, je travaille sur des serveur en Oracle 10g et 9i, avec toute une batterie d'outils allant de TOAD à SQL Tools. Chacun ses avantages et inconvénients.
 
De mon côté j'aimerais avoir une requête générique qui passe partout afin de connaître les permissions GRANT déclarées sur le schéma de l'USER courant.  
 
En effet, les schémas sont installés depuis un moment, avec un modèle de plus de 700 tables et entre les synonymes et les permissions on commence à être un peu dans le flou.  
 
Avec des outils interfacés comme Toad et SQL Tools c'est facile : y a des onglets dans des menus pour visualiser ça, mais moi j'ai besoin d'une requête de base que je peux passer avec un simple sqllpus sous Ninix.
 
Voilà, j'esère avoir été assez clair ?
 
Merci d'avance pour votre aide.


---------------
En programmation, quand t'as un problème et qu'il n'y a que deux solutions valides, seule la troisième fonctionne !
Reply

Marsh Posté le 23-03-2010 à 11:03:30   

Reply

Marsh Posté le 23-03-2010 à 16:12:41    

Salut,
 
connecte toi avec le compte propriétaire du schéma, puis :
select * from user_tab_privs
 
ou alors avec le compte system, puis :
select * from dba_tab_privs where owner=ton_schéma
 
si le champ grantee correspond à un rôle, connecte toi avec system, puis :  
select * from dba_role_privs  te permettra de voir à qui ce rôle a été granté.
 
ca répond à ta question ?

Message cité 1 fois
Message édité par jielbi le 23-03-2010 à 16:15:52
Reply

Marsh Posté le 23-03-2010 à 17:44:30    

jielbi a écrit :

Salut,
 
connecte toi avec le compte propriétaire du schéma, puis :
select * from user_tab_privs
 
ou alors avec le compte system, puis :
select * from dba_tab_privs where owner=ton_schéma
 
si le champ grantee correspond à un rôle, connecte toi avec system, puis :  
select * from dba_role_privs  te permettra de voir à qui ce rôle a été granté.
 
ca répond à ta question ?


 
C'est on ne peut plus clair et concis !  :jap:  
 
Merci beaucoup !  :ouch:   :love:  :pt1cable:


---------------
En programmation, quand t'as un problème et qu'il n'y a que deux solutions valides, seule la troisième fonctionne !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed