熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle的日志挖掘

2022-06-13   來源: Oracle 

  日志挖掘(LogMnr)

  ①在參數文件中設置utl_file_dir路徑

  ②重啟

  ③創建directory file使用execute dbms_logmnr_dbuild()

  ④添加日志文件使用dbms_logmnradd_logfile

  或刪除日志文件使用dbms_logmnrremovefile

  ⑤啟動logmnr使用dbms_logmnrstart_logmnr

  ⑥查詢使用V$logmnr_contents(sqlredo/sqlundo)

  設置utl_file_dir目錄

  alter system set utl_file_dir=D:\app\Leo\utl_file_dir scope=spfile;

  建立日志挖掘的數據字典

  execute dbms_logmnr_dbuild(shwdictoraD:\app\Leo\utl_file_dir); //第二個參數要與參數utl_file_dir的設置完全匹配

  無此包則需執行@d:\oracle\ora\rdbms\admin\dbmslmdsql;

  創建分析的文件列表(可以是在線或歸檔日志)

  execute dbms_logmnradd_logfile(D:\app\Leo\archivelog\ARC_dbms_logmnrnew);

  execute dbms_logmnradd_logfile(D:\app\Leo\archivelog\ARC_dbms_logmnraddfile);

  execute dbms_logmnradd_logfile(D:\app\Leo\archivelog\ARC_dbms_logmnraddfile);

  optionnew創建一個新的日志列表addfile向列表中添加日志文件

  remove_logfile刪除

  在視圖v$logmnr_logs中可以看到添加的日志列表

  select log_idfilename from v$logmnr_logs;

  開始分析

  execute dbms_logmnrstart_logmnr(dictfilename=>D:\app\Leo\utl_file_dir\shwdictora);

  execute dbms_logmnrstart_logmnr(dictfilename=>d:\oracle\shwdictorastartscn=>xxxxxxendscn=>xxxxxstarttime=>to_date( ::yyyymmdd hh:mi:ss) endtime=>to_date( ::yyyymmdd hh:mi:ss));

  沒有建立數據字典使用dbms_logmnrdict_from_online_catalog選項參數則logminer期望在所指定的dbms_logmnradd_logfile或重做日志中找到數據字典

  exec sysdbms_logmnrstart_logmnr(options=>sysdbms_logmnrdict_from_online_catalog);

  查詢分析內容

  select to_char(timestampyyyymmdd hh:mi:ss) timesql_redo from v$logmnr_contents where seg_owner=SCOTT;

  結束分析

  execute dbms_logmnrend_logmnr;

  部分日志歸檔不出的解決

  ①將數據庫至於force logging模式

  alter database force logging;

  select force_logging from v$database;

  ②查看表是否處於歸檔模式

  select table_namelogging from user_tables;

  ③查看數據庫是否處於啟用了補充日志(啟動了則每條update寫redo時會附加列值唯一信息)

  SQL> select supplemental_log_data_pksupplemental_log_data_ui from v$database;

  SUPPLEMENTAL_LOG_DATA_PK SUPPLEMENTAL_LOG_DATA_UI

  

  NO NO

  SQL> alter database add supplemental log data (primary keyunique index) columns;

  Database altered

  SQL> select supplemental_log_data_pksupplemental_log_data_ui from v$database;

  SUPPLEMENTAL_LOG_DATA_PK SUPPLEMENTAL_LOG_DATA_UI

  

  YES YES


From:http://tw.wingwit.com/Article/program/Oracle/201311/17087.html
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.