龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

Oracle LogMiner工具的具体使用方法

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
我们今天主要向大家介绍的是 Oracle LogMiner工具的具体的使用方法,我们大家都知道Logminer(DBMS_LOGMNR和DBMS_LOGMNR_D)package,其可以用来对Oracle的重做日志文件进行分析。Logminer是Oracle 从

我们今天主要向大家介绍的是Oracle LogMiner工具的具体的使用方法,我们大家都知道Logminer(DBMS_LOGMNR和DBMS_LOGMNR_D)package,其可以用来对Oracle的重做日志文件进行分析。Logminer是Oracle 从8i开始提供的工具。

我们可以使用logminer分析其它instance(版本可不一致)的重做日志文件,但是必须遵循以下要求:

1.LogMiner日志分析工具仅能够分析Oracle 8以后的产品

2.LogMiner必须使用被分析数据库实例产生的字典文件,且安装LogMiner数据库的字符集必须和被分析数据库的字符集相同

3.被分析数据库平台必须和当前LogMiner所在数据库平台一样,且block size相同。

使用logminer

1.安装logminer:

要安装Oracle LogMiner工具,必须首先要运行下面这样两个脚本,

  1. $ORACLE_HOME/rdbms/admin/dbmslm.sql  
  2. $ORACLE_HOME/rdbms/admin/dbmslmd.sql. 

这两个脚本必须均以SYS用户身份运行。

2.创建数据字典文件

首先在init.ora初始化参数文件中,添加参数UTL_FILE_DIR,该参数值为服务器中放置数据字典文件的目录。如:

  1. UTL_FILE_DIR = (D:\Oracle\logs) 

重新启动数据库,使新加的参数生效,然后创建数据字典文件:

  1. SQL> EXECUTE dbms_logmnr_d.build(  
  2. dictionary_filename => ' logmn_ora817.dat',  
  3. dictionary_location => ' D:\Oracle\logs '); 

创建数据字典是让LogMiner引用涉及到内部数据字典中的部分时使用对象的名称,而不是系统内部的16进制的ID。如果我们要分析的数据库中的表有变化,影响到库的数据字典也发生变化,就需要重新创建该字典。

3.添加要分析的日志文件

Oracle Logminer工具可以用来分析在线的重做日志文件和归档日志文件,但是我们一般建议使用归档的日志文件。

a.添加新的日志文件:

  1. SQL> EXECUTE dbms_logmnr.add_logfile(  
  2. LogFileName=>' D:\database\oracle\oradata\ora817\archive 
    \ ARC01491.001 ', 
    Options=>dbms_logmnr.new); 

b.添加另外的日志文件到列表

  1. SQL> EXECUTE dbms_logmnr.add_logfile(  
  2. LogFileName=>' D:\database\oracle\oradata\ora817\archive 
    \ ARC01491.002', 
    Options=>dbms_logmnr.addfile); 

c. 移去一个日志文件

  1. SQL> EXECUTE dbms_logmnr.add_logfile(  
  2. LogFileName=>' D:\database\oracle\oradata\ora817\archive 
    \ ARC01491.002', 
    Options=>dbms_logmnr. REMOVEFILE); 

创建了要分析的日志文件,就可以对其进行分析。

4. 进行日志分析

  1. SQL> EXECUTE dbms_logmnr.start_logmnr(  
  2. DictFileName=>' D:\Oracle\logs\ logmn_ora817.dat '); 

可以使用相应的限制条件:

时间范围:对dbms_logmnr.start_logmnr使用StartTime和EndTime参数

SCN范围:对dbms_logmnr.start_logmnr使用StartScn和EndScn参数

5.观察结果:

主要是查询v$logmnr_contents:

  1. SQL> desc v$logmnr_contents;  

上述的相关内容就是对Oracle LogMiner工具的使用方法的描述,希望会给你带来一些帮助在此方面。

精彩图集

赞助商链接