是这样的,我有这样一个场景:
有个Oracle数据库,我想在应用程序在运行一段时间后,再通过数据库获得哪些sql语句是没有成功执行的,例如发送到数据库的update语句,因为数据错误,没有执行。

解决方案 »

  1.   

    注意:
    不能改应用程序我尝试用日志文件,但找不到怎么过虑的方法,我看了Logminer的手册,好像不能实现这个功能,即:我只select成功执行的语句,没有成功执行的语句。
      

  2.   

    再补充一点,我想实现这样一个功能,即假设我是个数据库管理人员,我管理的这个数据库有几个应用程序使用,我现在想做个统计,看看哪些应用程序在一段时间里发送过来的sql语句,哪些是成功执行的,哪些没有成功执行
      

  3.   

    alert.log
    在$ORACLE_BASE/admin/instancename/bdump目录下
      

  4.   

    或者,自己改自己的程序,加上异常处理,记录到log表中
      

  5.   

    to:
    alert.log
    在$ORACLE_BASE/admin/instancename/bdump目录下
    好像alert.log中没有保存sql语句吧
      

  6.   

    to:
    或者,自己改自己的程序,加上异常处理,记录到log表中=====================不能改程序,程序已经做好了,很大的一个程序,里面有成千上万的sql语句。
      

  7.   

    还有一种办法,可以对表进行审计。
    init文件的参数必须:
    audit_trail=DB
    比如:用user用户登陆.打算对表user.test的插入操作做审计.   
      操作如下:   
      audit   insert   on   user.test;   
      insert   into   test   values   (....);   
      select   *   from   sys.aud$;   
      

  8.   

    用v$sql语句不可以把所执行的sql语句及状态查找出来吗?