今天看书上写的分析日志文件,我按照操作:
首先:alter system set utl_file_dir='d:\oracle'
然后,重启服务器,
SQL> show parameter utl_file_dirNAME             TYPE        VALUE
-------------- ------------------------------
utl_file_dir     string      d:\oracle
再执行
execute dbms_logmnr_d.build('logmnr_dict.ora','d:\oracle');然后是
execute dbms_logmnr.add_logfile('D:\oracle\product\10.2.0\oradata\zgd\REDO01.LOG',options=>dbms_logmnr.new);
execute dbms_logmnr.add_logfile('D:\oracle\product\10.2.0\oradata\zgd\REDO02.LOG',options=>dbms_logmnr.addfile);
execute dbms_logmnr.add_logfile('D:\oracle\product\10.2.0\oradata\zgd\REDO03.LOG',options=>dbms_logmnr.addfile);再继续
execute dbms_logmnr.start_logmnr(dictfilename=>'d:\oracle\logmnr_dict.ora');最后,查看
select scn, operation, sql_redo, sql_undo from v$logmnr_contents where username = 'scott';显示
SQL> select scn, operation, sql_redo, sql_undo from v$logmnr_contents where username = 'scott';未选定行SQL> 
可我明明一定应该有在SCOTT用户下的操作啊,怎么分析不出来那,弄了一下午了,到底是怎么回事啊,请高手指导啊!!!

解决方案 »

  1.   

    1 redo里不记select操作,你做的操作是什么?2 v$logmnr_contents,一定要在执行上述操作的会话里看,新开其他的会话无效3 建议用online的数据字典试试
    begin
    SYS.DBMS_LOGMNR.START_LOGMNR(Options => sys.dbms_logmnr.DICT_FROM_ONLINE_CATALOG);
    end;
      

  2.   

    多谢多谢,问题解决了,
    显示
    SQL> select scn, operation, sql_redo, sql_undo from v$logmnr_contents where username = 'scott';scott应该是大写的SCOTT