This was tested on Oracle 11.2. You can see which system privileges have been granted to a user in DBA_SYS_PRIVS:

SQL> conn / as sysdba
Connected.
SQL> show user
USER is "SYS"
SQL> create user andrew identified by reid
  2  /

User created.

SQL> grant create session to andrew
  2  /

Grant succeeded.

SQL> select privilege from dba_sys_privs
  2  where grantee = 'ANDREW'
  3  /

PRIVILEGE
----------------------------------------
CREATE SESSION

SQL>

I wanted a full list of system privileges which could be used. My first thought was to run the following SQL:

SQL> select distinct privilege from dba_sys_privs
  2  order by 1
  3  /

PRIVILEGE
----------------------------------------
ADMINISTER ANY SQL TUNING SET
ADMINISTER DATABASE TRIGGER
ADMINISTER RESOURCE MANAGER
ADMINISTER SQL MANAGEMENT OBJECT
ADMINISTER SQL TUNING SET
Etc
UNLIMITED TABLESPACE
UPDATE ANY CUBE
UPDATE ANY CUBE BUILD PROCESS
UPDATE ANY CUBE DIMENSION
UPDATE ANY TABLE

202 rows selected.

SQL>

... but this would only include privileges which had actually been granted. Then I found out about SYSTEM_PRIVILEGE_MAP, which is supposed to contain the complete range of privileges:

SQL> select name from system_privilege_map
  2  order by 1
  3  /

NAME
----------------------------------------
ADMINISTER ANY SQL TUNING SET
ADMINISTER DATABASE TRIGGER
ADMINISTER RESOURCE MANAGER
ADMINISTER SQL MANAGEMENT OBJECT
ADMINISTER SQL TUNING SET
Etc
UNLIMITED TABLESPACE
UPDATE ANY CUBE
UPDATE ANY CUBE BUILD PROCESS
UPDATE ANY CUBE DIMENSION
UPDATE ANY TABLE

208 rows selected.

SQL>

Next I checked that there were no privileges shown in DBA_SYS_PRIVS which did not appear in SYSTEM_PRIVILEGE_MAP:

SQL> select privilege from dba_sys_privs
  2  where privilege not in
  3  (select name from system_privilege_map)
  4  /

no rows selected

SQL>

Then I noticed that you could GRANT CREATE SNAPSHOT:

SQL> grant create snapshot to andrew
  2  /

Grant succeeded.

SQL>

... but there is no entry for this in SYSTEM_PRIVILEGE_MAP:

SQL> select name from system_privilege_map
  2  where name like '%SNAPSHOT%'
  3  /

no rows selected

SQL>

When I looked to see what privilege Andrew had been given, he turned out to have CREATE MATERIALIZED VIEW instead:

SQL> select privilege from dba_sys_privs
  2  where grantee = 'ANDREW'
  3  /

PRIVILEGE
----------------------------------------
CREATE MATERIALIZED VIEW
CREATE SESSION

SQL>

I guess this is because snapshots have been replaced by materialized views but I do not know how Oracle swaps these privileges around.