Saltar al contenido

¿Cómo encontrar los privilegios y roles otorgados a un usuario en Oracle?

Este grupo de expertos pasados varios días de trabajo y de juntar de datos, obtuvieron la solución, queremos que resulte de utilidad para tu plan.

Solución:

Además de la respuesta de VAV, la primera fue más útil en mi entorno.

select * from USER_ROLE_PRIVS where USERNAME='SAMPLE';
select * from USER_TAB_PRIVS where Grantee = 'SAMPLE';
select * from USER_SYS_PRIVS where USERNAME = 'SAMPLE';

Consulte http://docs.oracle.com/cd/B10501_01/server.920/a96521/privs.htm#15665

Verifique las tablas USER_SYS_PRIVS, USER_TAB_PRIVS, USER_ROLE_PRIVS con estas declaraciones seleccionadas

SELECT * FROM USER_SYS_PRIVS; 
SELECT * FROM USER_TAB_PRIVS; 
SELECT * FROM USER_ROLE_PRIVS;

Ninguna de las otras respuestas funcionó para mí, así que escribí mi propia solución:

A partir de Oracle 11g.

Reemplace USUARIO con el nombre de usuario deseado

Funciones otorgadas:

SELECT * 
  FROM DBA_ROLE_PRIVS 
 WHERE GRANTEE = 'USER';

Privilegios otorgados directamente al usuario:

SELECT * 
  FROM DBA_TAB_PRIVS 
 WHERE GRANTEE = 'USER';

Privilegios otorgados al rol otorgado al usuario:

SELECT * 
  FROM DBA_TAB_PRIVS  
 WHERE GRANTEE IN (SELECT granted_role 
                     FROM DBA_ROLE_PRIVS 
                    WHERE GRANTEE = 'USER');

Privilegios del sistema otorgados:

SELECT * 
  FROM DBA_SYS_PRIVS 
 WHERE GRANTEE = 'USER';

Si desea buscar el usuario con el que está conectado actualmente, puede reemplazar DBA en el nombre de la tabla con USUARIO y eliminar la cláusula WHERE.

valoraciones y reseñas

Recuerda que puedes compartir esta crónica si si solucionó tu problema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *