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中的分析结果也随之不再存在。