Oracle's GV$SQL_MONITOR - Uniquely identify execution of a SQL statement
Let's create the below function so we can have a long running parallel query and have time to query SQL monitoring data:

create or replace function f1 return number parallel_enable as
begin
  dbms_lock.sleep(1800);
  return 1;
end;
/


Then this table:

create table t1 as select * from dual connect by level &lt;= 4;


And:

alter session force parallel query parallel 4;


And start this query:

select f1 from t1;


If you query GV$SQL_MONITOR, with some additional columns, you can see it is a parallel query, and the sessions it's spawned, and also find the session that originally started it (QCSID):

select sql_exec_start, sql_id, sql_exec_id, sid, px_qcinst_id, px_qcsid from gv$sql_monitor
where status = 'EXECUTING';

SQL_EXEC_START      SQL_ID        SQL_EXEC_ID        SID PX_QCINST_ID   PX_QCSID
------------------- ------------- ----------- ---------- ------------ ----------
2017-09-26 22:20:55 25kj6ftn2vhrn    16777216        270            1        262
2017-09-26 22:20:55 25kj6ftn2vhrn    16777216         20            1        262
2017-09-26 22:20:55 25kj6ftn2vhrn    16777216        262                        
2017-09-26 22:20:55 25kj6ftn2vhrn    16777216        400            1        262
2017-09-26 22:20:55 25kj6ftn2vhrn    16777216        134            1        262