1. 程式人生 > >日誌分析logmnr使用方法_分享

日誌分析logmnr使用方法_分享

一、安裝LogMiner工具,以下兩個指令碼以SYSDBA身份執行

@$ORACLE_HOME/rdbms/admin/dbmslm.sql;

@ $ORACLE_HOME/rdbms/admin/dbmslmd.sql; 

第一個指令碼用來建立DBMS_LOGMNR包,該包用來分析日誌檔案。
第二個指令碼用來建立DBMS_LOGMNR_D包,該包用來建立資料字典檔案。 

二、使用LogMiner工具 

下面將詳細介紹如何使用LogMiner工具。 

1、建立資料字典檔案(data-dictionary) 
  
  1).首先在init.ora初始化引數檔案中,指定資料字典檔案的位置,也就是新增一個引數UTL_FILE_DIR,該引數值為伺服器中放置資料字典檔案的目錄。如:UTL_FILE_DIR = ($ORACLE_HOME/logs) ,重新啟動資料庫,使新加的引數生效: 

  2).然後建立資料字典檔案
  SQL> connect /as sysdba
  SQL> execute dbms_logmnr_d.build(dictionary_filename => 'dict.ora',dictionary_location => 'G:/oracle/logs');

  PL/SQL procedure successfully completed
  
2、建立要分析的日誌檔案列表 

  1).建立分析列表,即所要分析的日誌
    SQL> execute dbms_logmnr.add_logfile(LogFileName => 'G:/ORACLE/ORADATA/ORADBSP/REDO04.LOG',Options => dbms_logmnr.new);

    PL/SQL procedure successfully completeds
    
  2).新增分析日誌檔案,一次新增1個為宜
    SQL> execute dbms_logmnr.add_logfile(LogFileName => 'G:/ORACLE/ORADATA/ORADBSP/REDO05.LOG',Options => dbms_logmnr.ADDFILE);

    PL/SQL procedure successfully completed

3、使用logMiner進行日誌分析

   1).無限制條件,即用資料字典檔案對要分析的日誌檔案所有內容做分析
     SQL> execute dbms_logmnr.start_logmnr(DictFileName => 'G:/oracle/logs/dict.ora');

     PL/SQL procedure successfully completed
     
   2).帶限制條件,可以用scn號或時間做限制條件,也可組合使用
     --分析日誌列表中時間從07.02.28從10:00到15:00的內容
     SQL> execute dbms_logmnr.start_logmnr(startTime => to_date('20070228100000','yyyy-mm-dd hh24:mi:ss'),endTime => to_date('20070228150000','yyyy-mm-dd hh24:mi:ss'),DictFileName => 'G:/oracle/logs/dict.ora');

    PL/SQL procedure successfully completed

  dbms_logmnr.start_logmnr函式的原型為:
  PROCEDURE start_logmnr(
     startScn           IN  NUMBER default 0 ,
     endScn  IN  NUMBER default 0,
     startTime       IN  DATE default '',
     endTime         IN  DATE default '',
     DictFileName     IN  VARCHAR2 default '',
     Options IN  BINARY_INTEGER default 0 ); 

4.分析後釋放記憶體
  
   SQL> execute dbms_logmnr.end_logmnr;

   PL/SQL procedure successfully completed

5.其它
   1).刪除日誌分析檔案
   exec dbms_logmnr.add_logfile('G:/ORACLE/ORADATA/ORADBSP/REDO04.LOG',dbms_logmnr.removefile);
   

三、檢視LogMiner工具分析結果

SQL> select * from dict t where t.table_name like '%LOGMNR%';--看所有與logmnr相關的檢視

TABLE_NAME                     COMMENTS
------------------------------ --------------------------------------------------------------------------------
GV$LOGMNR_CALLBACK             Synonym for GV_$LOGMNR_CALLBACK
GV$LOGMNR_CONTENTS             Synonym for GV_$LOGMNR_CONTENTS
GV$LOGMNR_DICTIONARY           Synonym for GV_$LOGMNR_DICTIONARY
GV$LOGMNR_LOGFILE              Synonym for GV_$LOGMNR_LOGFILE
GV$LOGMNR_LOGS                 Synonym for GV_$LOGMNR_LOGS
GV$LOGMNR_PARAMETERS           Synonym for GV_$LOGMNR_PARAMETERS
GV$LOGMNR_PROCESS              Synonym for GV_$LOGMNR_PROCESS
GV$LOGMNR_REGION               Synonym for GV_$LOGMNR_REGION
GV$LOGMNR_SESSION              Synonym for GV_$LOGMNR_SESSION
GV$LOGMNR_STATS                Synonym for GV_$LOGMNR_STATS
GV$LOGMNR_TRANSACTION          Synonym for GV_$LOGMNR_TRANSACTION
V$LOGMNR_CALLBACK              Synonym for V_$LOGMNR_CALLBACK
V$LOGMNR_CONTENTS              Synonym for V_$LOGMNR_CONTENTS
V$LOGMNR_DICTIONARY            Synonym for V_$LOGMNR_DICTIONARY
V$LOGMNR_LOGFILE               Synonym for V_$LOGMNR_LOGFILE
V$LOGMNR_LOGS                  Synonym for V_$LOGMNR_LOGS
V$LOGMNR_PARAMETERS            Synonym for V_$LOGMNR_PARAMETERS
V$LOGMNR_PROCESS               Synonym for V_$LOGMNR_PROCESS
V$LOGMNR_REGION                Synonym for V_$LOGMNR_REGION
V$LOGMNR_SESSION               Synonym for V_$LOGMNR_SESSION

