求教各位前辈、高手们,问下ORACLE有没有像SQL SERVER ProFIler这个工具一样,应用程序查询某个界面,
   就能够自动生成相应的SQL语句,我可以查看相应页面的SQL语句。    今天百度和谷歌一天了。找的2个工具SQL Monitor、都用不了,有没有人能够指点我一二,不胜感激。    

解决方案 »

  1.   

    手写虽然麻烦但是最简单也最实用,用工具生成的可能有bug。
      

  2.   

    敢问前辈如何能跟踪查看ORACLE的SQL语句呢,就是我想在应用软件上查询,然后在ORACLE里就能查看到用到的SQL表和语句。
      

  3.   

    直接写命令,查数据字典 v$sql 之类的。
    这才是最实在的。
      

  4.   


    我知道实在啊,你们能给我说说怎么写的吗,可是我网上搜的下面这个,根本查不出来我要的效果。能不能指点我一下要怎么写,或者告诉我怎么搜索呢。或者给我一个搜索链接也行啊。
    SELECT SE.sid, SE.serial#, PR.spid, SE.status, SUBSTR(SE.program, 1, 10) PROG, 
      SUBSTR(SE.machine, 1, 10) MACH, 
      SQ.sql_text
    FROM v$session SE, v$sqlarea SQ, v$process PR
    WHERE SE.paddr = PR.ADDR(+)
      AND SE.sql_address = SQ.address(+)
      AND schemaname <> 'SYS'
    ORDER BY SE.sid
      

  5.   


    我下了这个工具,可是追踪不了软件生成的sql,打开就报错了。,
      

  6.   

    oracle可以设置跟踪任何表、用户,你查下trace.log怎么用,这个是跟踪开启后在物理磁盘上生成的一个文件,里面有对指定表或用户的任何操作记录
      

  7.   

    Oracle的 sql trace可以实现基于session级别以及应用程序级别的跟踪,具体参考这里,有个例子:
    启用 Oracle 10046 调试事件 .
      

  8.   

    楼上的哥,原谅我是个小菜鸟,这个能够查看到我应用程序执行后的SQL记录吗?看起来好像是在监控正在运行的SQL语句的把。
      

  9.   

    要往下看:
    122.4.演示应用程序上的跟踪(使用client identifier)                                                                                 
    123.    -->根据前面的描述创建角色并授予需要跟踪的用户以及添加client identifier的触发器,并启动应用程序