雖然說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。如果操作系統不一致則會出現下面的錯誤:
五、分析v$logmnr_contents
前面我們已經知道了LogMiner的分析結果是放在v$logmnr_contents中,這裡面有很多信息,我們可以根據需要追蹤我們感興趣的信息。