To find sessions generating lots of redo, you can use either of the following methods. Both methods examine the amount of undo generated. When a transaction generates undo, it will automatically generate redo as well.
v$sess_io: This view contains the column
block_changes, which indicates how many blocks have been changed by the session. High values indicate a session generating lots of redo.
SQL> SELECT s.sid, s.serial#, s.username, s.program, i.block_changes 2 FROM v$session s, v$sess_io i 3 WHERE s.sid = i.sid 4 ORDER BY 5 desc, 1, 2, 3, 4;
block_changes. Large deltas indicate high redo generation ...