电脑技术学习

实例分析如何查出前台正在发出的SQL语句

dn001

问:怎样才能查出前台正在发出的SQL语句?

答:具体步骤如下:

软件环境:

1、Windows 2000+ORACLE 8.1.6

2、ORACLE安装路径为:C:ORANT

实现方法:

可以用以下语句:

select user_name,sql_text 
from v$open_cursor 
where sid in (select sid from 
(select sid,serial 
from v$session 
where status=''''ACTIVE''''))

子查询:

select sid,serial   from v$session 
where status=''''ACTIVE''''

查出的是不活动的session的sid。

SQL> desc v$open_cursor 
 名称                    空?      类型 
 ----------------------------- -------
 SADDR                           RAW(4) 
 SID                             NUMBER 
 USER_NAME                       VARCHAR2(30) 
 ADDRESS                         RAW(4) 
 HASH_VALUE                      NUMBER 
 SQL_TEXT                        VARCHAR2(60)