Em muitas ocasiões, por diferentes motivos nos deparamos com a necessidade de conhecer os privilégios que um determinado usuário possui.
Como vimos aqui existem alguns tipos diferentes de privilégios e para consultar esses privilégios temos a disposição o famoso dicionário de dados, conforme visto aqui, sendo nos objetos desse dicionário que precisaremos consultar para obter informações sobre os privilégios.
O objetivo desse post não é entrar em detalhes sobre os privilégios ou mesmo sobre as tabelas que formam o dicionário de dados, isso já foi feito nas postagens mencionadas, a intenção é mostrar uma consulta que nos permita obter os principais privilégios, segue o código:
select 'Privilégios de sistema : ' || PRIVILEGE from dba_sys_privs where GRANTEE = upper('PROGRAMERO') union select 'Privilégios em Role: ' || GRANTED_ROLE from dba_role_privs where GRANTEE = upper('PROGRAMERO') union select 'Privilégios em objetos : ' || owner || '.' || TABLE_NAME || ' – ' || privilege from dba_tab_privs where GRANTEE = upper('PROGRAMERO') union select 'Privilégios em colunas : ' || owner || '.' || TABLE_NAME || '.' || column_name || ' – ' || privilege from dba_col_privs where GRANTEE = upper('PROGRAMERO')
Comentários
Postar um comentário
Obrigado por Participar do programero, fique a vontade para agradecer, retificar, perguntar ou sugerir.