Monitor rollback transactions - oracle database script

Monitor rollback transactions - Oracle Database Script.

SELECT state,
       UNDOBLOCKSDONE,
       UNDOBLOCKSTOTAL,
       UNDOBLOCKSDONE/UNDOBLOCKSTOTAL*100
FROM gv$fast_start_transactions;

ALTER SESSION
SET nls_date_format='dd-mon-yyyy hh24:mi:ss';

SELECT usn,
       state,
       undoblockstotal "Total",
       undoblocksdone "Done",
       undoblockstotal-undoblocksdone "ToDo",
       decode(cputime, 0, 'unknown', sysdate+(((undoblockstotal-undoblocksdone) / (undoblocksdone / cputime)) / 86400)) "Estimated time to complete"
FROM v$fast_start_transactions;

SELECT a.sid,
       a.username,
       b.xidusn,
       b.used_urec,
       b.used_ublk
FROM v$session a,
     v$transaction b
WHERE a.saddr=b.ses_addr
ORDER BY 5 DESC;