SELECT TRIM(slo.opname) operation_name
,TRIM(slo.target || ' ' || slo.target_desc) target_name
,slo.totalwork || ' - ' || slo.sofar || ' = ' ||
(slo.totalwork - slo.sofar) || ' ' || TRIM(slo.units) units_left
,(slo.elapsed_seconds + slo.time_remaining) || ' - ' || slo.elapsed_seconds || ' = ' ||
slo.time_remaining || ' seconds' time_left
,slo.last_update_time last_update_date
,slo.start_time start_time
FROM v$session_longops slo
WHERE slo.sid = :sid AND slo.serial# = :serial# AND
((slo.totalwork - slo.sofar) <> 0 OR
slo.start_time > (SYSDATE - 2))
ORDER BY (slo.totalwork - slo.sofar) DESC