数据是几天前录入的,因为录入的数据有问题,所以需要删掉。
不过比较郁闷的是录入的表没有表明时间的字段,所以无法按时间删除数据。请问现在还有办法删掉这些数据吗?参考日志文件能删掉吗?请指教!

解决方案 »

  1.   

    用logminer 分析下归档日志,就知道在什么时间插入了什么数据,然后把这些对应的数据删除即可。 
    用Toad 查看比较方便。 不用Toad 的话用sql 也能实现,不过比较麻烦。 Oracle Logminer
    http://blog.csdn.net/tianlesoftware/archive/2010/05/19/5604497.aspx------------------------------------------------------------------------------ 
    Blog: http://blog.csdn.net/tianlesoftware 
    网上资源: http://tianlesoftware.download.csdn.net 
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
    DBA1 群:62697716(满); DBA2 群:62697977
    DBA3 群:63306533;     聊天 群:40132017
      

  2.   

    可以用 select SCN_TO_TIMESTAMP(ORA_ROWSCN), ... from tab 获取行上次修改的时间。
      

  3.   


    用闪回不实际。
     
    1. 闪回是基于UNDO 来的,而UNDO_RETENTION参数默认是900s,也就是15分钟,楼主是几天前的数据,所以出来的可能性不大。
    2. 即使可以用闪回,将数据闪回到插入之前的状态,那么之后插入的数据就会丢失。 如果插入的数据量不大的话,就分析下归档日志,很快就搞定了。 关于Flashback ,可以参考我的blog:
    Oracle Flashback 技术 总结
    http://blog.csdn.net/tianlesoftware/archive/2009/10/16/4677378.aspx