Oracle 10g Logmnr使用

ljm0211發表於2012-06-20
10g Logmnr可以使用線上分析,因此不需要設定utl_file_dir。
第一步 add logfile:
Begin
Sys.dbms_logmnr.add_logfile(LogFileName => '/ywzkr_arch/archive/arch_2bc2b0e5_1_684411423_11686.log', ptions => dbms_logmnr.new);  --(第一個檔案需要使用引數options => dbms_logmnr.new)
Sys.dbms_logmnr.add_logfile(LogFileName => '/ywzkr_arch/archive/arch_2bc2b0e5_1_684411423_11687.log');
…… 所有log檔案依次執行Sys.dbms_logmnr.add_logfile加入logmnr中
End;

第二步 start logmnr:
Begin
Sys.dbms_logmnr.start_logmnr(options => sys.dbms_logmnr.dict_from_online_catalog); --(可以使用startscn,endscn,starttime,endtime來執行分析的起始結束位置,使用time需要alter session的nls_date_format引數,或在starttime引數位置使用to_date)
End;

第三步 檢視結果:
select * from v$logmnr_contents;

第四步 end logmnr:
Begin
Sys.dbms_logmnr.end_logmnr;
End;

=========================================================================
與LogMiner相關的資料字典。

1、v$logmnr_dictionary,LogMiner可能使用的資料字典資訊,因logmnr可以有多個字典檔案,該檢視用於顯示這方面資訊。

2、v$logmnr_parameters,當前LogMiner所設定的引數資訊。

3、v$logmnr_logs,當前用於分析的日誌列表。

4、v$logmnr_contents,日誌分析結果。
==========================================================================
Logmnr使用案例:
生產環境資料庫出現阻塞,想要知道當前阻塞其他會話的Trans所有執行過的DML操作。
透過EM可以看到阻塞其他會話的會話的Session ID,使用v$transaction和v$session能夠查到當前產生阻塞的Trans 的 XID:000A001300016363,和該Trans的start time:08/17/10 11:05:35

使用Logmnr對這個Trans開始時間之後的歸檔日誌進行Logmnr:
第一步:
Begin
Sys.dbms_logmnr.add_logfile(LogFileName => '/ywzkr_arch/archive/arch_2bc2b0e5_1_684411423_11686.log', ptions => dbms_logmnr.new);
Sys.dbms_logmnr.add_logfile(LogFileName => '/ywzkr_arch/archive/arch_2bc2b0e5_1_684411423_11686.log');
Sys.dbms_logmnr.add_logfile(LogFileName => '/ywzkr_arch/archive/arch_2bc2b0e5_1_684411423_11687.log');
Sys.dbms_logmnr.add_logfile(LogFileName => '/ywzkr_arch/archive/arch_2bc2b0e5_1_684411423_11688.log');
Sys.dbms_logmnr.add_logfile(LogFileName => '/ywzkr_arch/archive/arch_2bc2b0e5_1_684411423_11689.log');
Sys.dbms_logmnr.add_logfile(LogFileName => '/ywzkr_arch/archive/arch_2bc2b0e5_1_684411423_11690.log');
Sys.dbms_logmnr.add_logfile(LogFileName => '/ywzkr_arch/archive/arch_2bc2b0e5_1_684411423_11691.log');
Sys.dbms_logmnr.add_logfile(LogFileName => '/ywzkr_arch/archive/arch_2bc2b0e5_1_684411423_11692.log');
Sys.dbms_logmnr.add_logfile(LogFileName => '/ywzkr_arch/archive/arch_2bc2b0e5_1_684411423_11693.log');
Sys.dbms_logmnr.add_logfile(LogFileName => '/ywzkr_arch/archive/arch_2bc2b0e5_1_684411423_11694.log');
End;

Select * From v$logmnr_logs;

第二步:
Begin
Sys.dbms_logmnr.start_logmnr(options => sys.dbms_logmnr.dict_from_online_catalog);
End;

第三步:
Select * From v$logmnr_contents Where Xid='000A001300016363';

第四步:
Begin
Sys.dbms_logmnr.end_logmnr;
End;

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

相關文章