程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 分析Oracle數據庫日志文件--(2)

分析Oracle數據庫日志文件--(2)

編輯:Oracle數據庫基礎

雖然說LogMiner是Oracle8i才推出來,但我們同樣可以用它來分析Oracle8的日志文件,只不過稍微麻煩了一點,並且有一定的限制,下面是具體做法:

我們首先復制Oracle8i的$ORACLE_HOME/rdbms/admin/dbmslmd.sql腳本到Oracle8數據庫所在主機的同樣目錄;這個腳本用於創建dbms_logmnr_d包(注意,Oracle9i中還將創建dbms_logmnr包),如果是8.1.5腳本名字為dbmslogmnrd.sql。然後在Oracle8的數據庫上運行這個腳本,之後使用dbms_logmnr_d.build過程創建字典信息文件。現在我們就可以把Oracle8的歸檔日志連同這個字典信息文件復制到Oracle8i數據庫所在的主機上,之後在Oracle8i數據庫中從上面分析過程的第三步開始分析Oracle8的日志,不過

dbms_logmnr.start_logmnr()中使用的是Oracle8的字典信息文件。

按照我前面所說的那樣,如果不是字典文件,我們則可以直接將Oracle8的歸檔日志復制到Oracle8i數據庫所在主機,然後對它進行分析。

其實這裡涉及到了一個跨平台使用LogMiner的問題,筆者做過試驗,也可以在Oracle9i中來分析Oracle8i的日志。但這些都是有所限制的,主要表現在:

1、LogMiner所使用的字典文件必須和所分析的日志文件是同一個數據庫所產生的,並且該數據庫的字符集應和執行LogMiner數據庫的相同。這很好理解,如果不是同一個數據庫所產生就不存在對應關系了。

2、生成日志的數據庫硬件平台和執行LogMiner數據庫的硬件平台要求一致,操作系統版本可以不一致。筆者做試驗時(如果讀者有興趣可以到我網站http://www.ncn.cn上下載試驗全過程,因為太長就不放在這裡了),所用的兩個數據庫操作系統都是Tru64 UNIX,但一個是 V5.1A,另一個則是V4.0F。如果操作系統不一致則會出現下面的錯誤:

ORA-01284: file /data6/cyx/logmnr/arch_1_163570.arc cannot be opened
ORA-00308: cannot open archived log '/data6/cyx/logmnr/arch_1_163570.arc'
ORA-27048: skgfifi: file header information is invalid
ORA-06512: at "SYS.DBMS_LOGMNR", line 63
ORA-06512: at line 1


五、分析v$logmnr_contents

前面我們已經知道了LogMiner的分析結果是放在v$logmnr_contents中,這裡面有很多信息,我們可以根據需要追蹤我們感興趣的信息。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved