`

使用dbms_logmnr分析oracle日志

阅读更多

使用dbms_logmnr分析oracle日志

1.     安装LogMiner工具,以SYSDBA的身份运行以下两个脚本文件

ORACLE_HOME\rdbms\admin\dbmslm.sql;

ORACLE_HOME\rdbms\admin\dbmslmd.sql;

第一个脚本用来创建DBMS_LOGMNR包,该包用来分析日志文件。

第二个脚本用来创建DBMS_LOGMNR_D包,该包用来创建数据字典文件。

 

2.     授权:

GRANT EXECUTE_CATALOG_ROLE TO USER;

 

3.     准备日志文件

查看当前在线的redo log:

Select * from v$logfile;

查看归档日志文件的路径:

Select name,value from v$parameter t where t.name like ‘%archive_dest%’;

 

4.     添加日志文件到logmnr

BEGIN

SYS.DBMS_LOGMNR.ADD_LOGFILE(‘E:\ORACLE\ORADATA\ORCL\REDO_002.LOG’,SYS.DBMS_LOGMNR.NEW);

SYS.DBMS_LOGMNR.ADD_LOGFILE(‘E:\ORACLE\ORADATA\ORCL\REDO_003.LOG’,SYS.DBMS_LOGMNR.ADDFILE);

END;

(可通过desc sys.dbms_logmnr来查看包sys.dbms_logmnr的过程和常量)

    查看已添加的日志文件

Select * from v$logmnr_logs;

5.     移除日志文件

SYS.DBMS_LOGMNR.ADD_LOGFILE(‘E:\ORACLE\ORADATA\ORCL\REDO_002.LOG’,SYS.DBMS_LOGMNR.REMOVEFILE);

 

6.     Begin a log miner session(START_LOGMNR):

SYS.DBMS_LOGMNR.START_LOGMNR(

Options => sys.dbms_logmnr.DICT_FROM_ONLINE_CATALOG);

或者

dbms_logmnr.start_logmnr(

startTime => to_date('2007-02-28 10:00:00','yyyy-mm-dd hh24:mi:ss'),

endTime => to_date('2007-02-28 15:00:00','yyyy-mm-dd hh24:mi:ss'),

DictFileName => 'G:\oracle\logs\dict.ora');

 

dbms_logmnr.start_logmnr函数的原型为:

  PROCEDURE start_logmnr(

     startScn       IN  NUMBER default 0 ,

     endScn          IN  NUMBER default 0,

     startTime      IN  DATE default '',

     endTime        IN  DATE default '',

     DictFileName  IN  VARCHAR2 default '',

     Options        IN  BINARY_INTEGER default 0 );

 

7.     查看日志内容

Select t.*  From V$LOGMNR_CONTENTS t

 

8.     Competes a log miner session(END_LOGMNR 释放内存):

BEGIN

SYS.DBMS_LOGMNR.END_LOGMNR();

    END;

 

当然也可以使用  LogMinor Viewer工具来查看,启动命令:oemapp.bat lmviewer

 

附:创建数据字典文件(data-dictionary)

    在初始化参数文件中指定数据字典文件的位置,即添加参数UTL_FILE_DIR,该参数为服务器中放置数据字典文件的目录。

    创建数据字典文件:  

SYS.DBMS_LOGMNR_D.BUILD(

dictionary_filename=>’dict.ora’,

dictionary_location=>’E:\oracle\logs’);

创建数据字典的目 : 让LogMiner引用涉及到内部数据字典中的部分时为他们实际的名字,而不是系统内部的16进制。数据字典文件是一个文本文件,使用包DBMS_LOGMNR_D来创建。如果我们要分析的数据库中的表有变化,影响到库的数据字典也发生变化,这时就需要重新创建该字典文件。另外一种情况是在分析另外一个数据库文件的重作日志时,也必须要重新生成一遍被分析数据库的数据字典文件。 在使用LogMiner工具分析redo log文件之前,可以使用DBMS_LOGMNR_D 包将数据字典导出为一个文本文件。该字典文件是可选的,但是如果没有它,LogMiner解释出来的语句中关于数据字典中的部分(如表名、列名等)和数值都将是16进制的形式,我们是无法直接理解的。

 

查看所有与logmnr相关的视图

select * from dict t where t.table_name like '%LOGMNR%'

分享到:
评论

相关推荐

    dbms_logmnr使用

    DBMS_LOGMNR 是 Oracle 中的一个日志分析包,用于分析和解释redo日志文件,以便追踪和诊断数据库中的操作。下面是 DBMS_LOGMNR 的使用方法。 首先,需要安装 LogMiner 工具,包括两个脚本 dbmslm.sql 和 dbmslmd....

    oracle日志分析工具LogMiner使用.

    Oracle 日志分析工具 LogMiner 使用 Oracle 日志分析工具 LogMiner 是 Oracle 数据库中的一种功能强大且灵活的日志分析工具,它可以帮助数据库管理员、开发人员和用户快速地对数据库进行日志分析和问题诊断。下面是...

    Oracle 日志挖掘(LogMiner)使用详解

    Logminer依赖于2个包:DBMS_LOGMNR和DBMS_LOGMNR_D,Oracle 11g默认已安装 Logminer 基本使用步骤 <1>. Specify a LogMiner dictionary. 指定Logminer字典 <2>. Specify a list of redo log files for analysis. ...

    在oracle中Logmnr进行日志挖掘

    下面将详细探讨如何在Oracle中使用Logmnr进行日志挖掘。 ### Logmnr简介 Logmnr是Oracle数据库中的一个包,用于处理重做日志文件,以提取出对数据库所做的所有更改。这些更改可以包括插入、更新和删除操作,通过...

    oracle通过日志查看数据库变更情况.txt

    ### Oracle日志系统概览 Oracle数据库的日志系统主要包括重做日志(Redo Log)和归档日志(Archived Logs)。重做日志记录了对数据库所做的所有修改操作,是实现数据库恢复的关键。当一个事务提交后,其修改操作会...

    logmnr来分析归档日志操作.txt

    本文将详细介绍如何使用LogMiner(LogMiner在Oracle中的简称为LOGMNR)来分析归档日志。 #### 二、LogMiner简介 LogMiner是Oracle数据库提供的一种用于分析重做日志文件和归档日志文件的工具,它可以用来追踪表和...

    Oracle数据库归档日志挖掘步骤

    4. 开始分析:使用 dbms_logmnr.start_logmnr 语句可以开始分析归档日志,例如: ``` begin sys.dbms_logmnr.start_logmnr(options=>sys.dbms_logmnr.dict_from_online_catalog); end; ``` 5. 查看分析结果:使用 ...

    oracle日志分析工具LogMiner的使用

    DBMS_LOGMNR包是LogMiner的主要接口,用于分析日志文件;DBMS_LOGMNR_D包则用于创建数据字典文件。 2. **创建数据字典文件** 数据字典文件记录了数据库对象的信息,是LogMiner分析redo logs的基础。当数据库中的表...

    oracle日志挖掘方法

    ### Oracle日志挖掘方法 #### 一、概述 在Oracle数据库管理中,日志挖掘(Log Mining)是一项非常重要的功能,它能够帮助我们追踪数据库活动并发现潜在的问题或异常行为。通过日志挖掘,我们可以详细了解数据库中...

    Oracle_10g_Logminer_研究及测试

    使用`DBMS_LOGMNR.ADD_LOGFILE`过程来添加要分析的日志文件。 4. 启动LogMiner分析:通过调用`DBMS_LOGMNR.START_LOGMNR`并提供相应的选项(如上所述的数据字典来源)来开始分析。 5. 查询结果:使用`DBMS_LOGMNR....

    oracle归档日志挖掘详细步骤.docx

    启动LogMiner分析使用`DBMS_LOGMNR.START_LOGMNR`,并可以设置选项,如从在线数据字典获取字典信息(`sys.dbms_logmnr.dict_from_online_catalog`): ```sql BEGIN SYS.DBMS_LOGMNR.START_LOGMNR( options => ...

    oralce数据库日志查看方法探讨

    而dbms_logmnr包则提供了开始、结束和管理日志分析的过程。 在使用LogMiner时,需要通过add_logfile()过程指定要分析的日志文件,并通过start_logmnr()过程启动分析。start_logmnr()允许设置分析的时间范围(SCN或...

    oracle日志分析

    ### Oracle日志分析详解 #### 一、Oracle日志分析概览 Oracle数据库中的日志分析是一项关键的技术,主要用于监控数据库活动、诊断问题以及优化性能。日志分析可以帮助我们了解数据库内部的操作细节,例如数据更改...

    DBMS_LOGMNR中的常量选项

    DBMS_LOGMNR是Oracle数据库提供的一个包,用于分析重做日志文件(redo logs),以获取数据库的事务历史信息。这个包中的常量选项是DBMS_LOGMNR的参数,用于定制LogMiner的行为。以下是一些重要的常量选项及其详细...

    DB_monitor.rar

    EXECUTE dbms_logmnr.add_logfile(LogFileName=>'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ABC\REDO03.LOG',Options=>dbms_logmnr.new); 添加其它文件 EXECUTE dbms_logmnr.add_logfile(LogFileName=>'D:\ORACLE\...

    Oracle日志分析

    ### Oracle日志分析知识点 #### 一、Oracle日志分析概述 Oracle数据库是业界广泛使用的高性能关系型数据库管理系统之一。为了确保数据的一致性和可靠性,Oracle数据库采用了多种机制来记录和跟踪事务处理过程中的...

    Oracle中使用LogMiner进行日志分析.pdf

    这两个脚本分别创建DBMS_LOGMNR包和DBMS_LOGMNR_D包,前者用于日志分析,后者用于构建数据字典文件。 使用LogMiner工具时,遵循以下步骤: 1. 在初始化参数文件`init.ora`中添加`UTL_FILE_DIR`参数,指定放置数据...

    加强数据库oracle日志的记录

    Oracle数据库使用LOGMINER来分析日志。  一、安装LogMiner  要安装LogMiner工具,必须首先要运行下面这样两个脚本,  $ORACLE_HOME/rdbms/admin/dbmslm.sql  $ORACLE_HOME/rdbms/admin/dbmslmd.sql.  这两个...

    Oracle PL/SQL常用47个工具包

    31. **DBMS_LOGMNR**: 日志分析工具,用于查看和解析归档日志,进行数据恢复。 32. **DBMS_STATS.AUTO_TUNING**: 自动调整统计信息,优化查询性能。 33. **DBMS_SPACE**: 用于空间管理,查看表空间和段的使用情况...

    Oracle数据库日志文件的分析与应用.pdf

    在开始分析日志文件之前,需要使用`dbms_logmnr.add_file`和`dbms_logmnr.add_log_file`过程将要分析的日志文件添加到日志文件列表中。例如,`execute dbms_logmnr.add_log_file(log filename => 'd:\archive\a05283...

Global site tag (gtag.js) - Google Analytics