Oracle LogMiner 是Oracle公司從產品8i以後提供的一個實際非常有用的分析工具,使用該工具可以輕松獲得Oracle 在線/歸檔日志文件中的具體內容,特別是該工具可以分析出所有對於數據庫操作的DML和DDL語句。該工具特別適用於調試、審計或者回退某個特定的事務。
LogMiner分析工具實際上是由一組PL/SQL包和一些動態視圖(Oracle8i內置包的一部分)組成,它作為Oracle數據庫的一部分來發布是8i產品提供的一個完全免費的工具。但該工具和其他Oracle內建工具相比使用起來顯得有些復雜,主要原因是該工具沒有提供任何的圖形用戶界面(GUI)。
在Oracle 8i之前,Oracle沒有提供任何協助數據庫管理員來讀取和解釋重作日志文件內容的工具。系統出現問題,對於一個普通的數據管理員來講,唯一可以作的工作就是將所有的log文件打包,然後發給Oracle公司的技術支持,然後靜靜地等待Oracle 公司技術支持給我們最後的答案。然而從8i以後,Oracle提供了這樣一個強有力的工具--LogMiner。
LogMiner 工具即可以用來分析在線,也可以用來分析離線日志文件,即可以分析本身自己數據庫的重作日志文件,也可以用來分析其他數據庫的重作日志文件。
總的說來,LogMiner工具的主要用途有:
1、跟蹤數據庫的變化:可以離線的跟蹤數據庫的變化,而不會影響在線系統的性能。
2、回退數據庫的變化:回退特定的變化數據,減少point-in-time recovery的執行。
3、優化和擴容計劃:可通過分析日志文件中的數據以分析數據增長模式
在使用LogMiner之前需要確認Oracle是否帶有進行LogMiner分析包,一般來說Windows操作系統Oracle10g以上都默認包含。如果不能確認,可以DBA身份登錄系統,查看系統中是否存在運行LogMiner所需要的dbms_logmnr、dbms_logmnr_d包,如果沒有需要安裝LogMiner工具,必須首先要運行下面這樣兩個腳本:
1、$ORACLE_HOME/rdbms/admin/dbmslm.sql
2、$ORACLE_HOME/rdbms/admin/dbmslmd.sql.
這兩個腳本必須均以DBA用戶身份運行。其中第一個腳本用來創建DBMS_LOGMNR包,該包用來分析日志文件。第二個腳本用來創建DBMS_LOGMNR_D包,該包用來創建數據字典文件。
創建完畢後將包括如下過程和視圖:
類型
過程名
用途
過程