Oracle8i提供了一種強有力的新工具-LogMiner,使數據庫管理員可以
審計數據庫的使用,從而有可能不通過數據庫的恢復就可以回退不正確的數據
變化。LogMiner實際上是一組PL/SQL包和一些動態視圖(Oracle8i內置包的
一部分)。
LogMiner主要有以下幾方面的作用:
1. 跟蹤數據庫的變化:可以離線的跟蹤數據庫的變化,而不會影響在線
系統的性能。
2. 回退數據庫的變化:回退特定的變化數據,減少point-in-time
recovery的執行。
3. 優化和擴容計劃:可通過分析日志文件中的數據以分析數據增長模式。
LogMiner使用方法:
*建立Oracle8i數據字典文件:
1.在數據庫init.ora文件中定義起始參數UTL_FILE_DIR = (數據字
典的存放路徑),例如:UTL_FILE_DIR=D:\ORANT\LOGS (NT平台)
2.重啟數據庫
3.生成數據字典:
EXECUTE dbms_logmnr_d.build(dictionary_filename,dictionary_loc
ation);
例:execute dbms_logmnr_d.build(‘yourdict.ora’,’d:\orant\lo
gs’);
注:dictionary_location應為init.ora中設置的UTL_FILE_DIR路徑。
*分析日志文件:
1.使用DBMS_LOGMNR.ADD_LOGFILE(Logfilename,Options);定義所需
分析的日志文件。
例:(1)加入新的日志文件execute dbms_logmnr.add_logfile
(‘d:\orant\database\redo01.log’,dbms_logmnr.NEW);
(2)加入更多日志文件,如果需要:execute dbms_logmnr.
add_logfile(‘d:\orant\database\redo02.log’,dbms_logmn
r.ADDFILE);
(3)刪除所加入的文件:execute dbms_logmnr.add_logfile
(‘d:\orant\database\redo02.log’,dbms_logmnr.REMOVEFILE
);
2.執行DBMS_LOGMNR.START_LOGMNR(Dictfilename)啟動LogMiner
例:execute dbms_logmnr.start_logmnr(‘d:\orant\logs\yourdict.
ora’);
為了減少所需分析文件的范圍,可以設置starttime,endtime 或scn的范
圍
3. 分析如下視圖:
V$LOGMNR_DICTIONARY-------查詢使用的數據字典文件
V$LOGMNR_PARAMETERS-------查詢當前LogMiner設定的參數
V$LOGMNR_FILES-------查詢分析的日志文件
V$LOGMNR_CONTENTS-------日志文件的內容
4.執行:DBMS_LOGMNR.END_LOGMNR結束LogMiner會話。
另:如果你想分析Oracle8系DB列日志文件,需要:
1.從O8i上$Oracle_HOME/rdms/admin/ Copy dbmslogmnrd.sql
( and dbmslogmnr.sql),在Oracle8上執行。
2.按照O8i中建立數據字典文件的方法建立數據字典。
3.拷貝數據庫字典文件和想要分的日志文件到Oracle8i中,
按照上述分析日志文件的方法針對拷貝過來的文件進行分析。