有關logminer的學習:

orchidllh發表於2005-04-08

可以使用分析資料庫進行分析,但是有以下要求:
1、源資料庫和分析資料庫必須執行在相同的硬體平臺上;
2、分析資料庫可以是獨立資料庫或者源資料庫;
3、分析資料庫的版本不能低於源資料庫的版本;
4、分析資料庫與源資料庫必須具有相同的字符集。


logminer字典:必須在源資料庫生成。

重做日誌檔案:
當分析多個重做日誌或者歸檔日誌時,必須是同一個源資料庫的重做日誌或者歸檔日誌;
當分析多個重做日誌或者歸檔日誌時,必須具有相同的resetlogs scn;
被分析的重做日誌或者歸檔日誌必須在oracle 8.0版本以上。

SQL> exec dbms_logmnr.add_logfile( logfilename=>'/home/oracle/backup/1_965.dbf', options=>dbms_logmnr.addfile);

PL/SQL procedure successfully completed.

提供logminer有三種方式:
1、使用源資料庫資料字典
SQL> exec dbms_logmnr.start_logmnr(options=>dbms_logmnr.dict_from_online_catalog);

PL/SQL procedure successfully completed.
這種方式對於使用源資料庫分析重做日誌或歸檔日誌的情況,要求表結構沒有發生變化,資料庫處於open狀態,且只能用於跟蹤DML操作,不能跟蹤DDL操作。

2、摘取logminer字典到重做日誌
這種方式對於使用分析資料庫分析重做日誌或歸檔日誌,或者表結構發生變化的情況,要求源資料庫處於open狀態,且是歸檔模式。
SQL> exec dbms_logmnr.start_logmnr(options=>dbms_logmnr_d.store_in_redo_logs);
這種方式因為現在暫時沒有合適的環境,所以沒有進行試驗。

3、摘取logminer字典到字典檔案
以前一直使用的是這種方式,現在才知道該方式屬於為了和以前版本相容而保留的,如果要分析新建立的物件,需要重新生成字典檔案。步驟也比較複雜。
a.首先要修改引數:UTL_FILE_DIR,該引數不能動態修改,所以需要重啟資料庫。昨天就是因為不能重新啟動生產資料庫鬱悶半天。
b.建立字典檔案
exec dbms_logmnr_d.build('dic.ora',>'/home/oracle',dbms_logmnr_d.store_in_flat_file);
書上提到必須指定store_in_flat_file選項,但是我之前做過的都沒有標明,也是可以的,也許跟資料庫的版本有關吧。

操作步驟:
exec dbms_logmnr.add_logfile( logfilename=>'/home/oracle/arch1_282_541249647.dbf', options=>dbms_logmnr.addfile);

exec dbms_logmnr.start_logmnr(options=>dbms_logmnr.dict_from_online_catalog);

EXECUTE DBMS_LOGMNR.END_LOGMNR;

使用logminer分析ddl操作,必須使用重做日誌或字典檔案存放logminer字典資訊。

顯示logminer分析結果:
查詢 v$logmnr_contents

顯示在用的字典檔案:
查詢 v$logmnr_dictionary

顯示日誌列表:
查詢 v$logmnr_logs

顯示引數設定:
查詢 v$logmnr_parameters

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

相關文章