Oracle 10g Logminer 研究及測試__Oracle

來源:互聯網
上載者:User

  LogMiner提供了一個處理重做記錄檔並將其內容翻譯成代表對資料庫的邏輯操作的SQL語句的過程。LogMiner運行在Oracle版本8.1或者更高版本中。

 

 

一,如何使用Logminer:   

先要安裝logminer的兩個包;以SYS使用者運行下面兩個指令碼,其中第一個指令碼dbmslm.sql用來建立DBMS_LOGMNR包,該包用來分析記錄檔。第二個指令碼dbmslmd.sql用來建立DBMS_LOGMNR_D包,該包用來建立資料字典檔案。 

D:/oracle/product/10.2.0/db_1/RDBMS/ADMIN>sqlplus /nolog

SQL*Plus: Release 10.2.0.4.0 - Production on星期五4月10 17:49:02 2009

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

SQL> conn sys/oracle as sysdba

已串連。

SQL>

SQL> @dbmslm.sql

程式包已建立。

授權成功。

SQL>

SQL> @dbmslmd.sql

程式包已建立。

 

 

 

二,建立資料字典檔案 

    資料字典檔案是一個文字檔,使用包DBMS_LOGMNR_D來建立,如果我們要分析的資料庫中的表有變化(比如表結構有變化等),影響到庫的資料字典也發生變化。另外一種情況是在分析另外一個資料庫檔案的重做日誌時,也必須要重建一遍被分析資料庫的資料字典檔案。 

首先需要修改參數UTL_FILE_DIR ,該參數值為伺服器中放置資料字典檔案的目錄,10g中我們通過動態修改參數的方式來修改,然後重新啟動資料庫生效。其中logs_utl_file目錄先期建立好。

SQL> alter system set UTL_FILE_DIR='d:/oracle/product/10.2.0/oradata/test/logs_utl_file' scope=spfile;                                                                                                                                        系統已更改。                                                          

SQL> shutdown immediate

資料庫已經關閉。

已經卸載資料庫。

ORACLE常式已經關閉。

SQL>

SQL> startup

ORACLE常式已經啟動。

Total System Global Area 167772160 bytes

Fixed Size                 1295608 bytes

Variable Size            125831944 bytes

Database Buffers          33554432 bytes

Redo Buffers               7090176 bytes

資料庫裝載完畢。

資料庫已經開啟。

SQL>

SQL> show parameter UTL_FILE

NAME                                TYPE

------------------------------------ -------------

VALUE

------------------------------

utl_file_dir                        string

d:/oracle/product/10.2.0/orada

ta/test/logs_utl_file

SQL>

 

 

然後建立資料字典檔案:

BEGIN

dbms_logmnr_d.build(

dictionary_filename => ' logminer_dict.ora', 

dictionary_location => ' D:/oracle/product/10.2.0/oradata/test/logs_utl_file');

END;

/

OK ,可以看到在logs_ult_file中已經產生了logminer_dict.ora資料字典檔案。資料字典檔案是可以開啟的文字檔。有興趣可以開啟看看。

建立資料字典是讓logminer引用實際到內部資料字典中的部分是使用對象的名稱,而不是系統內部的16進位的ID. 

 

 

 

三,建立要分析的記錄檔(線上日誌或歸檔日誌)的列表

(1)分析線上的重做日誌

A。建立列表

SQL> execute dbms_logmnr.add_logfile(LogFileName=>'d:/oracle/product/10.2.0/orad

ata/test/redo01.log', options=>dbms_logmnr.new);

PL/SQL過程已成功完成。

B。添加其他日至檔案到列表 

SQL> execute dbms_logmnr.add_logfile(LogFileName=>'d:/oracle/product/10.2.0/orad

ata/test/redo02.log', options=>dbms_logmnr.addfile);

PL/SQL過程已成功完成。

 

SQL> execute dbms_logmnr.add_logfile(LogFileName=>'d:/oracle/product/10.2.0/orad

ata/test/redo03.log', options=>dbms_logmnr.addfile);

PL/SQL過程已成功完成。

 

(2)分析歸檔的重做日誌 

A。建立列表

SQL> execute dbms_logmnr.add_logfile(LogFileName=>'d:/oracle/product/10.2.0/orad

ata/archive/ARC00052_0684166863.001', options=>dbms_logmnr.new);

PL/SQL過程已成功完成。

B。添加其他記錄檔到列表 

SQL> execute dbms_logmnr.add_logfile(LogFileName=>'d:/oracle/product/10.2.0/orad

ata/archive/ARC00053_0684166863.001', options=>dbms_logmnr.addfile);

PL/SQL過程已成功完成。 

 

如果你覺得不需要分析已經在列表中的線上或歸檔日誌,可以通過removefile命令刪除:

SQL> execute dbms_logmnr.add_logfile(LogFileName=>'d:/oracle/product/10.2.0/orad

ata/archive/ARC00053_0684166863.001', options=>dbms_logmnr.removefile);

PL/SQL過程已成功完成。

 

 

 

四,使用Logminer進行日誌分析

 

無限制條件:

SQL> execute dbms_logmnr.start_logmnr(DictFileName=> 'D:/oracle/product/10.2.0/o

radata/test/logs_utl_file/logminer_dict.ora') ;

PL/SQL過程已成功完成。

 

有限制條件:

通過對過程DBMS_LOGMNR.START_LOGMNR中的時間或者SCN參數的設定,可以縮小分析記錄檔的範圍:

如我們僅僅分析2009年2月23日到2005年7月26日的日誌:

SQL> execute dbms_logmnr.start_logmnr(

DictFileName => ' D:/oracle/product/10.2.0/o

radata/test/logs_utl_file/logminer_dict.ora ',

StartTime => to_date('2009-2-23 00:00:00','YYYY-MM-DD HH24:MI:SS')

EndTime => to_date(''2009-2-26 23:59:59','YYYY-MM-DD HH24:MI:SS ')); 

 

相關的參數如下:

參數參數類型預設值含義

StartScn數字型0分析重作日誌中

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.