LogMiner 是Oracle公司從產品8i以後提供的一個實際非常有用的分析工具,使用該工具可以輕鬆獲得Oracle 重做日誌檔案(歸檔日誌檔案)中的具體內容,LogMiner分析工具實際上是由一組PL/SQL包和一些動態視圖組成,它作為Oracle資料庫的一部分來發布,是oracle公司提供的一個完全免費的工具。
基本介紹
- 軟體名稱:LogMiner
- 開發商:Oracle
- 軟體授權:免費
- 類型:分析工具
軟體介紹,功能,安裝,使用,
軟體介紹
Oracle
功能
在Oracle 8i之前,Oracle沒有提供任何協助資料庫管理員來讀取和解釋重作日誌檔案內容的工具。系統出現問題,對於一個普通的數據管理員來講,唯一可以作的工作就是將所有的日誌檔案打包,然後發給Oracle公司的技術支持,然後靜靜地等待Oracle 公司技術支持給我們最後的答案。然而從8i以後,Oracle提供了這樣一個強有力的工具-LogMiner。
LogMiner工具的主要用途有:
1. 跟蹤資料庫的變化:可以離線的跟蹤資料庫的變化,而不會影響線上系統的性能。
2. 回退資料庫的變化:回退特定的變化數據,減少point-in-time recovery的執行。
3. 最佳化和擴容計畫:可通過分析日誌檔案中的數據以分析數據增長模式。
安裝
要安裝LogMiner工具,必須首先要運行下面這樣兩個腳本,
l $ORACLE_HOME/rdbms/admin/dbmslm.sql
2 $ORACLE_HOME/rdbms/admin/dbmslmd.sql
這兩個腳本必須均以SYS用戶身份運行。其中第一個腳本用來創建DBMS_LOGMNR包,該包用來分析日誌檔案。第二個腳本用來創建DBMS_LOGMNR_D包,該包用來創建數據字典檔案。
使用
下面將詳細介紹如何使用LogMiner工具。
首先在init.ora初始化參數檔案中,指定數據字典檔案的位置,也就是添加一個參數UTL_FILE_DIR,該參數值為伺服器中放置數據字典檔案的目錄。如:
UTL_FILE_DIR = (/Oracle/logs)
第一步:進入資料庫,將資料庫當前數據字典分析出來,生成數據字典檔案
BEGIN
dbms_logmnr_d.build(dictionary_filename=>'dict.ora',dictionary_location=>'/oracle/logdict');
END;
/
第二步:將需要分析的歸檔檔案添加到分析列表,如果要分析多個日誌檔案就添加多個
BEGIN
dbms_logmnr.add_logfile(options=>dbms_logmnr.addfile,logfilename=>'/Data/arch1/1_24374.dbf');
END;
/
BEGIN
dbms_logmnr.add_logfile(options=>dbms_logmnr.addfile,logfilename=>'/Data/arch1/1_24375.dbf');
END;
/
BEGIN
dbms_logmnr.add_logfile(options=>dbms_logmnr.addfile,logfilename=>'/Data/arch1/1_24376.dbf');
END;
/
BEGIN
dbms_logmnr.add_logfile(options=>dbms_logmnr.addfile,logfilename=>'/Data/arch1/1_24377.dbf');
END;
/
第三步:查看當前分析列表
select filename from v$logmnr_logs;
第四步:進行分析
BEGIN
dbms_logmnr.start_logmnr(dictfilename => '/Data/dict/dict.ora',starttime => to_date('2011-02-25 09:15:00','YYYY-MM-DD HH24:MI:SS'),endtime => to_date('2011-02-25 09:20:00','YYYY-MM-DD HH24:MI:SS'));
END;
/
第五步:查詢分析結果
spool dict.log
set echo off
set termout off
set lines 3000
select operation,sql_redo,sql_undo from v$logmnr_contents where seg_name='R_WIP';
spool off
第六步:結束分析
execute dbms_logmnr.end_logmnr