日期:2014-05-16  浏览次数:20693 次

请问,关于oracle误删除的问题
oracle toad 导表的时候,弹出来一个对话框,也没仔细看,第一回选的是 Reuse storage 模式导了一回,导完后发现数据都没了只有我导的那些,然后就回滚了几下,又按Drop storage模式又导了一遍,然后又点了回滚,请问我这个表里的数据怎么才能找回来呢?

------解决方案--------------------
SQL code
begin 
SYS.DBMS_LOGMNR.ADD_LOGFILE('C:\oracle\oradata\jhoracle\REDO01.LOG', sys.dbms_logmnr.New); 
end; 

select min(low_time),  max(high_time), 
      min(low_scn),  max(next_scn) -1 
from V$logmnr_logs; 

begin 
SYS.DBMS_LOGMNR.START_LOGMNR(Options => sys.dbms_logmnr.DICT_FROM_ONLINE_CATALOG); 
end; 

Select 
SCN, 
timestamp, 
sql_redo, 
session# session_num, 
username, 
session_info 
From V$LOGMNR_CONTENTS where sql_redo like '%update%'
Order by 1; 


begin 
SYS.DBMS_LOGMNR.END_LOGMNR(); 
end;

------解决方案--------------------
探讨

SQL code
begin
SYS.DBMS_LOGMNR.ADD_LOGFILE('C:\oracle\oradata\jhoracle\REDO01.LOG', sys.dbms_logmnr.New);
end;

select min(low_time), max(high_time),
min(low_scn), max(next_scn) -1
from……

------解决方案--------------------
SQL code

flashback table table_name to timestamp 时间点;

------解决方案--------------------

能用flashback 还是比较简单,如果flashback 搞不定就只能通过日志挖掘了。

Oracle Flashback 技术 总结
http://blog.csdn.net/tianlesoftware/article/details/4677378

Oracle Logminer 说明
http://blog.csdn.net/tianlesoftware/article/details/5604497

Oracle Logminer 做数据恢复 说明示例
http://blog.csdn.net/tianlesoftware/article/details/6554674


------解决方案--------------------
rollback达不到撤销的效果

估计toad里的这些动作都包含有ddl的动作。

看来在不了解客户端工具的前,还是要慎用这些功能,最好使用前,查查工具的help文档。

现在只能是基于oracle本身的恢复方式来恢复了。