1. 程式人生 > >logmnr分析線上日誌與歸檔日誌

logmnr分析線上日誌與歸檔日誌

LOGMNR解析線上日誌檔案:

H:/>sqlplus / as sysdba
SQL>
/*該命令用於啟動supplemental logging功能,以使Logminer獲得更加詳細的資訊。如果該功能未啟用,Logminer解析結果中的username,session_info等資訊都被置為‘UNKNOWN’,這樣我們就無從得知操作是由哪個使用者執行的了。另外,也可能導致某些操作無法解析出來,比如在測試中我發現如果該功能未啟用,而我更新的表是一張未設定主鍵的表,那麼在解析結果中我始終找不到對應的UPDATE操作。欲禁用此項功能:alter database drop supplemental log data;*/


SQL> shutdown immediate
SQL> startup
SQL>
alter system switch logfile;/*將日誌切換到下一組以便在解析之後可以使用時間條件進行過濾,以免日誌記錄太多看花眼*/
SQL> exit

/*以下執行一些簡單的操作,這些操作會被記錄到切換過後的Redo日誌中*/
H:/>sqlplus morven3/morven3
SQL> create table tab1(fid number,fval varchar(20));
SQL> insert into tab1 values(1,'abc');
SQL> commit;
SQL> update tab1 set fval='xyz' where fid=1;
SQL> commit;
SQL> delete from tab1;
SQL> commit;
SQL> exit

H:/>sqlplus / as sysdba
SQL>
select * from v$log where status='CURRENT';/*查詢當前使用的日誌的組號*/
SQL>
SELECT MEMBER from v$logfile where group#=3;/*根據查到的當前日誌組號,查詢日誌檔案,得到日誌檔案路徑,如“C:/DATABASE/ORADATA/SIDORCL/REDO03.LOG”*/
SQL>
exec dbms_logmnr.add_logfile('C:/DATABASE/ORADATA/SIDORCL/REDO03.LOG',dbms_logmnr.new);/*

Logminer指定要解析的日誌檔案*/
SQL>
exec dbms_logmnr.start_logmnr(options=>dbms_logmnr.dict_from_online_catalog);/*Logminer指定使用當前資料庫的資料字典進行解析(只有根據資料字典才能將物件ID解析成物件名稱,增加可讀性)*/
SQL>
select t.* from v$logmnr_contents t where timestamp >sysdate-10/24/60 and username='MORVEN3';/*通過上面幾個步驟,動態檢視v$logmnr_contents就有了解析出來的日誌記錄。這裡你可以簡地通過時間過濾一下,比如像上面的查詢10分鐘內的操作,當然10分鐘內可能還是有不少日誌記錄,你可以加其它的過濾條件,比如使用者名稱。根據上面的語句,我們查到13條記錄,可以看“SQL_REDO”欄位,這些記錄分別是:create table tab1(fid number,fval varchar(20));insert into "MORVEN3"."TAB1"("FID","FVAL") values ('1','abc');insert into "MORVEN3"."TAB1"("FID","FVAL") values ('1','abc');insert into "MORVEN3"."TAB1"("FID","FVAL") values ('1','abc');insert into "MORVEN3"."TAB1"("FID","FVAL") values ('1','abc');update "MORVEN3"."TAB1" set "FVAL" = 'xyz' where "FVAL" = 'abc' and ROWID = 'AAARJ1AAFAAAACFAAA';update "MORVEN3"."TAB1" set "FVAL" = 'xyz' where "FVAL" = 'abc' and ROWID = 'AAARJ1AAFAAAACFAAB';update "MORVEN3"."TAB1" set "FVAL" = 'xyz' where "FVAL" = 'abc' and ROWID = 'AAARJ1AAFAAAACFAAC';update "MORVEN3"."TAB1" set "FVAL" = 'xyz' where "FVAL" = 'abc' and ROWID = 'AAARJ1AAFAAAACFAAD';delete from "MORVEN3"."TAB1" where "FID" = '1' and "FVAL" = 'xyz' and ROWID = 'AAARJ1AAFAAAACFAAA';delete from "MORVEN3"."TAB1" where "FID" = '1' and "FVAL" = 'xyz' and ROWID = 'AAARJ1AAFAAAACFAAB';delete from "MORVEN3"."TAB1" where "FID" = '1' and "FVAL" = 'xyz' and ROWID = 'AAARJ1AAFAAAACFAAC';delete from "MORVEN3"."TAB1" where "FID" = '1' and "FVAL" = 'xyz' and ROWID = 'AAARJ1AAFAAAACFAAD';另外,通過“SESSION_INFO”欄位,我們還能定位出具體是哪個使用者在哪臺機器上執行的操作,我們可以看一個“SESSION_INFO”的例子:login_username=MORVEN3 client_info= OS_username=domain1/hmy Machine_name=domain1/EV001EEC1FF000 OS_terminal=EV001EEC1FF000 OS_process_id=4064:2560 OS_program_name=sqlplus.exev$logmnr_contents檢視中還有其它一系列的欄位,SEG_TYPE_NAME,TABLE_SPACE,SQL_UNDO等等*/
SQL>
exec dbms_logmnr.end_logmnr/*退出Logminer*/

