Oracle9i Supplied PL/SQL Packages and Types Reference Release 1 (9.0.1) Part Number A89852-02 |
|
DBMS_APPLICATION_INFO, 7 of 7
This procedure sets a row in the V$SESSION_LONGOPS
view. This is a view that is used to indicate the on-going progress of a long running operation. Some Oracle functions, such as parallel execution and Server Managed Recovery, use rows in this view to indicate the status of, for example, a database backup.
Applications may use the set_session_longops procedure to advertise information on the progress of application specific long running tasks so that the progress can be monitored by way of the V$SESSION_LONGOPS view.
DBMS_APPLICATION_INFO.SET_SESSION_LONGOPS ( rindex IN OUT BINARY_INTEGER, slno IN OUT BINARY_INTEGER, op_name IN VARCHAR2 DEFAULT NULL, target IN BINARY_INTEGER DEFAULT 0, context IN BINARY_INTEGER DEFAULT 0, sofar IN NUMBER DEFAULT 0, totalwork IN NUMBER DEFAULT 0, target_desc IN VARCHAR2 DEFAULT 'unknown target', units IN VARCHAR2 DEFAULT NULL) set_session_longops_nohint constant BINARY_INTEGER := -1;
pragma TIMESTAMP('1998-03-12:12:00:00');
This example performs a task on ten objects in a loop. As the example completes each object, Oracle updates V$SESSION_LONGOPS on the procedure's progress.
DECLARE rindex BINARY_INTEGER; slno BINARY_INTEGER; totalwork number; sofar number; obj BINARY_INTEGER; BEGIN rindex := dbms_application_info.set_session_longops_nohint; sofar := 0; totalwork := 10; WHILE sofar < 10 LOOP -- update obj based on sofar -- perform task on object target sofar := sofar + 1; dbms_application_info.set_session_longops(rindex, slno, "Operation X", obj, 0, sofar, totalwork, "table", "tables"); END LOOP; END;
|
Copyright © 1996-2001, Oracle Corporation. All Rights Reserved. |
|