Thursday, October 25, 2018

How to check privileges given to an oracle user or role and reverse engineer ?

1. What object level permission are given to an oracle user?
set linesize 100
set pagesize 100
col privilege format a20
col table_name format a30
set linesize 200
set pagesize 200
Break on table_name
column table_name format a50

select
owner||'.'||table_name as table_name,
privilege
from
dba_tab_privs
where
grantee = '&GRANTEE'
and
owner in (select username from dba_users)
order by
owner,
table_name,
privilege;

2. Reverse Engineering to check the object level permissions given to a user?
col "Object Permissions Granted" format a80
select
'Grant '||privilege||' on '||table_name||' to '||grantee||';' as "Object Permissions Granted"
from
dba_tab_privs
where
grantee = '&GRANTEE'
and
owner in (select username from dba_users)
order by
owner,
table_name,
privilege;

3. What Roles are given to a given user?
set linesize 100
set pagesize 100
select GRANTEE, GRANTED_ROLE from dba_role_privs where GRANTEE='&GRANTEE';

4.  Reverse Engineering to check what Roles are given to a given user?

col "Role Permissions Granted" format a80
select
'Grant '||GRANTED_ROLE||' to '||grantee|| ';' as "Role Permissions Granted"
from
dba_role_privs
where
grantee ='&GRANTEE';



5. What Privileges are given to a given Roles?

set linesize 250
Set pagesize 250  
select * from role_sys_privs where role='&ROLE';


6. Reverse Engineering to check what Privileges are given to a Roles?

set linesize 250
set pagesize 250
select
'Grant '||privilege||' to '||ROLE||';' as "Permissions Granted to role"              
from
role_sys_privs
where
role='&ROLE';



--Ahmad

No comments:

Post a Comment