热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

使用Logminer还原操作记录

今天本来下班快要走了,结果开发人员说他们有个测试表的数据突然不见了,而且说应该是没有人delete,问我是不是oracle的Bug(这个

今天本来下班快要走了,结果开发人员说他们有个测试表的数据突然不见了,而且说应该是没有人delete,问我是不是oracle的Bug(这个

今天本来下班快要走了,结果开发人员说他们有个测试表的数据突然不见了,而且说应该是没有人delete,问我是不是Oracle的Bug(这个有点搞吧,这都想得出来,哈哈),,让我帮看一下,没法只能使用logminer来分析日志了:

1、 修改utl_file_dir参数为一个特定目录,或者修改为*(建议,这样就可以访问所有oracle用户可以访问的目录,修改这个参数需要重启生效!)
2、 执行一下脚本初始化logminer环境

  • @$ORACLE_HOME/rdbms/admin/dbmslm.sql
  • @$ORACLE_HOME/rdbms/admin/dbmslmd.sq
  • 3、 生成数据字典文件,如:

  • 4、 添加日志文件,可以使归档日志也可以使在线redo日志,由于这个数据库没有起归档,所有就使用online redo日志来分析,还好他们没有做压力,日志没被切换掉:

  • 5、 使用第三步中生成的数据字典开始分析日志,可以使用scn参数分析从多少scn号至多少scn号之间的日志
    EXECUTE dbms_logmnr.start_logmnr(DictFileName=>'/arclog/logminer/logminer.ora');
    6、 可以查询v$logmnr_contents视图中的sql_redo字段,获取操作内容,如:

  • 经查看sql_redo,发现他们在2012-02-22 19:52:22时对那个表做了663个delete操作,亏他还还想得起来。呵呵。

    7、 使用以后可以使用EXECUTE DBMS_LOGMNR.END_LOGMNR 清空v$logmnr_logs及v$logmnr_contents的内容

    8、 附加:
    当使用logminer挖掘日志时,可能出现sql_redo值为UNSUPPORTED的内容信息,这时可以打开数据库的追加日志选项:
    查询数据库级别的日志追加选项是否已经开启:

  • SELECT SUPPLEMENTAL_LOG_DATA_MIN,SUPPLEMENTAL_LOG_DATA_PK,SUPPLEMENTAL_LOG_DATA_UI,
  • 启用Supplemental Logging:

  • 这里启用minimal logging,一般做到这一步,logminer就拥有足够的信息分析所有所做过的操作。
    其他级别的日志追加:

  • 禁用Supplemental Logging:
    如果存在ALL、PRIMARY KEY、UNIQUE INDEX的追加日志选项,则需要先禁用这些内容的日志追加后才能禁用minimal logging,否则会有如下错误:
    ORA-32589: unable to drop minimal supplemental logging

  • 启用表级别的追加日志,如:

  • linux

    推荐阅读
    • 本文介绍了如何通过安装 sqlacodegen 和 pymysql 来根据现有的 MySQL 数据库自动生成 ORM 的模型文件(model.py)。此方法适用于需要快速搭建项目模型层的情况。 ... [详细]
    • H5技术实现经典游戏《贪吃蛇》
      本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
    • JUnit下的测试和suite
      nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
    • CRZ.im:一款极简的网址缩短服务及其安装指南
      本文介绍了一款名为CRZ.im的极简网址缩短服务,该服务采用PHP和SQLite开发,体积小巧,约10KB。本文还提供了详细的安装步骤,包括环境配置、域名解析及Nginx伪静态设置。 ... [详细]
    • 探讨了SQL Server 2000自带工具绘制的一对多关系表的效果及其导出功能,并推荐了几款专业的ER图绘制软件。 ... [详细]
    • 如何将955万数据表的17秒SQL查询优化至300毫秒
      本文详细介绍了通过优化SQL查询策略,成功将一张包含955万条记录的财务流水表的查询时间从17秒缩短至300毫秒的方法。文章不仅提供了具体的SQL优化技巧,还深入探讨了背后的数据库原理。 ... [详细]
    • CentOS下ProFTPD的安装与配置指南
      本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
    • 解决JavaScript中法语字符排序问题
      在开发一个使用JavaScript、HTML和CSS的Web应用时,遇到从SQLite数据库中提取的法语词汇排序不正确的问题,特别是带重音符号的字母未按预期排序。 ... [详细]
    • 本文详细介绍了PostgreSQL与MySQL在SQL语法上的主要区别,包括如何使用COALESCE替代IFNULL、金额格式化的方法、别名处理以及日期处理等关键点。 ... [详细]
    • 本文详细介绍了在 Ubuntu 16.04 系统上安装和配置 PostgreSQL 数据库的方法,包括如何设置监听地址、启用密码加密、更改默认用户密码以及调整客户端访问控制。 ... [详细]
    • 本文作为《WM平台上使用Sybase Anywhere 11》系列的第二篇,将继续探讨在Windows Mobile (WM) 系统中如何高效地操作Sybase Anywhere 11数据库。继上一篇关于安装与基本测试的文章之后,本篇将深入讲解数据库的具体操作方法。 ... [详细]
    • 本文探讨了在SQL Server中处理几何类型列时遇到的INTERSECT操作限制,并提供了解决方案,包括通过转换数据类型和使用额外表结构的方法。 ... [详细]
    • 从CodeIgniter中提取图像处理组件
      本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
    • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
    • 本文记录了在Windows 8.1系统环境下,使用IIS 8.5和Visual Studio 2013部署Orchard 1.7.2过程中遇到的问题及解决方案,包括503服务不可用错误和web.config配置错误。 ... [详细]
    author-avatar
    泪水是爱后的_468
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有