使用logminer分析oracle日志文件

使用logminer分析oracle日志文件

一,介绍logminer

         日志文件中存放着所有进行数据库恢复的数据,记录了针对数据库结构的每一个变化,也就是对数据库操作的所有DML语句。

logminer 工具即可以用来分析在线,也可以用来分析离线日志文件,即可以分析本身自己数据库的重作日志文件,也可以用来分析其他数据库的重作日志文件。

二,应用场景

         1,查看数据库的操作记录 

2,对用户的操作进行回退,特别是在没有备份的情况下

三,相关过程和视图

      logmnr包含两个PL/SQL包和几个视图

         dbms_logmnr_d包:用于提取字典信息到外部平面文件或者是联机日志中去

         dbms_logmnr包,主要包括三个过程

1,  add_logfile:主要用来添加、删除用于分析的日志文件

2start_logmnr:用来开启日志分析

3end_logmnr:用来关闭日志分析,它将回收logminer所占的内存

执行以上的包必须有sys权限

相关的数据字典:

v$logmnr_dictionary: Logminer可能使用的数据字典信息

v$logmnr_parameters:当前logminer所设的参数信息

v$logmnr_contents:日志分析结果

这些数据字典是和session相关的,只能在当前session看到。如果想保存结果,可以使用create  table  a as select * from v$logmnr_contents的方式来保存

四,分析过程:

1, 执行脚本

运行下面这样两个脚本,

l $ORACLE_HOME/rdbms/admin/dbmslm.sql

2 $ORACLE_HOME/rdbms/admin/dbmslmd.sql

3 $ORACLE_HOME/rdbms/admin/dbmslms.sql

2,设置参数UTL_FILE_DIR

alter system set UTL_FILE_DIR ='/oracle/logminer' scope=spfile;,然后重新启动机器

3,生成dict文件

execute DBMS_LOGMNR_D.BUILD(dictionary_filename  => 'dictionary.ora',dictionary_location 

 => '/usr/tmp');

4, 添加log文件

begin dbms_logmnr.add_logfile(options=>dbms_logmnr.new,logfilename=>'/oracle/product/9.2.0/dbs/arch/1_17.arc');end;

5, 查询添加结果

select low_time,high_time,low_scn,next_scn from v$logmnr_logs;

6, 开始生成

begin dbms_logmnr.start_logmnr(dictfilename=>'/oracle/dictionary.ora');end;

/

7,查看log内容

select * from v$v$logmnr_contents;

 

更详细的步骤可以参照http://oracle.chinaitlab.com/induction/725752.html

 

你可能感兴趣的:(使用logminer分析oracle日志文件)