TABLE_NAME                     COMMENTS
------------------------------ --------------------------------------------------------------------------------
V$LOGMNR_STATS                 Synonym for V_$LOGMNR_STATS
V$LOGMNR_TRANSACTION           Synonym for V_$LOGMNR_TRANSACTION

GV$LOGMNR_LOGS 是分析日誌列表檢視

分析結果在GV$LOGMNR_CONTENTS 檢視中,可按以下語句查詢:

select scn,timestamp,log_id,seg_owner,seg_type,table_space,data_blk#,data_obj#,data_objd#,
       session#,serial#,username,session_info,sql_redo,sql_undo 
from logmnr3 t 
where t.sql_redo like 'create%';

如果不能正常查詢GV$LOGMNR_CONTENTS檢視,並報以下錯誤,ORA-01306: 在從 v$logmnr_contents 中選擇之前必須呼叫 dbms_logmnr.start_logmnr() 。可採用如下方法:

create table logmnr3 as select * from GV$LOGMNR_CONTENTS;



FAQ:

1.建立資料字典的目 : 讓LogMiner引用涉及到內部資料字典中的部分時為他們實際的名字,而不是系統內部的16進位制。資料字典檔案是一個文字檔案,使用包DBMS_LOGMNR_D來建立。如果我們要分析的資料庫中的表有變化,影響到庫的資料字典也發生變化,這時就需要重新建立該字典檔案。另外一種情況是在分析另外一個數據庫檔案的重作日誌時,也必須要重新生成一遍被分析資料庫的資料字典檔案。 在使用LogMiner工具分析redo log檔案之前,可以使用DBMS_LOGMNR_D 包將資料字典匯出為一個文字檔案。該字典檔案是可選的,但是如果沒有它,LogMiner解釋出來的語句中關於資料字典中的部分(如表名、列名等)和數值都將是16進位制的形式,我們是無法直接理解的。例如,下面的sql語句: 

 INSERT INTO dm_dj_swry (rydm, rymc) VALUES (00005, '張三');  

     LogMiner解釋出來的結果將是下面這個樣子, 

 insert into Object#308(col#1, col#2) values (hextoraw('c30rte567e436'), hextoraw('4a6f686e20446f65'));
 

相關推薦

日誌分析logmnr使用方法_分享

一、安裝LogMiner工具,以下兩個指令碼以SYSDBA身份執行 @$ORACLE_HOME/rdbms/admin/dbmslm.sql; @ $ORACLE_HOME/rdbms/admin/dbmslmd.sql;  第一個指令碼用來建立DBMS_LOGMNR包,該包

日誌分析logmnr使用方法

一、安裝LogMiner工具,以下兩個指令碼以SYSDBA身份執行  @$Oracle_HOME/rdbms/admin/dbmslm.sql;  @ $ORACLE_HOME/rdbms/admin/dbmslmd.sql;   第一個指令碼用來建立DBMS_LOGMNR包

LOGMNR-日誌分析的強大工具

HERE ner ren miner exec 分析 mine 操作 min Oracle數據庫中,LGWR進程將數據庫中進行的DML操作記錄在日誌中,oracle數據庫提供了一個LOGMNR工具,容易實現對於日誌的解析。 找到redo log 的文件:select fr

android anr簡介與traces日誌分析方法

一:什麼是ANR ANR:Application Not Responding,即應用無響應 二:ANR的型別 ANR一般有三種類型: 1:KeyDispatchTimeout(5 seconds) --主要型別 按鍵或觸控事件在特定時間內無響應 2:BroadcastTim

多種日誌分析方法助你輕鬆定位硬體故障

同事發現某臺機器上message日誌數量突然暴增,簡單查看了下有記憶體相關的報錯,所以轉交給我來檢視。 Message日誌 進入伺服器檢視message日誌,先看看同事說的告警到底是什麼,如下圖 還真是,通道3,第一個槽位的記憶體發生故障了。但是,我只知道A1/B1/A2/B2,所以我還是繼續

日誌分析方法概述 & Web日誌挖掘分析方法

本文討論的日誌處理方法中的日誌,僅指Web日誌。其實並沒有精確的定義,可能包括但不限於各種前端Web伺服器——apache、lighttpd、tomcat等產生的使用者訪問日誌,以及各種Web應用程式自己輸出的日誌。 在Web日誌中,每條日誌通常代表著使用者的一次訪問行為,例如下面就是一條典型的apac

