挖掘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 条评论
登录 后参与评论

相关文章

来自专栏深度学习之tensorflow实战篇

linux (ubantu)安装最新版python3.6,以及直接安装anaconda

用Linux自带的下载工具wget下载(当前的最新版本python3.6.0),进入个人用户下面的Downloads下 cd ~/tmp/ wget https...

3315
来自专栏Angular&服务

解决mac上出现包损坏等情况,不能打开软件

806
来自专栏java架构师

java基础-servlet-1

servlet,是运行于服务器端的小程序。它既可以运行在http服务器端,也可以运行在mail等其他服务器端。我是这样理解,tomcat把接收到的客户端请求,转...

2566
来自专栏王亚昌的专栏

linux平台下svn环境搭建【未完】

 1. http://apr.apache.org/download.cgi 下载

571
来自专栏orientlu

shell 当前工作目录的绝对路径

问题就出在最后那句,本意我是希望把/home/lcd/something 复制到我脚本的执行目录。 假设我的脚本目录在/home/lcd/shell/下,

1123
来自专栏用户画像

idea git merge

当两个开发人员修改了同一个文件,A提交之后,B再获取或者提交代码时,就会产生冲突。

662
来自专栏数据库

浅谈MySQL数据库的备份与还原

之前用过很长时间的Oracle 11gR2,数据还原备份这种操作经常遇到,操作起来略显蛋疼,几乎都要有阴影了。今天体验了一下MySQL的备份与还原,感觉简单多了...

2299
来自专栏电光石火

mysql 5.7版本目录无data文件夹的解决办法

安装mysql 5.7+版本时,若发现因根目录下,缺少data文件夹的情况, ***请不要去拷贝其他版本的data文件夹!*** 因为此操作会出现很多潜...

1827
来自专栏数据结构笔记

scrapy爬虫框架(一):scrapy框架简介

安装完成后,python会自动将 scrapy命令添加到环境变量中去,这时我们就可以使用 scrapy命令来创建我们的第一个 scrapy项目了。

1744
来自专栏张伟博客

netsh命令实现计算机本地端口转发(端口映射)

1734

扫码关注云+社区