sábado, 18 de fevereiro de 2012

Verificar grant’s de um usuário

Muitas vezes necessitamos verificar os grants concedidos a determinados usuários, para auditoria de privilégios, necessidade de aplicá-los a outros usuários ou propriamente recriá-lo.

Podemos então utilizar o select abaixo para verificar os grants de sistema, objetos e roles concedidas.

**o Script irá gerar o comando DCL.

select * from (
select 'grant ' || privilege || decode(privilege,'READ',' on directory "','WRITE',' on directory "',' on "' || owner || '"."') || 
table_name || '" to "' || grantee || decode(grantable, 'YES', '" with grant option','"') || ';' as DCL from dba_tab_privs where 
grantee in ('ANDERSON')
union all
select 'grant '||privilege||' to "'||grantee||'"'||decode(admin_option,'YES',' with admin option')||';' as DCL from dba_sys_privs where
grantee in ('ANDERSON')
union all
select 'grant "'||granted_role||'" to "'||grantee||'"'||decode(admin_option,'YES',' with admin option')||';' as DCL from dba_role_privs where
grantee in ('ANDERSON'));

DCL
-----------------------------------------------------------------------------------------
grant UNLIMITED TABLESPACE to "ANDERSON";
grant "RESOURCE" to "ANDERSON";
grant "CONNECT" to "ANDERSON";
Postagem mais recente Postagem mais antiga Página inicial

0 comentários:

Postar um comentário

Translate

# ACE Program

#Oracle

#Oracle
Disclaimer: The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.

#Blog reconhecido

#ARTICULISTA

Marcadores

Postagens populares