logback非同步輸出日誌的配置方法和原始碼分析

1,非同步輸出日誌的配置 logback中的非同步輸出日誌使用了AsyncAppender這個appender 配置方式如下: <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileA

基於DNS日誌分析,勒索病毒和遠端控制病毒排查方法

 由於公司受到勒索病毒及一些遠端控制病毒攻擊,在防毒軟體不能正常查殺的情況下怎樣知道全網有多少使用者受到威脅,通過行業一些專業機構給出的處理方法,經驗證,通過DNS日誌分析是一個很好的排查手段,下面對本次排查過程進行分析,希望可以幫助到大家。           1.勒索病毒

ANR日誌分析方法

1.ANR的型別 ANR一般有三種類型: 1:KeyDispatchTimeout(5 seconds) --主要型別 按鍵或觸控事件在特定時間內無響應 A key or touch event was not dispatched within the specifi

Mysql 慢查詢日誌分析方法說明

Mysql 慢查詢日誌分析方法說明                     一、分析sql慢查詢的意義 在運營網站的過程中,可能會遇到網站突然變慢的問題,一般情況下和 MySQL 慢有關係,可以通過開啟慢查詢來記錄超過指定時間的SQL語句(目前慢查詢時間為2秒),找到影響效率的SQL語句,然後採取相應的措施

通過實時日誌分析_進行訪問日誌的快速統計

原文連結 簡介 很多個人站長在搭建網站時使用nginx作為伺服器,為了瞭解網站的訪問情況,一般有兩種手段: 使用CNZZ之類的方式,在前端頁面插入js,使用者訪問的時候觸發js,記錄訪問請求。利用流計算、或離線統計分析nginx的access log,從日誌中挖掘有

機器學習競賽分享:通用的團隊競技類的資料分析挖掘方法

前言 該篇分享來源於NFL競賽官方的R語言版本,我做的主要是翻譯為Python版本; 分享中用到的技巧、構建的特徵、展示資料的方式都可以應用到其他領域,比如籃球、足球、LOL、雙人羽毛球等等,只要是團隊競技,都可以從中獲益; 分享基於kaggle上的NFL大資料碗,也就是基於橄欖球; 泰森多邊形的概念最好可

windows常用日誌分析

windows 計算機 用戶 帳戶 查找AD中用戶帳戶鎖定時間及鎖定的計算機。a.打開安全日誌。b.查找eventid 4740,即可查找出被鎖定帳戶和鎖定源。本文出自 “工作備忘錄” 博客,謝絕轉載!windows常用日誌分析

centos7搭建ELK Cluster日誌分析平臺(一)

場景 git centos7 beat images 下載地址 install posit src 應用場景:ELK實際上是三個工具的集合,ElasticSearch + Logstash + Kibana,這三個工具組合形成了一套實用、易用的監控架構,      很多公司

centos7搭建ELK Cluster集群日誌分析平臺(四):簡單測試

-1 簡單測試 logs ima .tar.gz 分析 -c cluster images 續之前安裝好的ELK集群   各主機:es-1 ~ es-3 :192.168.1.21/22/23       logstash:  192.168.1.24       ki

Logwatch日誌分析工具

logwatch日誌監控介紹:Logwatch是使用 Perl 開發的一個日誌分析工具。Logwatch能夠對Linux 的日誌文件進行分析,並自動發送mail給相關處理人員,可定制需求。Logwatch的mail功能是借助宿主系統自帶的mail server 發郵件的,所以系統需安裝mail server

linux下awk日誌分析

linux 接口 記錄 video 文本命令數據分析假設線上倒出的接口訪問日誌有上百行,該日誌的記錄格式如下:/data1/www/logs/archives/170524/170524.v6.weibo.com_10.72.13.113.0.cn.gz:v6.weibo.com 123.12

ELK日誌分析系統 介紹 安裝配置

elkELK日誌分析系統一、ELK介紹 ELK顧名思義:是由Elasticsearch,Logstash 和 Kibana三部分組成的。 其中Elasticsearch 是一個實時的分布式搜索和分析引擎,它可以用於全文搜索,結構化搜索以及分析。它是一個建立在全文搜索引擎 Apache Lucene

P1165 日誌分析

ostream 最大 char 忽略 urn amp namespace 擁有 code 題目描述 M 海運公司最近要對旗下倉庫的貨物進出情況進行統計。目前他們所擁有的唯一記錄就是一個記錄集裝箱進出情況的日誌。該日誌記錄了兩類操作:第一類操作為集裝箱入庫操作,以及該次

開源日誌分析系統ELK平臺搭建部署

logstash 日誌分析系統 elk 開源日誌分析系統ELK平臺搭建部署 一、前言日誌主要包括系統日誌、應用程序日誌和安全日誌。系統運維和開發人員可以通過日誌了解服務器軟硬件信息、檢查配置過程中的錯誤及錯誤發生的原因。經常分析日誌可以了解服務器的負荷,性能安全性,從而及時采取措施糾正錯誤。通常