To find sessions generating lots of redo, we can use below query,


SELECT s.sid, s.serial#, s.username, s.program,
  FROM gv$session s, gv$sess_io si
  WHERE s.sid = si.sid

  ORDER BY 5 desc;

BLOCK_CHANGES indicates how many blocks have been changed by the session. High values indicate a session generating lots of redo.