自訂V$SESSION Action及Module欄位

V$SESSION有兩個欄位Action及Module可以用DBMS_APPLICATION_INFO來自訂,
例如:帳號、程式名稱,這樣就可以知道Session是由誰及執行那一支程式了。

Syntax
    DBMS_APPLICATION_INFO.SET_MODULE (
        module_name IN VARCHAR2,
        action_name IN VARCHAR2);

Example:

先找出自己的SID
SQL> select sid from v$mysata where rownum=1;

接著執行下列的語法
SQL> set timing on;
SQL> begin
  2      dbms_application_info.set_module('aaa','bbb');
  3      for i in 1..50 loop
  4          --lock 50 seconds
  5          dbms_lock.sleep(1);
  6      end loop;
  7  end;
  8  /

PL/SQL procedure successfully completed.

Elapsed: 00:00:50.52


在程式被Lock的50秒內,用另一個工具來查詢v$session:
select sid,active,module from v$session where sid = &SID


Oracle Data Gurad Archive Gap