程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 詳談Oracle LogMiner工具

詳談Oracle LogMiner工具

編輯:Oracle數據庫基礎

學習Oracle時,經常會遇到使用Oracle LogMiner工具問題,下面將詳細介紹如何使用Oracle LogMiner工具。

創建數據字典文件(data-dictionary)

Oracle LogMiner工具實際上是由兩個新的PL/SQL內建包((DBMS_LOGMNR 和 DBMS_ LOGMNR_D)和四個V$動態性能視圖(視圖是在利用過程DBMS_LOGMNR.START_LOGMNR啟動LogMiner時創建)組成。在使用Oracle LogMiner工具分析redo log文件之前,可以使用DBMS_LOGMNR_D 包將數據字典導出為一個文本文件。該字典文件是可選的,但是如果沒有它,LogMiner解釋出來的語句中關於數據字典中的部分(如表名、列名等)和數值都將是16進制的形式,我們是無法直接理解的。例如,下面的sql語句:

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

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

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

創建數據字典的目的就是讓LogMiner引用涉及到內部數據字典中的部分時為他們實際的名字,而不是系統內部的16進制。數據字典文件是一個文本文件,使用包DBMS_LOGMNR_D來創建。如果我們要分析的數據庫中的表有變化,影響到庫的數據字典也發生變化,這時就需要重新創建該字典文件。另外一種情況是在分析另外一個數據庫文件的重作日志時,也必須要重新生成一遍被分析數據庫的數據字典文件。

首先在init.ora初始化參數文件中,指定數據字典文件的位置,也就是添加一個參數UTL_FILE_DIR,該參數值為服務器中放置數據字典文件的目錄。如:

  1. UTL_FILE_DIR = (e:\Oracle\logs) 

重新啟動數據庫,使新加的參數生效,然後創建數據字典文件:

  1. SQL> CONNECT SYS  
  2. SQL> EXECUTE dbms_logmnr_d.build(  
  3. dictionary_filename => ' v816dict.ora',  
  4. dictionary_location => 'e:\Oracle\logs'); 

以上介紹使用Oracle LogMiner工具。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved