The script will list who is using the undo space. You will get the session id ,user name , sql id ,undoseg id , size and session status. SELECT substr(s.sid || ',' || s.serial#, 1, 15) SID_SERIAL, substr(NVL(s.username, 'None'), 1, 20) orauser, s.sql_id, substr(s.program, 1, 20) program, substr(r.name, 1, 20) undoseg, substr(t.used_ublk * TO_NUMBER(x.value) / 1024 || 'K', 1, 20) "Undo", s.status FROM sys.v_$rollname r, sys.v_$session s, sys.v_$transaction t, sys.v_$parameter x WHERE s.taddr = t.addr AND r.usn = t.xidusn(+) AND x.name = 'db_block_size' order by s.sql_id
SELECT substr(s.sid || ',' || s.serial#, 1, 15) SID_SERIAL, substr(NVL(s.username, 'None'), 1, 20) orauser, s.sql_id, substr(s.program, 1, 20) program, substr(r.name, 1, 20) undoseg, substr(t.used_ublk * TO_NUMBER(x.value) / 1024 || 'K', 1, 20) "Undo", s.status FROM sys.v_$rollname r, sys.v_$session s, sys.v_$transaction t, sys.v_$parameter x WHERE s.taddr = t.addr AND r.usn = t.xidusn(+) AND x.name = 'db_block_size' order by s.sql_id