LOGMNR解析歸檔日誌檔案:

一、生成歸檔日誌:

SQL>alter system switch logfile;

SQL> insert into mm values(1);

已建立 1 行。

SQL> commit;

提交完成。

SQL>alter system switch logfile;

SQL> insert into mm values(2);

已建立 1 行。

SQL> commit;

提交完成。

SQL>alter system switch logfile;

SQL> insert into mm values(3);

已建立 1 行。

SQL> commit;

SQL>alter system switch logfile;

字典檔案用於存放表及物件ID號之間的對應關係。當使用字典檔案時,它會在表名和物件ID號之間建立一一對應的關係。因此需要注意,如果使用者建立了新表之後,並且將來可能會對該表進行日誌分析,那麼就需要重新建立字典檔案,以將其物件名及物件ID號存放到字典檔案中。

1.修改引數檔案,新增引數:UTL_FILE_DIR=C:/logmnr

目錄logmnr必須事先手工建立,該目錄用於存放產生的字典檔案,目錄名稱可以自定。

   alter system set UTL_FILE_DIR='C:/logmnr' scope=spfile; ---從v$parameter的ISSES_MODIFIABLE確定此引數需重啟才能生效

   shutdown immediate;

   startup;

2.建立字典檔案

       exec  dbms_logmnr_d.build(dictionary_filename=>'dict.ora', dictionary_location=>'c:/logmnr');

         注意:引數dictionary_filename用以指定字典檔案的檔名;引數 dictionary_location用於指定存放字典檔案所在的目錄,該目錄必須與初始化引數UTL_FILE_DIR的值一致。如果指定的字典檔名dict.ora已經存在,則應在執行此操作前將其徹底刪除(從垃圾箱中刪除),否則執行該過程將失敗。

三、建立日誌分析列表 :

SQL> exec dbms_logmnr.add_logfile('c:/logmnr/test1.arc',dbms_logmnr.new);

PL/SQL 過程已成功完成。

SQL> exec dbms_logmnr.add_logfile('c:/logmnr/test2.arc',dbms_logmnr.addfile);

PL/SQL 過程已成功完成。

SQL> exec dbms_logmnr.add_logfile('c:/logmnr/test3.arc',dbms_logmnr.addfile);

PL/SQL 過程已成功完成。

SQL> exec dbms_logmnr.add_logfile('F:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO02.LOG',dbms_logmnr.addfile);  ---此處可以新增線上日誌檔案的分析

PL/SQL 過程已成功完成。

SQL> select filename from v$logmnr_logs;

FILENAME
-----------------------------------------------------------------
c:/logmnr/test1.arc
c:/logmnr/test2.arc
c:/logmnr/test3.arc


四、啟動LogMiner執行分析 :

1、新增分析目錄:

 exec dbms_logmnr.start_logmnr(dictfilename=>'c:/logmnr/dict.ora');

2、檢視日誌分析結果:

SQL> select operation,sql_redo,sql_undo
  2 from v$logmnr_contents

  3 where seg_name='MM';

相關推薦

logmnr分析線上日誌歸檔日誌

