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