Monitor parallel queries - oracle database script

Monitor parallel queries - Oracle Database Script.

SELECT s.inst_id,
       decode(px.qcinst_id, NULL, s.username, ' - '||lower(substr(s.program, length(s.program)-4, 4))) "Username",
       decode(px.qcinst_id, NULL, 'QC', '(Slave)') "QC/Slave",
       to_char(px.server_set) "Slave Set",
       to_char(s.sid) "SID",
       decode(px.qcinst_id, NULL, to_char(s.sid), px.qcsid) "QC SID",
       px.req_degree "Requested DOP",
       px.degree "Actual DOP",
       p.spid
FROM gv$px_session px,
     gv$session s,
     gv$process p
WHERE px.sid=s.sid (+)
  AND px.serial#=s.serial# and       px.inst_id = s.inst_id       and p.inst_id = s.inst_id       and p.addr=s.paddr    order by 5 , 1 desc