大侠们,今天我在测试logminer时,遇到一个问题,logminer无法捕捉到DML语句。
详细如下:
我用scott用户做了以下几个操作:
create table test as select * from user_objects where 1=0;insert into test select * from user_objects;delete from test where rownum<=2;update test set object_name=lower(object_name);commit;
然后切换为sys用户执行以下操作-- 建立字典文件
  exec dbms_logmnr_d.build(dictionary_filename => 'logmnr.dic',dictionary_location => '/home/oracle/oradir',options => dbms_logmnr_d.store_in_flat_file);  -- 建立日志分析表
  exec dbms_logmnr.add_logfile(LogFileName => '/home/oracle/oradata/ORCL/redo01.log',Options => dbms_logmnr.new);  -- 添加用于分析的日志文件  exec dbms_logmnr.add_logfile(LogFileName => '/home/oracle/oradata/ORCL/redo02.log',Options => dbms_logmnr.addfile);  exec dbms_logmnr.add_logfile(LogFileName => '/home/oracle/oradata/ORCL/redo03.log',Options => dbms_logmnr.addfile);  -- 启动logminer进行分析
  exec dbms_logmnr.start_logmnr(dictfilename => '/home/oracle/oradir/logmnr.dic');
最后查询select sql_redo from v$logmnr_contents where sql_redo like '%test%';SQL> select sql_redo from v$logmnr_contents where sql_redo like '%test%';SQL_REDO
--------------------------------------------------------------------------------
create table test as select * from user_objects where 1=0;只有这一条记录,insert update delete这些DML操作都没有记录到,为什么会出现这种情况呢?我是严格按照logminer操作步骤一步步操作的,怎么还出现这种问题呢?