在v$session中设置module和action

上一篇 / 下一篇  2008-03-14 14:37:06 / 个人分类:oracle

oracle中有一个包dbms_application_info,它可以把一些程序信息加入到v$session中。这样我们就可以通过查询v$session知道程序当前的一些信息。比如:当前执行的模块名、正在执行的命令等。

下例展示这个包的简单用法:
session 1:
SQL> select sid from v$mystat where rownum=1;

       SID
----------
        10

SQL> create or replace procedure proc1
  2  as
  3  begin
  4    dbms_application_info.set_action('PROC1');
  5    for i in 1..50 loop
  6      dbms_lock.sleep(1);
  7    end loop;
  8    dbms_application_info.set_action(NULL);
  9  end;
 10  /

Procedure created.

SQL> create or replace procedure proc2
  2  as
  3  begin
  4    dbms_application_info.set_action('PROC2');
  5    for i in 1..30 loop
  6      dbms_lock.sleep(2);
  7    end loop;
  8    dbms_application_info.set_action(NULL);
  9  end;
 10  /

Procedure created.

SQL> create or replace procedure proc_main
  2  as
  3  begin
  4    dbms_application_info.set_module('PROC_MAIN','MAIN');
  5    dbms_lock.sleep(20);
  6    proc1;
  7    proc2;
  8    dbms_application_info.set_module('PROC_MAIN',NULL);
  9  end;
 10  /

Procedure created.

SQL> exec proc_main;


session 2:
SQL> select sid,serial#,module,action from v$session where sid=10;

       SID    SERIAL# MODULE     ACTION
---------- ---------- ---------- ----------
        10         26 PROC_MAIN  MAIN
......       
SQL> select sid,serial#,module,action from v$session where sid=10;

       SID    SERIAL# MODULE     ACTION
---------- ---------- ---------- ----------
        10         26 PROC_MAIN  PROC1
......
SQL> select sid,serial#,module,action from v$session where sid=10;

       SID    SERIAL# MODULE     ACTION
---------- ---------- ---------- ----------
        10         26 PROC_MAIN  PROC2
......
SQL> select sid,serial#,module,action from v$session where sid=10;

       SID    SERIAL# MODULE     ACTION
---------- ---------- ---------- ----------
        10         26 PROC_MAIN


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2009-01-09  
    123
45678910
11121314151617
18192021222324
25262728293031

数据统计

  • 访问量: 3575
  • 日志数: 68
  • 建立时间: 2007-12-19
  • 更新时间: 2009-01-09

RSS订阅

Open Toolbar