LogMiner 由兩個 PL/SQL 套件與四個動態視圖組成:
DBMS_LOGMNR:核心分析引擎DBMS_LOGMNR_D:資料字典匯出工具DBMS_LOGMNR.START_LOGMNR 時建立 V$LOGMNR_* 視圖無字典檔時,LogMiner 輸出內部物件 ID 與 16 進制值:
-- 原始 SQL
INSERT INTO dm_dj_swry (rydm, rymc) VALUES (00005, '張三');
-- 無字典輸出
INSERT INTO "Object#308"("Col#1","Col#2") VALUES (HEXTORAW('c30rte567e436'), HEXTORAW('4a6f686e20446f65'));
建立字典檔可將物件編號還原為名稱,16 進制還原為可讀值。
init.ora 設定 UTL_FILE_DIR 指定目錄權限:
UTL_FILE_DIR = (E:\Oracle\logs)
CONNECT SYS
EXECUTE DBMS_LOGMNR_D.BUILD(
DICTIONARY_FILENAME => 'v816dict.ora',
DICTIONARY_LOCATION => 'E:\Oracle\logs'
);
EXECUTE DBMS_LOGMNR.START_LOGMNR(
DICTIONARY_FILENAME => 'v816dict.ora',
DICTIONARY_LOCATION => 'E:\Oracle\logs',
STARTSCN => 123456, -- 可選:起始 SCN
ENDSCN => 789012 -- 可選:結束 SCN
);
| 視圖 | 用途 |
|---|---|
| V$LOGMNR_CONTENTS | 重做記錄詳細內容 (SQL_REDO, SQL_UNDO, SEG_NAME 等) |
| V$LOGMNR_DICTIONARY | 字典檔資訊 |
| V$LOGMNR_LOGS | 已加入分析的日志檔清單 |
| V$LOGMNR_PARAMETERS | 當前啟動參數 |