首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

分析 Oracle 資料庫日誌檔案 (2):跨版本使用 LogMiner 與 v$logmnr_contents 進階查詢

     編輯:Oracle 資料庫基礎

跨版本使用 LogMiner 分析 Oracle 8 日誌

LogMiner 為 Oracle 8i 引入,但可用於分析 Oracle 8 的歸檔日誌,步驟如下:

  1. 將 Oracle 8i 的 $ORACLE_HOME/rdbms/admin/dbmslmd.sql (8.1.5 為 dbmslogmnrd.sql) 複製至 Oracle 8 主機同目錄。
  2. 在 Oracle 8 執行該腳本,建立 DBMS_LOGMNR_D 套件 (9i 另含 DBMS_LOGMNR)。
  3. 執行 DBMS_LOGMNR_D.BUILD 產生字典資訊檔。
  4. 將 Oracle 8 歸檔日誌與字典檔複製至 Oracle 8i/9i 主機。
  5. 在目標資料庫從「添加日誌檔」步驟開始分析,START_LOGMNR 指定 Oracle 8 的字典檔。

若不需字典轉換 (直接看內部 ID),可直接複製歸檔日誌至高版本資料庫分析。

跨平台限制 (重要)

  1. 字典檔與日誌必須同源資料庫產生,且字元集需相同,否則無對應關係。
  2. 硬體平台必須一致 (如同為 Tru64 UNIX),作業系統次版本可不同。平台不同時會報 ORA-01284 / ORA-27048:檔頭資訊無效。

深入分析 v$logmnr_contents

LogMiner 分析結果儲存於 V$LOGMNR_CONTENTS 視圖,關鍵欄位包括:

  • SQL_REDO:重構的等價 SQL (非原始 SQL,如單一 DELETE 可能拆解為多條)。
  • SQL_UNDO:回滾用的反向 SQL。
  • OPERATION:INSERT/UPDATE/DELETE/DDL 等操作類型。
  • SCN、TIMESTAMP、USERNAME、SEG_NAME、TABLE_SPACE 等。

可依業務需求撰寫查詢,追蹤特定使用者、時間區間、資料表的變更歷程,支援事後稽核、誤操作復原、變更分析等場景。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved