None of the other answers worked for me, so I wrote my own solution:
Starting with Oracle 11g.
Replace USER with your username
Roles provided:
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'USER';
Privileges granted directly to the user:
SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE = 'USER';
Privileges granted to the user:
SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE IN (SELECT granted_role FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'USER');
System privileges granted:
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'USER';
If you want to find the user you are currently connected to, you can replace the DBA in the USER table name and delete the WHERE clause.
Mocking Apr 01 '16 at 2:52 on 2016-04-01 02:52
source share