我想从Oracle后台,看到前台对Oracle数据库的每一条sql操作,我该怎么做?
谢谢!

解决方案 »

  1.   

    用脚本和oracle自己提供的一个工具,可以做到。
    oracle的工具会记录每一sql文执行的详细信息,
    通过脚本提取出sql文,即可。
      

  2.   

    v$open_cursor有记录,但会话关了就看不到了。
      

  3.   

    LOGMNR还有STREAM可以做到对日志进行分析,分析的结果就是具体的操作过的SQL了
      

  4.   

    用oracle内部的执行计划  但是需要把要用到的SQL语句explain一下 在执行就可以看到了SQL> explain plan for select * from bb3_ad_publish;
     
    Explained
     
    SQL> select * from table(dbms_xplan.display);
     
    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------
    Plan hash value: 2035931249
    --------------------------------------------------------------------------------
    | Id  | Operation         | Name           | Rows  | Bytes | Cost (%CPU)| Time
    --------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT  |                |     1 |    61 |     2   (0)| 00:00:
    |   1 |  TABLE ACCESS FULL| BB3_AD_PUBLISH |     1 |    61 |     2   (0)| 00:00:
    --------------------------------------------------------------------------------
     
    8 rows selected
     
    SQL>