如题,悲剧的就是生产机数据被我删了,24条。重点是具体删除时间不清楚,只知道是今天下午3点半到4点之间。而且,期间还有新数据插入。怎么办啊。

解决方案 »

  1.   

    用Logminer  工具 试试 
      

  2.   

    使用FLASHBACK查找误删除的记录
    select * from t as of timestamp to_timestamp('2013-5-13 15:30:00','YYYY-MM-DD hh24:mi:ss');
      

  3.   

    建议楼主还是去请教贵公司的dba吧,数据责任是很大的,涉及到数据的恢复。通过日志是可以解决这些问题的
      

  4.   

    select * from itemmaster as of timestamp  to_timestamp('2013-5-13 18:26:08','yyyy-mm-dd hh24:mi:ss') 
    可以查询到上述时间的数据
      

  5.   

    insert into table_name ( select * from itemmaster as of timestamp  
    to_timestamp('2013-5-13 18:26:08','yyyy-mm-dd hh24:mi:ss') minus (select * from table_name))  ;把时间改成 误删数据后  新插入数据之前的时刻
      

  6.   

    有直接读取Oracle数据块工具,可以直接读出所有删除的记录,不管数据库版本是否支持闪回。
      

  7.   

    闪回也可以考虑,不过找DBA会更好些。
      

  8.   

    主要是我的账户没有flashback的权限
      

  9.   

    我用的闪回。不知道块工具有什么管理权限的限制吗实际上它是dba用于灾难恢复的一种工具。
    它不用oracle环境软件支持,不关乎dba用户权限,事实上它不需要oracle账户。
    有一个要求:就是可以读数据库的数据文件。