请教各位,两天前一个用户把数据表中的一条数据的字段值给清空了,数据又很重要,想要找回来。我通过数据库的日志文件,使用LogMiner查看sql_redo语句,但是我发现操作这个表的语句只有7条,而且都是update语句,而这张表最少也有上万条数据,不可能日志里只能查找到这几天语句啊,谁能告诉我是怎么回事,我已经把三个日志文件都加入进行查看了。我导入的时候也没有限制条件:
SQL> EXECUTE dbms_logmnr.start_logmnr(
DictFileName=>'/data1/oracle/logs/v816dict.ora '); 数据库

解决方案 »

  1.   

    redo可能切换了,使用归档日志看看
      

  2.   

    因为当时安装oracle后并没有设置为归档模式,所以并没有生成归档日志。所以不知道为什么会查询不到用户当时操作的SQL语句?
      

  3.   


    同意应该是REDO切换过,又没有归档,所以redo内容都是最新的了。可以通过下面SQL语句查看最后一次日志刷新时间
    select * from v$log_history order by first_time desc
      

  4.   

    能恢复多久,应该和你的操作有关,假如你执行了一天删除,然后一直都没有做DML操作,即使过了一天应该也能恢复
      

  5.   


    你的库是不是非归档模式 ? 数值被清空、也有其他方式、比如查看v$sql、flashback