Oracle Logminer找不到重做条目

时间:2011-07-10 09:59:27

标签: oracle redo-logs

我更新了“HR”中的几行。“AAA”表。现在我想使用LogMiner将HR.AAA表返回到以前的状态。

我执行以下操作:

begin 
dbms_logmnr_d.build('dictionary.ora','C:\oracle\product\10.2.0\oradata\ORCL\UTL'); 
end;

我检查过,在更新表之前和之后,CURRENT日志文件是:“C:\ ORACLE \ PRODUCT \ 10.2.0 \ ORADATA \ ORCL \ REDO01.LOG”

begin 
dbms_logmnr.add_logfile('C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG',options=> dbms_logmnr.new); 
end;


begin
dbms_logmnr.start_logmnr (DictFileName =>'C:\oracle\product\10.2.0\oradata\ORCL\UTL\dictionary.ora', options => dbms_logmnr.print_pretty_sql);
end;


select * from v$logmnr_contents
where username='HR'

输出无关紧要。我无法找到HR模式所做的更改......你能告诉我为什么吗?

2 个答案:

答案 0 :(得分:2)

我找到了解决方案:):)):)

我浏览了视图v $ logmnr_contents的内容,并在INFO列“In Memory Undo is notpported”值中找到。这行对应于应该放置更新的行(我认为是时间戳列,我的意思是时间戳对应于我更新表的时间)。谷歌搜索后,我发现以下声明:

SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
SQL> ALTER SYSTEM SWITCH LOGFILE;    

现在我可以看到我的REDO(快乐)

答案 1 :(得分:2)

此行为是由内存撤消引起的,这是Oracle 10g引入的新功能。 您可以查看文章了解更多信息。 http://www.freelists.org/post/oracle-l/First-17-updated-records-disappeared-from-REDOLOG-files,2