一、 安装LogMiner工具,以下两个脚本以SYSDBA身份运行
@$Oracle_HOME\rdbms\admin\dbmslm.sql;
@ $ORACLE_HOME\rdbms\admin\dbmslmd.sql;
第一个脚本用来创建DBMS_LOGMNR包,该包用来分析日志文件。
第二个脚本用来创建DBMS_LOGMNR_D包,该包用来创建数据字典文件。
二、创建数据字典文件(data-dictionary)
1、创建logmnr目录
Mkdir –p /u01/app/oracle/logmnr
2、修改spfile参数:utl_file_dir
Alter system set utl_file_dir=’/u01/app/oracle/logmnr’ scope=spfile;
3、发生误操作
4、做日志切换
Alter system switch logfile;
5、创建字典文件的存放位置
Execute dbms_logmnr_d.build(dictionary_filename =>’dictionary.ora’,dictionary_location=>’/u01/app/oracle/logmnr’);
6、创建分析列表,即所要分析的日志(误操作时的归档日志)
Exec dbms_logmnr.add_logfile(LogFileName =>’/u01/********.dbf’,Option =>dbms_logmnr.NEW);
7、添加分析日志文件,一次添加1个为宜 SQL> execute dbms_logmnr.add_logfile(LogFileName => 'G:\ORACLE\ORADATA\ORADBSP\REDO05.LOG',Options => dbms_logmnr.ADDFILE);
8、查看v$lognmr_logs记录(查看记录是否被添加)
Select * from v$logmnr_logs;
三、使用logMiner进行日志分析
1、无限制条件,即用数据字典文件对要分析的日志文件所有内容做分析 SQL> execute dbms_logmnr.start_logmnr(DictFileName => 'G:\oracle\logs\dict.ora');
2、带限制条件,可以用scn号或时间做限制条件,也可组合使用
--分析日志列表中时间从07.02.28从10:00到15:00的内容 SQL> execute dbms_logmnr.start_logmnr(startTime => to_date('20070228100000','yyyy-mm-dd hh24:mi:ss'),endTime => to_date('20070228150000','yyyy-mm-dd hh24:mi:ss'),DictFileName => 'G:\oracle\logs\dict.ora');
3、查看v$logmnr_contents记录
Select count(*) from v$logmnr_contents;
4、分析后释放内存
SQL> execute dbms_logmnr.end_logmnr;
5、删除日志分析文件
1).删除日志分析文件 exec dbms_logmnr.add_logfile('G:\ORACLE\ORADATA\ORADBSP\REDO04.LOG',dbms_logmnr.removefile);
注:在分析另外一个数据库文件的重作日志时,也必须要重新生成一遍被分析数据库的数据字典文件。
在使用 LogMiner 工具分析 redo log 文件之前,可以使用 DBMS_LOGMNR_D 包将数据字典导出为一个文本文件。来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/543979/viewspace-703033/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/543979/viewspace-703033/