為什麼我的logminer分析不出scott使用者的dml操作?

wei-xh發表於2010-06-27

平臺:windows。

一、建立字典目錄:d:\demo

二、修改初始化引數指向字典目錄
SQL> alter system set utl_file_dir='d:\demo' scope=spfile;

系統已更改。
SQL> startup force
ORACLE 例程已經啟動。

Total System Global Area  239075328 bytes
Fixed Size                  1248308 bytes
Variable Size              75498444 bytes
Database Buffers          159383552 bytes
Redo Buffers                2945024 bytes
資料庫裝載完畢。
資料庫已經開啟。

三、建立字典檔案(SYS使用者)
BEGIN
  DBMS_LOGMNR_D.BUILD('ss.ora',
                      'd:\demo',
                      DBMS_LOGMNR_D.STORE_IN_FLAT_FILE);
END;

四、執行DML操作(SCOTT使用者)
SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------------
         1          1         32   52428800          1 YES INACTIVE               1047879 27-6月 -10
         2          1         33   52428800          1 YES INACTIVE               1049238 27-6月 -10
         3          1         34   52428800          1 NO  CURRENT                1070105 27-6月 -10

已用時間:  00: 00: 00.30
SQL> delete from dept where rownum<2;

已刪除 1 行。

已用時間:  00: 00: 00.00
SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------------
         1          1         32   52428800          1 YES INACTIVE               1047879 27-6月 -10
         2          1         33   52428800          1 YES INACTIVE               1049238 27-6月 -10
         3          1         34   52428800          1 NO  CURRENT                1070105 27-6月 -10

已用時間:  00: 00: 00.03
SQL> commit;

提交完成。

已用時間:  00: 00: 00.00


五、將需要分析的日誌檔案加入(SYS使用者)
begin
dbms_logmnr.add_logfile(options=>dbms_logmnr.new,
logfilename=>'D:\oracle\product\10.2.0\oradata\ROSE\redo03.log');
end;

begin
dbms_logmnr.add_logfile( logfilename=>'D:\oracle\product\10.2.0\oradata\ROSE\redo04.log', ptions=>dbms_logmnr.addfile);
end;

六、啟動logminer(SYS使用者)
begin
dbms_logmnr.start_logmnr(
dictfilename=>'d:\demo\ss.ora');
end;

七、查詢結果(SYS使用者)
SQL>SELECT * FROM v$logmnr_contents where seg_name='DEPT';
未選定行
SQL>SELECT DISTINCT USERNAME FROM v$logmnr_contents ;
USERNAME

SYS

根本沒有scott使用者的。D盤DEMO目錄下已經生成SS.ORA檔案了,如果不帶條件查詢v$logmnr_contents可以查詢出結果。為什麼scott使用者執行的操作沒有顯示出來?


不建立字典檔案的方式:

EXEC SYS.DBMS_LOGMNR.ADD_LOGFILE('/data/arch/crmv/crmv_1_79810_760975735.arc', SYS.DBMS_LOGMNR.NEW)

EXEC SYS.DBMS_LOGMNR.ADD_LOGFILE('/data/arch/crmv/crmv_1_79811_760975735.arc')

EXEC SYS.DBMS_LOGMNR.START_LOGMNR(OPTIONS => SYS.DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG)

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22034023/viewspace-666439/,如需轉載,請註明出處,否則將追究法律責任。

相關文章