使用DBMS_APPLICATION_INFO.SET_CLIENT_INFO来定位当前session所在的程序模块

上一篇 / 下一篇  2007-07-09 00:00:00 / 个人分类:开发

问题提出:
在B/S系统中,页面纷繁复杂,而且经过系统长时间运行,如果发现某个session的wait比较严重,进行sql优化时,很难知道这个sql是用在程序的哪个模块,很多时候只能根据开发人员的经验来定位这个sql,或者打开程序代码,搜索。这样的效率很低,这里介绍一个方法来快速定位发生问题的sql的位置。

ORACLE提供了DBMS_APPLICATION_INFO包,其中提供了set_client_info、set_module、set_action、read_module、read_client_info、set_session_longops几个过程,其中分别用于设置客户端信息、设置module信息(这里同时必须设置一个action信息)、设置action信息、读取module信息(同时也会得到action信息)、读取client_info信息和手动设置一个会话为longops。
下面来看一个示例:
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.2.0
Connected as SYS

SQL> select distinct sid from v$mystat;

SID
----------
1036

SQL> select module,action,client_info from v$session where sid=1036;

MODULE ACTION CLIENT_INFO
------------------------------------------------ -------------------------------- ----------------------------------------------------------------
PL/SQL Developer Command Window - New
可以看到CLIENT_INFO为空。
SQL> exec dbms_application_info.set_client_info('test client info');

PL/SQL procedure successfully completed

SQL> select module,action,client_info from v$session where sid=1036;

MODULE ACTION CLIENT_INFO
------------------------------------------------ -------------------------------- ----------------------------------------------------------------
PL/SQL Developer Command Window - New test client info

设置后的CLIENT_INFO
SQL> exec dbms_application_info.set_module(module_name => 'test module',action_name => 'test action');

PL/SQL procedure successfully completed

SQL> select module,action,client_info from v$session where sid=1036;

MODULE ACTION CLIENT_INFO
------------------------------------------------ -------------------------------- ----------------------------------------------------------------
test module test action test client info

设置后的MODULE和ACTION

详细的解释请参考oracle的说明,在oracle的package的说明中就有详细的解释。


TAG:

 

评分:0

我来说两句

显示全部

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

日历

« 2009-01-08  
    123
45678910
11121314151617
18192021222324
25262728293031

我的存档

数据统计

  • 访问量: 2298
  • 日志数: 250
  • 建立时间: 2008-01-01
  • 更新时间: 2008-01-01

RSS订阅

Open Toolbar