oracle 9i logminer日誌分析01
測試環境:
OS:window XP
Db:oracle 9i
注意:所有操作,要在一個會話中進行!!!
一、 oracle logminer簡介
dbms_logmnr是oracle在oracle8i所提供的新package。它主要用於分析log file檔案(包括online redo log file,archived log file),將log file中的資訊轉存到v$logmnr_contents中,從而獲取對oracle資料庫操作的歷史資訊。它不僅可以分析oracle8i的log file,也可以分析oracle8的log file。資訊主要包括在你分析的時間限制內資料庫資料作了些什麼變更,執行了哪些語句。
二、 logminer日誌分析過程
1. 開啟init.ora檔案,加入utl_file_dir=d:\logminer(注:改為自己的路徑,是logminer使 用檔案的預設路徑),然後應用新的設定開啟oracle資料庫。
2. 執行SQL>execute dbms_logmnr_d.build('shwdict.ora','D:\logminer'); ,(注:將生成d:\logminer\shwdict.ora檔案,此檔案可以以後重複使用,但不能同時用於幾個logmnr)用於生成資料字典;如果沒有dbms_logmnr_d包,需手工執行@D:\oracle\rdbms\admin\dbmslmd.sql;如果執行過程中報下標越界錯誤,則需要開啟@ D:\oracle\rdbms\admin \dbmslmd.sql檔案,將其中的TYPE col_desc_array IS VARRAY(513) OF col_description的513加大,我是改成了1513,儲存檔案重新執行@ D:\oracle\rdbms\admin \dbmslmd.sql;(注:都要以sysdba身份登陸執行)。
3. 將要分析的日誌檔案加入要分析的log list中
1. 察看有哪些日誌檔案可以用
select * from v$logfile;
2. 查詢已經加入的日誌檔案
select * from v$logmnr_logs;(注:查詢必須在同一個會話中查詢,單獨開查詢將查不到)
3. 新增日誌檔案到分析的log list
execute dbms_logmnr.add_logfile('d:\logminer\oradata\shw\redo01_1.log',dbms_logmnr.new);
execute dbms_logmnr.add_logfile('d:\logminer\ORADATA\ORA\REDO02_1.LOG',dbms_logmnr.addfile);
execute dbms_logmnr.add_logfile('d:\logminer\ORADATA\ORA\REDO03_1.LOG',dbms_logmnr.addfile);
4. 如果需要從分析列表裡去掉一個檔案用
execute dbms_logmnr.add_logfile ('d:\logminer\ORADATA\ORA\REDO03_1.LOG',dbms_logmnr.removefile);
4. 更改會話時間表達方式
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'; 系統設定在登錄檔。
5. 查詢分析的日誌檔案(你已加入的日誌檔案)包含的scn範圍和日期範圍
select low_time,high_time,low_scn,next_scn from v$logmnr_logs;
6. 執行分析:
1. 無限制條件
SQL> EXECUTE dbms_logmnr.start_logmnr(DictFileName=>' e:\oracle\logs\ v816dict.ora ');
2. 有限制條件
透過對過程DBMS_ LOGMNR.START_LOGMNR中幾個不同引數的設定(引數含義見表1),可以縮小要分析日誌檔案的範圍。如下面的例子,我們僅僅分析2009年3月10日的日誌,
透過設定起始時間和終止時間引數我們可以限制只分析某一時間範圍的日誌:
SQL> EXECUTE dbms_logmnr.start_logmnr(DictFileName => ' e:\oracle\logs\ v816dict.ora ',StartTime => to_date('2009-03-10 00:00:00','YYYY-MM-DD HH24:MI:SS'),EndTime => to_date(''2009-03-10 23:59:59','YYYY-MM-DD HH24:MI:SS '));
透過設定起始SCN和截至SCN來限制要分析日誌的範圍:
SQL> EXECUTE dbms_logmnr.start_logmnr(DictFileName => ' e:\oracle\logs\ v816dict.ora ', StartScn => 20,EndScn => 50);
表1 DBMS_LOGMNR.START__LOGMNR過程引數含義 引數 引數型別 預設值 含義:
StartScn 數字型(Number) 0 分析重作日誌中SCN≥StartScn日誌檔案部分
EndScn 數字型(Number) 0 分析重作日誌中SCN≤EndScn日誌檔案部分
StartTime 日期型(Date) 1998-01-01 分析重作日誌中時間戳≥StartTime的日誌檔案部分
EndTime 日期型(Date) 2988-01-01 分析重作日誌中時間戳≤EndTime的日誌檔案部分
DictFileName 字元型(VARCHAR2) 字典檔案,該檔案包含一個資料庫目錄的快照。
使用該檔案可以使得到的分析結果是可以理解的文字形式,而非系統內部的16進位制 Options BINARY_INTEGER 0 系統除錯引數,實際很少使用。
7. 查詢logminer分析結果:
Select SCN,timestamp, session# session_num, sql_redo
From V$LOGMNR_CONTENTS
Order by 1;
注:具體要查詢什麼內容可以自己修改。
8. 觀察分析結果(v$logmnr_contents)
到現在為止,我們已經分析得到了重作日誌檔案中的內容。動態效能檢視$logmnr_contents包含LogMiner分析得到的所有的資訊。
SELECT sql_redo FROM v$logmnr_contents;
如果我們僅僅想知道某個使用者對於某張表的操作,可以透過下面的SQL查詢得到,該查詢可以得到使用者DB_ZGXT對錶SB_DJJL所作的一切工作。
SQL> SELECT sql_redo FROM v$logmnr_contents WHERE username='DB_ZGXT' AND tablename='SB_DJJL';
需要強調一點的是,檢視v$logmnr_contents中的分析結果僅在我們執行過程'dbms_logmrn.start_logmnr'這個會話的生命期中存在。
這是因為所有的LogMiner儲存都在PGA記憶體中,所有其他的程式是看不到它的,同時隨著程式的結束,分析結果也隨之消失。
三、 日誌分析事務,此時PGA記憶體區域被清除,分析結果也隨之不再存在:
1、SQL> exec DBMS_LOGMNR.END_LOGMNR;
2、也可以直接退出SQL*PLUS,它會自動終止。
(未完待續)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/751371/viewspace-566637/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- LOGMINER日誌分析
- logminer 日誌分析案例
- oracle logminer分析線上 離線日誌方法Oracle
- ORACLE logminer 日誌挖掘Oracle
- ORACLE的日誌挖掘 logminerOracle
- 分析資料庫日誌(LogMiner)資料庫
- LogMiner日誌分析工具說明
- 使用logminer分析歸檔日誌案例
- Logminer日誌挖掘
- Logminer簡單分析日誌的實驗
- 日誌分析logmnr (Logminer) 使用方法
- logminer抽取日誌案例
- oracle 11g logminer 進行日誌挖掘Oracle
- 使用Oracle的logminer工具進行日誌挖掘Oracle
- 使用Oracle 10g的Logminer挖掘日誌Oracle 10g
- 使用Logminer來分析具體的DML操作日誌
- logminer日誌挖掘技術
- Logminer如何檢視日誌
- ORACLE使用LogMiner分析重做日誌檔案全部步驟(WINDOWS NT CHINESE VERSION) (轉)OracleWindows
- Oracle 9i LogMiner工具使用說明Oracle
- logminer日誌挖掘操作步驟
- logminer異機挖掘歸檔日誌
- 日誌分析-apache日誌分析Apache
- Oracle listener log 日誌分析方法Oracle
- 有條件分析oracle日誌Oracle
- [20150705]LOGMINER分析當前日誌注意.txt
- 【REDO】Oracle 日誌挖掘,分析歸檔日誌線上日誌主要步驟Oracle
- 終止oracle日誌分析事務Oracle
- 深入分析Oracle日誌檔案Oracle
- logminer是否可以分析從其他資料庫拷貝過來的日誌資料庫
- oracle日誌分析從列表中移去一個日誌檔案Oracle
- 從Logminer日誌挖掘中找出可疑的操作
- [日誌分析篇]-利用ELK分析jumpserver日誌-日誌拆分篇Server
- oracle日誌狀態為STALE案例分析Oracle
- 轉載:使用Log Miner分析Oracle日誌Oracle
- [20170412]分析重做日誌.txt
- Oracle日誌Oracle
- 【Oracle日誌】- 日誌檔案重建Oracle