Skip to Main Content

How to check privileges of users/roles on sys tables or views ?

User_MQ2FFAug 11 2022

I want to know, who and what are the roles/users having "SELECT" access on 'dba_role_privs' object. I am really confused as Some users can do "select on it" and some user not be able to query on this.
I have tried this below query after referring the data dictionary (select * from dict;). It says whoever having 'SELECT_CATALOG_ROLE' can able to do "SELECT" on this 'DBA_ROLE_PRIVS'.
select * from DBA_TAB_PRIVS where table_name='DBA_ROLE_PRIVS'; --SELECT_CATALOG_ROLE

However, after granting the privilege also, still I am not able to query on this DBA_ROLE_PRIVS.
But for some user, I can able to query on this DBA_ROLE_PRIVS even though this 'SELECT_CATALOG_ROLE' is not provided.
Could you please provide me a solution on this,
1.How to check who are the users and roles have privilege to access this 'DBA_TAB_PRIVS '?
2.How to grant privilege to this 'DBA_TAB_PRIVS ' object ?
And also provide some tips and tricks to solve and how to approach, where and all to check if problem occurs .

Post Details
Added on Aug 11 2022