Script: Monitor the UNDO progress

select ses.username, substr(ses.program, 1, 19) command, tra.used_ublk from v$session ses, v$transaction tra where ses.saddr = tra.ses_addr;

Reference: http://gavinsoorma.com/2009/06/how-to-monitor-the-progress-of-an-undo-operation/