1.建立DBMS_LOGMNR包
以下目錄為ORACLE伺服器端的安裝目錄
SQL>@D:/oracle/product/10.2.0/db_1/rdbms/admin/dbmslm.sql
2.建立相關資料字典
SQL>@D:/oracle/product/10.2.0/db_1/rdbms/admin/dbmslmd.sql
3.修改初始化參數UTL_FILE_DIR,指定分析資料的存放處
SQL>alter system set UTL_FILE_DIR='C:/oralog/logs' scope=spfile;
4.重啟資料庫
SQL>shutdown immediate
SQL>startup
startup mount;
5.建立資料字典檔案
SQL>execute dbms_logmnr_d.build(dictionary_filename =>'sqltrace.ora',dictionary_location =>'C:/oralog/logs');
6.建立日誌分析表
SQL> execute dbms_logmnr.add_logfile(options =>dbms_logmnr.new,logfilename =>'D:/oracle/product/10.2.0/oradata/oracle/REDO01.LOG');
7.添加用於分析的記錄檔
SQL> execute dbms_logmnr.add_logfile(options =>dbms_logmnr.addfile,logfilename=>'D:/oracle/product/10.2.0/oradata/oracle/REDO02.LOG');
SQL> execute dbms_logmnr.add_logfile(options =>dbms_logmnr.addfile,logfilename =>'D:/oracle/product/10.2.0/oradata/oracle/REDO03.LOG');
execute dbms_logmnr.add_logfile(options =>dbms_logmnr.addfile,logfilename =>'D:/oracle/product/10.2.0/flash_recovery_area/ORACLE/archivelog/2008_02_02/O1_MF_1_18_3T7RG1QX_.ARC');
刪除
SQL> execute dbms_logmnr.add_logfile(options =>dbms_logmnr.removefile,logfilenam
e =>'/opt/oracle/ora92/rdbms/ARC00011.001');
8.啟動LogMiner進行分析
SQL> execute dbms_logmnr.start_logmnr(dictfilename =>'C:/oralog/logs/sqltrace.ora',starttime =>to_date('2004062509:00:00','yyyymmdd hh24:mi:ss'),endtime =>to_date('20040625 22:00:00','yyyymmdd hh24:mi:ss'));
或者
SQL> execute dbms_logmnr.start_logmnr(dictfilename =>'C:/oralog/logs/sqltrace.ora')
execute dbms_logmnr.add_logfile(options => dbms_logmnr.addfile,logfilename =>'D:/oracle/product/10.2.0/flash_recovery_area/ORACLE/archivelog/2008_02_02/O1_MF_1_18_3T7RG1QX_.ARC');
dbms_logmnr.add_logfile(options => dbms_logmnr.addfile,logfilename =>'D:/oracle/product/10.2.0/flash_recovery_area/ORACLE/archivelog/20080128/28.arc');
9.參看分析結果
select operation,sql_redo,sql_undo,TIMESTAMP from v$logmnr_contents where username='test' or table_name='TEST1' and timestamp>to_date('2008-01-28 09:00:00','yyyy-mm-dd hh24:mi:ss');
select username,count(username) from v$logmnr_contents group by username
查看有幾個記錄檔
select member from v$logfile;
查看logminner正在操作哪個記錄檔
select filename from v$logmnr_logs;
10.結束分析
SQL> execute dbms_logmnr.end_logmnr;
一旦結束視圖v$logmnr_contents中的分析結果也隨之不再存在。