找回oracle中被误删的表的数据

来源:互联网 发布:阿里云备案地点 编辑:程序博客网 时间:2024/05/16 16:14

            在未开启闪回的oracle数据库中,表的数据被误删之后,即使没有开启闪回,只要发现及时还是有方法找回的,前提是数据还存在于undo 中没被刷出去。 要是被刷出undo 了,只能试试通过logminer 挖掘归档日志,或者从备份中还原了(12c rman好像是可以直接针对表进行数据还原的)。

          通过时间戳方式查询undo数据 :

        例:

             select *
               from dba_objects 
               as of timestamp to_timestamp('03-09-2014 08:00:00', 'DD-MM-YYYY HH24:MI:SS')
             where OBJECT_NAME = 'aaabbb' ;


由于dba_objects 使用的是辅助表空间,所以,我们也可以通过这样的方法查询到dba_objects 表的历史数据。同样,对于一张普通表,我们也可以这样查询。

 

            select *
               from t_putongbiao
               as of timestamp to_timestamp('03-09-2014 08:00:00', 'DD-MM-YYYY HH24:MI:SS')
             where id= '123' ;

   OK .删数据前一定要谨慎,实在被删了也不要慌,只要做好备份,总会有办法搞回来的。
0 0
原创粉丝点击