Use DBMS_APPLICATION_INFO
to label what a session is doing. Helps with performance analysis using ASH reports.
MODULE
and ACTION
in V$SESSION
BEGIN
DBMS_APPLICATION_INFO.SET_MODULE('OrderProcessing', 'InsertOrder');
DBMS_APPLICATION_INFO.SET_CLIENT_INFO('SagivClnt');
INSERT INTO orders (order_id, customer_id, order_date)
VALUES (1001, 200, SYSDATE);
DBMS_APPLICATION_INFO.SET_ACTION('OrderInserted');
UPDATE inventory SET quantity = quantity - 1 WHERE product_id = 300;
DBMS_APPLICATION_INFO.SET_ACTION('InventoryUpdated');
COMMIT;
DBMS_APPLICATION_INFO.CLEAR_MODULE;
EXCEPTION
WHEN OTHERS THEN
DBMS_APPLICATION_INFO.SET_ACTION('Failed');
ROLLBACK;
RAISE;
END;
$ORACLE_HOME/rdbms/admin/ashrpt.sql
)V$SESSION
: SELECT module, action FROM v$session WHERE sid = SYS_CONTEXT('USERENV','SID');
$ORACLE_HOME/rdbms/admin/ashrpt.sql
)