用Oracle LogMiner挖不出数据报In Memory Undo is unsupported
最近在用LogMiner在Oracle 10g上进行日志挖掘,无意之中create table test as select * from v$logmnr_contents; 发现其实是有记录的,只是记录的内容无法解析,info字段报In Memory Undo is unsupported这个问题。几经周折,加上附件日志就ok了,下面是实验再现:
C:\Documents and Settings\guogang>sqlplus test/test
SQL> create table tt as select rownum rn from dual connect by rownum <10;
表已创建。
第一次做实验:
SQL> select to_char(dbms_flashback.get_system_change_number) from dual;
TO_CHAR(DBMS_FLASHBACK.GET_SYSTEM_CHANGE
----------------------------------------
10309235923278
SQL> delete from tt where rn=1;
已删除 1 行。
SQL> commit;
提交完成。
SQL> select to_char(dbms_flashback.get_system_change_number) from dual;
TO_CHAR(DBMS_FLASHBACK.GET_SYSTEM_CHANGE
----------------------------------------
10309235923281
SQL> alter database add supplemental log data;--一定要加上附加日志
数据库已更改。
第二次做实验:
SQL> select to_char(dbms_flashback.get_system_change_number) from dual;
TO_CHAR(DBMS_FLASHBACK.GET_SYSTEM_CHANGE
----------------------------------------
10309235923453
SQL> delete from tt where rn=2;
已删除 1 行。
SQL> commit;
提交完成。
SQL> select to_char(dbms_flashback.get_system_change_number) from dual;
TO_CHAR(DBMS_FLASHBACK.GET_SYSTEM_CHANGE
----------------------------------------
10309235923456
C:\Documents and Settings\guogang>sqlplus / as sysdba;
相关阅读: