挖掘Oracle日志的“大杀器”

编辑手记:

LogMiner是用于Oracle日志挖掘的利器,使用该工具可以轻松获得Oracle 重做日志文件(归档日志文件)中的具体内容,LogMiner分析工具实际上是由一组PL/SQL包和一些动态视图组成,它作为Oracle数据库的一部分来发布,是oracle公司提供的一个完全免费的工具。本文主要演示LogMiner的使用,直观展示LogMiner的作用。

环境:Oracle 11.2.0.4 RAC

  • 1.查询当前日志组
  • 2.业务用户插入操作
  • 3.归档日志切换
  • 4.业务用户插入操作
  • 5.归档日志切换
  • 6.业务用户更新操作
  • 7.归档日志切换
  • 8.确认需要分析的日志
  • 9.备份归档日志
  • 10.使用LogMiner分析

查询当前日志组

使用sys用户查询Oracle数据库的当前日志组:

这里当前日志(current)是:李玟

thread 1 sequence 30

thread 2 sequence 25

业务用户插入操作

模拟业务用户jingyu插入T2表数据:

归档日志切换

为了区分每个日志的不同操作,这里对数据库进行手工归档切换,模拟现实中实际的归档切换。

业务用户插入操作

模拟业务用户jingyu删除T2表部分数据:

归档日志切换

为了区分每个日志的不同操作,这里对数据库进行手工归档切换,模拟现实中实际的归档切换。

业务用户更新操作

模拟业务用户jingyu更新T2表部分数据:

归档日志切换

为了区分每个日志的不同操作,这里对数据库进行手工归档切换,模拟现实中实际的归档切换。

确认需要分析的日志

确认之后需要使用LogMiner分析的日志:

备份归档日志

将相关的归档都copy备份出来:

备份出来的归档日志文件如下:

使用LogMiner分析

使用LogMiner分析归档日志:

查询v$logmnr_contents

实验发现:

以username为条件无法查询到相关记录,最终确认username都是unknown而不是真正执行语句的业务用户jingyu。 而挖掘出的日志sql_redo这个字段是完整的SQL,可以采用like的方式查询。

比如我分析更新操作的日志,就可以得到下面这样的结果:

至此,LogMiner基本的操作实验已完成。

与LogMiner有关的一些操作命令参考:

最后确认如果开启了附加日志,username就可以捕获到正确的值:

可以看到,开启了附加日志,就可以正常显示username的信息了。

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2017-08-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏武培轩的专栏

TCP和UDP的区别

TCP TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。 ...

2715
来自专栏大内老A

ASP.NET Core的配置(5):配置的同步[ 实例篇]

ConfigurationBuilder在生成以Configuration对象的时候会利用注册其中的ConfigurationProvider加载原始的配置数据...

1938
来自专栏walterlv - 吕毅的博客

如何创建一个基于命令行工具的跨平台的 NuGet 工具包

发布于 2018-05-12 01:09 更新于 2018-09...

422
来自专栏程序员互动联盟

【专业技术】8大你不得不知的Android调试工具

1. 查看当前堆栈 1) 功能:在程序中加入代码,使可以在logcat中看到打印出的当前函数调用关系 2) 方法: new Exception(“print ...

36913
来自专栏mini188

Openfire集群源码分析

如果用户量增加后为了解决吞吐量问题,需要引入集群,在openfire中提供了集群的支持,另外也实现了两个集群插件:hazelcast和clustering。为了...

2029
来自专栏Albert陈凯

mapreduce项目调优

一、调优的目的 充分的利用机器的性能,更快的完成mr程序的计算任务。甚至是在有限的机器条件下,能够支持运行足够多的mr程序。 二、调优的总体概述 从mr程...

3196
来自专栏大内老A

.NET Core RC2发布在即,我们试着用记事本编写一个ASP.NET Core RC2 MVC程序

在.NET Core 1.0.0 RC2即将正式发布之际,我也应应景,针对RC2 Preview版本编写一个史上最简单的MVC应用。由于VS 2015目前尚不支...

18110
来自专栏技术博文

linux ss命令使用详解

ss是Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够...

3566
来自专栏Phoenix的Android之旅

如何读写另外一个app的文件?

OK,上面的代码中规中矩, 只要有 File对象就可以用 FileOutputStream或者 FileReader来操作文件内容, 但! 如果是要读其他app...

753
来自专栏JMCui

Apache solr(一).

概念:Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。Apache...

3318

扫码关注云+社区