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.   指定需要挖掘的redo或者archivelog日志文件

<3>. Start LogMiner.    开始日志挖掘

<4>. Request the redo data of interest.    查询V$LOGMNR_CONTENTS获取挖掘的结果

<5>. End the LogMiner session.    结束日志挖掘

日志挖掘使用示例:

1.开启补全日志:

SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

2.找出需要挖掘的归档日志文件路径

SQL> SELECT NAME FROM V$ARCHIVED_LOGWHERE FIRST_TIME between to_date('2018-07-06 08:20:00','yyyy-mm-dd hh24:mi:ss') and to_date('2018-07-06 09:40:00','yyyy-mm-dd hh24:mi:ss') order by 1;
NAME
--------------------------------------------------------------------------------
/u01/app/archive/1_342433_904747849.dbf
/u01/app/archive/1_342434_904747849.dbf
/u01/app/archive/1_342435_904747849.dbf

3.指定Logminer字典 (三选一)

Oracle 11g 指定Logminer字典有三种方法

1.Using the Online Catalog   使用在线目录

2.Extracting a LogMiner Dictionary to the Redo Log Files   抽取字典到redo日志文件中

3.Extracting the LogMiner Dictionary to a Flat File   抽取字典到平面文件中(需要设置UTL_FILE_DIR参数,重启数据库,不推荐)

EXECUTE DBMS_LOGMNR.START_LOGMNR(OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);
OR
EXECUTE DBMS_LOGMNR_D.BUILD( OPTIONS=> DBMS_LOGMNR_D.STORE_IN_REDO_LOGS);
OR
EXECUTE DBMS_LOGMNR_D.BUILD('dictionary.ora', '/oracle/database/', DBMS_LOGMNR_D.STORE_IN_FLAT_FILE);

4.Logminer中添加归档日志文件

EXECUTE DBMS_LOGMNR.ADD_LOGFILE( LOGFILENAME => '/u01/app/archive/1_342433_904747849.dbf', OPTIONS => DBMS_LOGMNR.NEW);

继续添加日志:

EXECUTE DBMS_LOGMNR.ADD_LOGFILE( LOGFILENAME => '/u01/app/archive/1_342434_904747849.dbf', OPTIONS => DBMS_LOGMNR.ADDFILE);
EXECUTE DBMS_LOGMNR.ADD_LOGFILE( LOGFILENAME => '/u01/app/archive/1_342435_904747849.dbf', OPTIONS => DBMS_LOGMNR.ADDFILE);

查看添加的日志列表:

select filename from V$LOGMNR_LOGS;

5.开始日志挖掘 (三选一,与步骤3对应)

EXECUTE DBMS_LOGMNR.START_LOGMNR(OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);
OR
EXECUTE DBMS_LOGMNR.START_LOGMNR(OPTIONS => DBMS_LOGMNR.DICT_FROM_REDO_LOGS );
OR
EXECUTE DBMS_LOGMNR.START_LOGMNR(DICTFILENAME =>'/oracle/database/dictionary.ora');

6.获取挖掘结果

SELECT username AS USR, (XIDUSN || '.' || XIDSLT || '.' || XIDSQN) AS XID,
SQL_REDO, SQL_UNDO FROM V$LOGMNR_CONTENTS WHERE username IN ('HR', 'OE');

把挖取结果保存到指定表格中: create table logtab as select * from v$logmnr_contents;

7.结束日志挖掘

EXECUTE DBMS_LOGMNR.END_LOGMNR;

总结

