oracle logminer分析線上 離線日誌方法
由於我們無法監視redo log檔案的變化,所以我們無法獲得redo log的內容,而且redo
log檔案內容加密,我們無法解密,所以我的想法是透過logminer來解析oracle的redo
log,利用logminer的優點是:
1.我們可以傳入當前的redo log解析,準實時的獲得DML語句.
2.我們再解析redo log的時候可以加上時間和SCN的約束,使logminer的解析加快.
3.獲得SQL語句,使放在SGA區的,隨著下一次的解析或者程式的退出,動態表的資料也會丟失,也就是基於session級,因此不必害怕資料的不正
確.
缺點:
1.logminer安裝包僅僅再oracle8i以後才有,所以以前的,必須手動copy安裝.
2.獲得sql的時間是準實時的,速度比shareplex較慢.
3.依賴於資料庫,需要對資料庫的初始話引數修改.
既然說道了logminer,我就列出其安裝過程:
要安裝LogMiner工具,必須首先要執行下面這樣兩個指令碼,
l $ORACLE_HOME/rdbms/admin/dbmslm.sql
2 $ORACLE_HOME/rdbms/admin/dbmslmd.sql.
建立資料字典的目的就是讓LogMiner引用涉及到內部資料字典中的部分時為他們實際的名字,而不是系統內部的16進位制。資料字典檔案是一個文字檔案,
使用包DBMS_LOGMNR_D來建立。如果我們要分析的資料庫中的表有變化,影響到庫的資料字典也發生變化,這時就需要重新建立該字典檔案。另外一種
情況是在分析另外一個資料庫檔案的重作日誌時,也必須要重新生成一遍被分析資料庫的資料字典檔案。
首先在init.ora初始化引數檔案中,指定資料字典檔案的位置,也就是新增一個引數UTL_FILE_DIR,該引數值為伺服器中放置資料字典文
件的目錄。如:
UTL_FILE_DIR = (e:\Oracle\logs)
重新啟動資料庫,使新加的引數生效,然後建立資料字典檔案:
SQL> CONNECT SYS
SQL> EXECUTE dbms_logmnr_d.build(
dictionary_filename => ' v816dict.ora',
dictionary_location => 'e:\oracle\logs');
2、建立要分析的日誌檔案列表
> Oracle的重作日誌分為兩種,線上(online)和離線
(offline)歸檔日誌檔案,下面就分別來討論這兩種不同日誌檔案的列表建立。
(1)分析線上重作日誌檔案
A. 建立列表
SQL> EXECUTE dbms_logmnr.add_logfile(
LogFileName=>' e:\Oracle\oradata\sxf\redo01.log',
Options=>dbms_logmnr.new);
B. 新增其他日誌檔案到列表
SQL> EXECUTE dbms_logmnr.add_logfile(
LogFileName=>' e:\Oracle\oradata\sxf\redo02.log',
Options=>dbms_logmnr.addfile);(2)分析離線日誌檔案
A.建立列表
SQL> EXECUTE dbms_logmnr.add_logfile(
LogFileName=>' E:\Oracle\oradata\sxf\archive\ARCARC09108.001',
Options=>dbms_logmnr.new);
B.新增另外的日誌檔案到列表
SQL> EXECUTE dbms_logmnr.add_logfile(
LogFileName=>' E:\Oracle\oradata\sxf\archive\ARCARC09109.001',
Options=>dbms_logmnr.addfile);關於這個日誌檔案列表中需要分析日誌檔案的個數完全由你自己決定,但這裡建議最
好是每次只新增一個需要分析的日誌檔案,在對該檔案分析完畢後,再新增另外的檔案。
和新增日誌分析列表相對應,使用過程 'dbms_logmnr.removefile'
也可以從列表中移去一個日誌檔案。下面的例子移去上面新增的日誌檔案e:\Oracle\oradata
\sxf\redo02.log。
SQL> EXECUTE dbms_logmnr.add_logfile(
LogFileName=>' e:\Oracle\oradata\sxf\redo02.log',
Options=>dbms_logmnr. REMOVEFILE);
建立了要分析的日誌檔案列表,下面就可以對其進行分析了。
3、使用LogMiner進行日誌分析
(1)無限制條件
SQL> EXECUTE dbms_logmnr.start_logmnr(
DictFileName=>' e:\oracle\logs\
v816dict.ora ');
(2)有限制條件
透過對過程DBMS_
LOGMNR.START_LOGMNR中幾個不同引數的設定(引數含義見表1),可以縮小要分析日誌檔案的範圍。透過設定起始時間和終止時間引數我們可
以限制只分析某一時間範圍的日誌。如下面的例子,我們僅僅分析2001年9月18日的日誌,:
SQL> EXECUTE dbms_logmnr.start_logmnr(
DictFileName => ' e:\oracle\logs\
v816dict.ora ',
StartTime => to_date('2001-9-18 00:00:00','YYYY-MM-DD HH24:MI:SS')
EndTime => to_date(''2001-9-18 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);
4、觀察分析結果(v$logmnr_conte
nts)
到現在為止,我們已經分析得到了重作日誌檔案中的內容。動態效能檢視v$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';
安裝完logminer,我們就可以獲得變化的DML SQL語句,那麼我們就可以透過occi或者proc去獲得變化的sql語句,透過unix
c解析config的檔案,congfig檔案中記載了表名和資料庫的源端和目標端資訊以及解析的其他條件.
使用occi或proc的目的是加快速度,利用unxi c解析配置檔案也是提高速度.
到此為止,一個資料複製的工具產生.
come from:廣告.com/blog/499365
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90618/viewspace-660550/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- LOGMINER日誌分析
- 日誌分析logmnr (Logminer) 使用方法
- logminer 日誌分析案例
- oracle 9i logminer日誌分析01Oracle
- ORACLE logminer 日誌挖掘Oracle
- ORACLE的日誌挖掘 logminerOracle
- 分析資料庫日誌(LogMiner)資料庫
- LogMiner日誌分析工具說明
- 使用logminer分析歸檔日誌案例
- Oracle listener log 日誌分析方法Oracle
- 【REDO】Oracle 日誌挖掘,分析歸檔日誌線上日誌主要步驟Oracle
- Logminer日誌挖掘
- Logminer簡單分析日誌的實驗
- logminer抽取日誌案例
- 離線日誌採集流程
- oracle 11g logminer 進行日誌挖掘Oracle
- 使用Oracle的logminer工具進行日誌挖掘Oracle
- 使用Oracle 10g的Logminer挖掘日誌Oracle 10g
- logmnr分析線上重做日誌
- 使用Logminer來分析具體的DML操作日誌
- logminer日誌挖掘技術
- Logminer如何檢視日誌
- 離線日誌釋出測試
- oracle線上調整重做日誌Oracle
- ORACLE使用LogMiner分析重做日誌檔案全部步驟(WINDOWS NT CHINESE VERSION) (轉)OracleWindows
- logminer日誌挖掘操作步驟
- logminer異機挖掘歸檔日誌
- oracle 日誌檢視方法Oracle
- 日誌分析-apache日誌分析Apache
- 有條件分析oracle日誌Oracle
- Spark SQL:實現日誌離線批處理SparkSQL
- oracle效能調優:管理oracle日誌之調整線上日誌檔案Oracle
- 終止oracle日誌分析事務Oracle
- 深入分析Oracle日誌檔案Oracle
- 網際網路大資料日誌收集離線實時分析實戰案例大資料
- logminer是否可以分析從其他資料庫拷貝過來的日誌資料庫
- oracle日誌分析從列表中移去一個日誌檔案Oracle
- 從Logminer日誌挖掘中找出可疑的操作