Logminer日誌挖掘範例

1、 明確時間範圍

根據時間確定需要挖據日誌的個數,將日誌分別加入腳本中。

2、 編寫logminer腳本

execute dbms_logmnr.add_logfile(logfilename=>'/home/oracle/admin/ORCL/archive/ORCL_1_670176536_22124.dbf',options=>dbms_logmnr.new);

execute dbms_logmnr.add_logfile(logfilename=>'/home/oracle/admin/ORCL/archive/ORCL_1_670176536_22122.dbf',options=>dbms_logmnr.addfile);

execute dbms_logmnr.add_logfile(logfilename=>'/home/oracle/admin/ORCL/archive/ORCL_1_670176536_22118.dbf',options=>dbms_logmnr.addfile);

3、 執行腳本

SQL複製到SQL*PLUS中運行,通過alert日誌可以查看日誌的挖掘進度。

EXECUTE DBMS_LOGMNR.START_LOGMNR(OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);

每查看一次V$LOGMNR_CONTENTS,dbms_logmnr包都會去挖掘一次歸檔文件,所以最好複製一份此表;

4、 創建臨時表

Logminer執行分析完畢後,會將挖掘的信息保存在視圖V$LOGMNR_CONTENTS,如果session退出,視圖內相應數據將會清除。因此,爲了方便查

詢,可以通過創建臨時表將視圖中的數據保存:

Create table lonmnr_tmp as select * from V$LOGMNR_CONTENTS;

5、 查詢目標SQL

根據查詢條件,可以確定目標SQL是否存在:

select username, operation, SQL_REDO,SQL_UNDO FROM  lonmnr_tmp where SEG_OWNER = 'SCOTT';


在V$LOGMNR_CONTENTS中username有時候會顯示“UNKNOWN”狀態,說明是其他語句調用的關係,可以根據session#和serial#去ash

或者DBA_HIST_SESSION_HISTORY視圖中查詢信息;



--------------------------------------------------------------------------------------------

版權所有,轉載請註明作者及原文鏈接,否則追究法律責任!

QQ:      584307876

作者:    Seven

原文鏈接:http://blog.csdn.net/sunjiapeng/article/details/16336527

郵箱:    [email protected]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章