select sid, serial#, context,
round(sofar/totalwork*100,2) "% Complete",
substr(to_char(sysdate,'yymmdd hh24:mi:ss'),1,15) "Time Now",
elapsed_seconds
from v$session_longops
where compnam = 'dbms_backup_restore'; --> for 8.0
For Oracle8i and Oracle9i:
SELECT SID, SERIAL#, CONTEXT, SOFAR, TOTALWORK,
ROUND(SOFAR/TOTALWORK*100,2) "%_COMPLETE"
FROM V$SESSION_LONGOPS
WHERE OPNAME LIKE 'RMAN%'
AND OPNAME NOT LIKE '%aggregate%'
AND TOTALWORK != 0
AND SOFAR <> TOTALWORK
RMAN uses two types of rows in V$SESSION_LONGOPS: detail and aggregate rows.
Detail rows describe the files being processed by one job step, while aggregate rows describe
the files processed by all job steps in an RMAN command. A job step is the creation or restore
of one backup set or datafile copy. Detail rows are updated with every buffer that is read or
written during the backup step, so their granularity of update is small. Aggregate rows are updated
when each job step completes, so their granularity of update is large.[@more@]