User Tools

Site Tools


user_his_roles_and_privileges

–# Privs :

select
lpad(' ', 2*level) || granted_role "User, his roles and privileges"
from
(
/* THE USERS */
  select
    null     grantee,
    username granted_role
  from
    dba_users
  where
    username like upper('%&enter_username%')
/* THE ROLES TO ROLES RELATIONS */
union
  select
    grantee,
    granted_role
  from
    dba_role_privs
/* THE ROLES TO PRIVILEGE RELATIONS */
union
  select
    grantee,
    privilege
  from
    dba_sys_privs
)
start with grantee is null
connect by grantee = prior granted_role;

–# Privileges

select * from (
select GRANTEE, OWNER, TABLE_NAME, GRANTOR, PRIVILEGE from dba_tab_privs where lower(grantee)='&username'
  union -- # looking up table rights of granted roles
select 'Role: '||ROLE, OWNER, TABLE_NAME,  NULL,PRIVILEGE from ROLE_TAB_PRIVS where role in (select 
GRANTED_ROLE from dba_role_privs where lower(grantee)='&&username')
  union -- # looking up table rights of roles granted to GRANTED_ROLE - (2nd level)
select 'Role-Role:'|| ROLE, OWNER, TABLE_NAME,  NULL, PRIVILEGE from ROLE_TAB_PRIVS where role in
       (select GRANTED_ROLE from ROLE_ROLE_PRIVS where ROLE in (select GRANTED_ROLE from dba_role_privs 
where lower(GRANTEE)='&&username'))
)order by grantee ;
user_his_roles_and_privileges.txt · Last modified: 2018/03/28 15:54 by admin