Pular para o conteúdo

Fóruns Banco de dados Oracle Select sobre privilégios Select sobre privilégios

#88959
Rodrigofs
Participante

    CVPRADO,
    Existem algumas views que pode te dar uma visão mais refinada.
    Este SQL mostra os privilégios de tabelas atribuido ao usuário “USER”.
    SELECT *
    FROM DBA_TAB_PRIVS
    WHERE GRANTEE=’USER’;

    Este SQL mostra os privilégios de sistema atribuidos ao usuário “USER”.
    SELECT *
    FROM DBA_SYS_PRIVS
    WHERE GRANTEE=’USER’;

    Este SQL mostra os privilégios atribuidos a role “NEW_ROLE”.

    SELECT *
    FROM DBA_ROLE_PRIVS
    WHERE GRANTEE=”NEW_ROLE”;

    Ou você pode uni-las para ter uma visão mais ampla como:

    SELECT r.GRANTEE
    ,r.GRANTED_ROLE
    ,r.ADMIN_OPTION
    ,s.PRIVILEGE
    ,t.OWNER
    ,t.TABLE_NAME
    ,t.PRIVILEGE
    from DBA_ROLE_PRIVS r INNER JOIN DBA_SYS_PRIVS s
    on r.GRANTEE = s.GRANTEE
    INNER JOIN DBA_TAB_PRIVS t
    on r.GRANTEE = t.GRANTEE
    Where r.GRANTEE =’USER’;

    Bom espero ter ajudado de alguma forma, Abraço!
    Rodrigo Santana.