Skip to Main Content

Breadcrumb

Question and Answer

Chris Saxon

Thanks for the question, Alex.

Asked: May 04, 2016 - 1:14 pm UTC

Last updated: May 04, 2016 - 1:29 pm UTC

Version: oracle 10g

Viewed 1000+ times

You Asked

Hi Tom,



I need to remove all access on a particular table my_data , as part db object clean up ?

Hence I have revoked access listed in the dba_tab_privs data dictionary.

SELECT * FROM dba_tab_privs WHERE owner = 'TEST' AND table_name = 'MY_DATA' ;

but, the problem is other users(Non - DBA, users not have select any table priv) still have access on the above table.

Can you please help on the below question ?

Thank You.


and Chris said...

If you're sure that you've revoked all the privileges from the table directly, the next thing to check is whether users have the SELECT ANY TABLE privilege:

select * from dba_sys_privs
where  privilege = 'SELECT ANY TABLE';


If this turns up nothing, it's possible users have this privilege via a role:

select * from DBA_ROLE_PRIVS
where  granted_role in (
  select grantee from dba_sys_privs
  where  privilege = 'SELECT ANY TABLE'
);


Is this answer out of date? If it is, please let us know via a Comment