以上所述是小编给大家介绍的Oracle 日志挖掘(LogMiner)使用详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • 理解和使用Oracle 8i分析工具LogMiner

    正在看的ORACLE教程是:理解和使用Oracle 8i分析工具LogMiner.Oracle LogMiner 是Oracle公司从产品8i以后提供的一个实际非常有用的分析工具,使用该工具可以轻松获得Oracle 重作日志文件(归档日志文件)中的具体内容,特别是,该工具可以分析出所有对于数据库操作的DML(insert.update.delete等)语句,另外还可分析得到一些必要的回滚SQL语句.该工具特别适用于调试.审计或者回退某个特定的事务. LogMiner分析工具实际上是由一组PL/S

  • Oracle LogMiner的使用实例代码

    LogMiner介绍 LogMiner是用于Oracle日志挖掘的利器. 百科解释: LogMiner 是Oracle公司从产品8i以后提供的一个实际非常有用的分析工具,使用该工具可以轻松获得Oracle 重做日志文件(归档日志文件)中的具体内容,LogMiner分析工具实际上是由一组PL/SQL包和一些动态视图组成,它作为Oracle数据库的一部分来发布,是oracle公司提供的一个完全免费的工具. 本文主要演示LogMiner的使用,直观展示LogMiner的作用. 环境:Oracle 11

  • 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.   指定需要挖掘的redo或者archivelog日志文件 <3>. Start LogMiner.    开始日志挖掘

  • Oracle数据库的备份与恢复案例详解

    目录 1 逻辑备份/恢复(导出/导入) 1.必备参数 2.owner参数 3.tables参数 4.关于inctype参数 2 物理备份/恢复 1.冷备份/恢复 2.热备份/恢复 3 利用PL/SQL Developer备份数据库 在Oracle数据库的使用过程中,备份与恢复是经常遇到的操作.Oracle中的备份分为两大类:逻辑备份和物理备份.其中物理备份又分为两类:冷备份和热备份.本节将简要讲述如何利用各种备份手段进行Oracle数据库的备份与恢复. 1 逻辑备份/恢复(导出/导入) 逻辑备份

  • Oracle分页查询的实例详解

    Oracle分页查询的实例详解 1.Oracle分页查询: SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM tab) A WHERE ROWNUM <= 40 ) WHERE RN >= 21; 这个分页比下面的执行时间少,效率高. 2. select * from (select c.*,rownum rn from tab c) where rn between 21 and 40 对比这两种写法,绝大多数的情况下,第一个

  • oracle 的表空间实例详解

    oracle 的表空间实例详解 查询表空间 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)", TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100, 2), '990.99')

  • Mybatis调用Oracle存储过程的方法图文详解

    1:调用无参数的存储过程. 创建存储过程: Mapper.xml 配置:经测试其他标签(update.insert.select)也可以. Mapper.java MapperTest.java 测试 2:有参数的存储过程调用: 2.1存储过程的创建: 2.2Mapper.xml 的配置: 2.3Mapper.java 2.4MapperTest.java 测试 控制台输出: 3:存储过程的结果集调用. 3.1创建存储过程: 3.2 Mapper.xml 配置 配置 resultMap结果集字段

  • Oracle date 和 timestamp 区别详解

    Oracle date 和 timestamp 区别详解 1.DATE数据类型 这个数据类型我们实在是太熟悉了,当我们需要表示日期和时间的话都会想到date类型.它可以存储月,年,日,世纪,时,分和秒.它典型地用来表示什么时候事情已经发生或将要发生. DATE数据类型的问题在于它表示两个事件发生时间间隔的度量粒度是秒.这个问题将在稍后讨论timestamp的时候被解决.可以使用TO_CHAR函数把DATE数据进行传统地包装,达到表示成多种格式的目的. SQL> SELECT TO_CHAR(da

  • Oracle的out参数实例详解

    Oracle的out参数实例详解 一 概念 1.一般来讲,存储过程和存储函数的区别在于存储函数可以有一个返回值:而存储过程没有返回值. 2.过程和函数都可以通过out指定一个或多个输出行.我们可以利用out参数,在过程和函数中实现返回多个值. 3.存储过程和存储函数都可以有out参数. 4.存储过程和存储函数都可以有多个out参数. 5.存储过程可以通过out参数来实现返回值. 6.如果只有一个返回值,用存储函数:否则,就用存储过程. 二 实例 --out参数:查询某个员工姓名月薪和职位 /*

  • Oracle安装卸载图文教程详解

    ORACLE安装与卸载步骤详解,供大家参考,具体内容如下 ORACLE安装步骤 1. 将win32_11gR2_database_1of2.zip与win32_11gR2_database_1of2.zip 解压到当前目录(PS:选中两个压缩包后右键解压到当前文件夹:必须同时解压,不能单独解压否则会覆盖文件) 2. 解压完成后设置文件兼容性: 进入 database文件夹 右键点击 setup.exe 属性-兼容性 3. 双击 setup.exe 进行安装 出现 doc窗口后 等待出现安装界面(

  • Oracle数据操作和控制语言详解

    正在看的ORACLE教程是:Oracle数据操作和控制语言详解.SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML, 数据定义语言DDL,数据控制语言DCL.其中用于定义数据的结构,比如 创建.修改或者删除数据库:DCL用于定义数据库用户的权限:在这篇文章中我将详细讲述这两种语言在Oracle中的使用方法. DML语言 DML是SQL的一个子集,主要用于修改数据,下表列出了ORACLE支持的DML语句. 插入数据 INSERT语句常常用于向表中插入行,行中可以有特殊数据字段,或者可以

  • Linux环境下Oracle安装参数设置方法详解

    前面讲了虚拟机的设置和OracleLinux的安装,接下来我们来说下Oracle安装前的准备工作. 1.系统信息查看 系统信息查看 首先服务器ip:192.168.8.120 服务器系统:Oracle Linux Server release 6.5 服务器主机名:oracle-learn 查看磁盘空间情况: [root@oracle-learn ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 32G 4.8G 26G

随机推荐