LOGMNR解析線上日誌檔案: H:/>sqlplus / as sysdbaSQL> /*該命令用於啟動supplemental logging功能,以使Logminer獲得更加詳細的資訊。如果該功能未啟用,Logminer解析結果中的username,sess

RAC監聽日誌CRS日誌 及常用命令

RAC監聽日誌:tnsname.ora CRS日誌: 位置:Oracle叢集涉及的日誌主要位於“$ORA_CRS_HOME/log”和“$ORACLE_HOME/log”目錄中 目錄結構:tree -d $ORA_CRS_HOME/log             

Linux系統故障分析排查--日誌分析

獲得 cat cron stl 文本格式 etc 服務的啟動 網絡 調試   處理Linux系統出現的各種故障時,故障的癥狀是最先發現的,而導致這以故障的原因才是最終排除故障的關鍵。熟悉Linux系統的日誌管理,了解常見故障的分析與解決辦法,將有助於管理員快速定位故障點,“

Oracle Logminer 分析重做日誌RedoLog和歸檔日誌ArchiveLog

cti data 格式 保存 命令 重啟 msl dba object 在實際開發過程中,有時我們很有可能需要某個表的操作痕跡,或通過記錄的SQL語句進行有目的性的數據恢復(此時POINT-IN-TIME恢復已經滿足不了更細的粒度)、或僅僅是查看;

ZooKeeper日誌快照文件簡單分析

real 很難 nsa 記錄 要求 代碼塊 最新 詳細分析 源碼分析 有用過Zookeeper的都知道zoo.cfg配置文件中有dataDir配置項用於存儲數據,不過可能有些人不太清楚這個目錄具體存儲的是那些數據,默認情況下這個目錄是用於存儲Log(事務日誌)與Snapsh

極速賽車平臺出租ELK日誌分析平臺

roo node trigge yml def sco byte curl html 什麽是ELK呢?極速賽車平臺出租 Q2152876294 論壇:diguaym.com ELK是三個組件的縮寫, 分別是elasticsearch, logstash, kibana.

收集、分析線上日誌數據實戰——ELK

ldo display input for info 熱力圖 kibana 用戶行為日誌 分享 本文來自網易雲社區作者:田躲躲用戶行為統計(User Behavior Statistics, UBS)一直是互聯網產品中必不可少的環節,也俗稱埋點。對於產品經理,運營人員來說,

分析管理日誌日誌時間的同步

系統日誌結構 系統日誌 程序和作業系統核心需要能夠為發生的時間記錄日誌,這些日誌可用於系統稽核和問題的故障排查,這些日誌永久儲存在/var/log目錄中 /var/log目錄中保管由rsyslog維護的各種特定與系統和服務的日誌檔案 日誌檔案 目的

測試oracle11G使用logmnr分析日誌

事前準備: 1、設定資料庫強制歸檔:驗證是否開啟foceloggingSQL>select force_logging from v$database; 若沒有啟用,可使用下面語法開啟強制歸檔: SQL>alter database force logging; #開啟force loggi

android anr簡介traces日誌分析方法

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

收集、分析線上日誌資料實戰——ELK

本文來自網易雲社群 作者:田躲躲 使用者行為統計(User Behavior Statistics, UBS)一直是網際網路產品中必不可少的環節,也俗稱埋點。對於產品經理,運營人員來說,埋點當然是越多,覆蓋範圍越廣越好。通過使用者行為分析系統可洞悉使用者基本操作習慣、探析使用者心理。通過行為資料的補充,構

SQL排查- 慢查詢日誌分析資料庫海量資料

慢查詢日誌 用於記錄MYsql種響應時間超過閾值 開啟慢日誌 show variables ‘%slow_query-log%’ 臨時開啟 set global slow_query_log = 1 關

日誌分析利器elklogback(log4j)實戰

在近期的專案中,由於其專案中記錄了許多日誌,當系統由於某些BUG掛掉時,單純地通過命令來查詢錯誤日誌很不方便排除,且搜尋起來很非常不方便,很花費時間,對於一向不喜歡乾重復單調很費時間的我來說,如果沒有一種辦法來解決日誌問題是一件很痛苦的事情。那天偶然,公司的CTO說解決這種

通過GC日誌分析程式效能記憶體洩漏

摘自 : http://blog.csdn.net/huangzhaoyang2009/article/details/11860757 JVM的GC日誌的主要引數包括如下幾個: -XX:+PrintGC 輸出GC日誌 -XX:+PrintGCDetails 輸出G

Xcode7.3下如何分析線上(已通過AppStore稽核)IOS應用的崩潰日誌

xcode9.4在Organizar已經可以直接看到符號化後的崩潰日誌。(20180814) 這得從提交稽核說起,把程式碼打包成.ipa需要執行Xcode的Archive操作. Archive完成後會開啟Xcode的Organizar頁面。 記住這

歸檔日誌的大小比線上日誌的大小小很多(轉)

原文地址:https://blogs.oracle.com/Database4CN/entry/%E5%BD%92%E6%A1%A3%E6%97%A5%E5%BF%97%E7%9A%84%E5%A4%A7%E5%B0%8F%E6%AF%94%E5%9C%A8%E7%BA%B

oracle修改歸檔日誌路徑格式

file sequence data list format recover ati integer 生成 一、查詢數據庫是否開啟歸檔模式: SQL> archive log list; Database log mode A

通過DataWorks資料整合歸檔日誌服務資料至MaxCompute進行離線分析

開發十年,就只剩下這套架構體系了! >>>   

Sentry(v20.12.1) K8S 雲原生架構探索,玩轉前/後端監控事件日誌大資料分析,高效能+高可用+可擴充套件+可伸縮叢集部署

![](https://img2020.cnblogs.com/blog/436453/202101/436453-20210110115844475-876798893.png) `Sentry` 算是目前開源界集錯誤監控,日誌打點上報,事件資料實時分析最好用的軟體了,沒有之一。將它部署到 `Kuber

mysql進階(二)之細談索引、分頁日誌

連表 組合索引 rar 偏移量 最小值 num glob 要求 for 索引 1、數據庫索引   數據庫索引是一種數據結構,可以以額外的寫入和存儲空間為代價來提高數據庫表上的數據檢索操作的速度,以維護索引數據結構。索引用於快速定位數據,而無需在每次訪問數據庫表時搜索數據