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

Oracle LogMiner 使用方法完整總結

     編輯:Oracle 資料庫基礎

LogMiner 簡介

dbms_logmnr 套件 (8i 引入) 可分析線上/歸檔 Redo Log,將資訊轉存至 v$logmnr_contents,取得資料庫歷史 DML 操作與 SQL 陳述式。亦可分析 Oracle 8 的 Log。

操作步驟

  1. 設定 utl_file_dir 並重啟資料庫:
    utl_file_dir=d:\oracle (對應實際路徑)
  2. 建立資料字典檔:
    EXEC dbms_logmnr_d.build('shwdict.ora', 'D:\oracle');
    若缺套件執行 @dbmslmd.sql,遇陣列越界修改 TYPE col_desc_array IS VARRAY(1513) OF col_description 後重跑。
  3. 加入分析日誌檔:
    EXEC dbms_logmnr.add_logfile('d:\Oracle\oradata\shw\redo01_1.log', dbms_logmnr.new);
    EXEC dbms_logmnr.add_logfile('...\redo02_1.log', dbms_logmnr.addfile);
    移除用 dbms_logmnr.removefile。查詢已加入清單:SELECT * FROM v$logmnr_logs; (同一 Session)。
  4. 設定 Session 時間格式:
    ALTER SESSION SET nls_date_format='yyyy-mm-dd hh24:mi:ss';
  5. 查詢日誌 SCN/時間範圍:
    SELECT low_time, high_time, low_scn, next_scn FROM v$logmnr_logs;
  6. 啟動分析:
    EXEC dbms_logmnr.start_logmnr(dictfilename=>'d:\Oracle\shwdict.ora', startscn=>xxx, endscn=>xxx, starttime=>to_date('20030501 12:15:00','yyyymmdd hh24:mi:ss'), endtime=>to_date('20030501 15:40:30','yyyymmdd hh24:mi:ss'));
  7. 查詢結果:
    SELECT scn, timestamp, session#, sql_redo FROM v$logmnr_contents ORDER BY 1;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved