我使用了Session进行跟踪,结果发现没有跟踪到详细的SQL指令,只有部分指令被跟踪到了,请问各位有没有其它的办法检测客户端有哪些SQL请求

解决方案 »

  1.   

    监控当前数据库谁在运行什么SQL语句 
    SELECT osuser, username, sql_text from v$session a, v$sqltext b where a.sql_address =b.address order by address, piece;
      

  2.   

    dbms_system.set_sql_trace_in_session()
    或者用工具,比如toad的sql monitor
      

  3.   

    toad的sql monitor只能监测到本机运行程序的SQL语句
    如果非本机上,就要用SQL去获得
      

  4.   


    ORACLE官方网上的文章,参考下:
    http://www.oracle.com/global/cn/oramag/oracle/04-sep/o54talking.html
      

  5.   

    toad的sql monitor好使吗?
    我查查文章
      

  6.   

    好使
    菜单上的"datebase"-"monitor"-"sql monitor"
    打开会列出来你当前运行的程序,把要监控的勾上,然后会跟踪出客户端程序所有跑的SQL
    这个我经常会用到的,有时间不高兴去查原代码,就用这个跟踪下
      

  7.   

    select * from v$sql
    ;
      

  8.   

    没有发现“菜单上的"datebase"-"monitor"-"sql monitor" ”请问是哪个版本?
      

  9.   

    使用SqlPlus的客户端来检查,参考信息如下
    命令如下:oracle@PerfTestDB4:/home/oracle>sqlnSQL*Plus: Release 10.2.0.3.0 - Production on Thu Aug 28 13:11:47 2008Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.@>connect
    Enter user-name: voucher
    Enter password: 
    Connected.
    voucher@VOUCHER>@showsql
      

  10.   

    详见http://blog.csdn.net/linkyou/archive/2008/08/29/2848075.aspx
      

  11.   

    这方面一直有朋友提出,但解决得都不是太理想。本人自已也试过,跟楼主的差不多。哎!http://topic.csdn.net/u/20081021/12/89e62efa-cd83-4170-b8e7-109593631a51.html期待中...
      

  12.   

    我在开始菜单中找到了SQL Monitor,我用的是8.5版本多谢,效果不错