oracle query to check all tables a user has select privilege to

 

Query to check all tables with select privileges assigned to a user in oracle.

 

SELECT OWNER || '.' || TABLE_NAME
  FROM SYS.ALL_TABLES
 WHERE SECONDARY = 'N' AND OWNER = 'USER1'
UNION ALL
SELECT OWNER || '.' || TABLE_NAME
  FROM dba_tab_privs
 WHERE GRANTEE = 'USER1' AND privilege = 'SELECT';