-- David Mann -- http://ba6.us -- dmann99@gmail.com -- -- Long Operations Graph with HTML Output -- 01/29/2009 DECLARE NumOperations NUMBER :=0; BEGIN DBMS_OUTPUT.PUT_LINE(''); FOR c1 IN (SELECT MESSAGE, ROUND(sofar/totalwork*100,0) as pct FROM v$session_longops WHERE sofar <> totalwork ORDER BY target, sid) LOOP DBMS_OUTPUT.PUT_LINE(''); DBMS_OUTPUT.PUT_LINE(''); DBMS_OUTPUT.PUT_LINE(''); DBMS_OUTPUT.PUT_LINE(''); DBMS_OUTPUT.PUT_LINE(''); DBMS_OUTPUT.PUT_LINE(''); DBMS_OUTPUT.PUT_LINE(''); DBMS_OUTPUT.PUT_LINE('
Operation:'||c1.MESSAGE || '
Progress:
'); DBMS_OUTPUT.PUT_LINE(' '); DBMS_OUTPUT.PUT_LINE('
'||c1.pct||'%
'); DBMS_OUTPUT.PUT_LINE(''); DBMS_OUTPUT.PUT_LINE('
'); NumOperations := NumOperations + 1; END LOOP; IF NumOperations = 0 THEN DBMS_OUTPUT.PUT_LINE('No Long Operations Active'); END IF; DBMS_OUTPUT.PUT_LINE('
'); END;