使用Logminer查看表变更记录

使用Logminer查看表变更记录

环境与问题描述

  • Linux版本:CentOS Linux release 7.7.1908 (Core)
  • Oracle版本:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
  • 问题描述:查看数据库表结构变化记录。

步骤分析与代码实现

  1. 安装Logminer:文件在linux中$ORACLE_HOME/rdbms/admin目录下dbmslm.sqldbmslmd.sql两个文件,先入这个文件保存地址:
    /home/oracle/app/oracle/product/11.2.0/dbhome_1/rdbms/admin
    使用Logminer查看表变更记录
  2. 连接数据库,这里不做解释。
    使用Logminer查看表变更记录
  3. 执行安装文件,即刚刚拷贝的地址直接执行即可。
    使用Logminer查看表变更记录
  4. 修改初始化参数utl_file_dir,这个参数是指定分析数据的存放处,然后重启数据库。
    使用Logminer查看表变更记录
    查看一下是否创建成功
    使用Logminer查看表变更记录
  5. 创建数据字典文件
    LogMiner只要在实例起来的情况下才可以运行。在使用LogMiner工具分析重做日志文件之前,可以使用DBMS_LOGMNR_D包将数据字典导出为一个文本文件。该字典文件是可选的,LogMiner使用一个字典文件来实现Oracle内部对象名称的转换,如果没有这个字典文件,则直接显示内部对象编号,这部分内容是无法直接理解的。 因为我们是第一次安装Logminer所以没有字典文件只能自己创建。
    1. 创建文件sqltrace.ora
      使用Logminer查看表变更记录
    2. 文件赋权
      使用Logminer查看表变更记录
    3. 执行DBMS_LOGMNR_D创建语句
      EXECUTE dbms_logmnr_d.build(dictionary_filename => '/home/logmine/sqltrace.ora', dictionary_location => '/home/logmine');
      使用Logminer查看表变更记录
  6. 测试
    执行一些奇怪的ddl操作,比如drop
    使用Logminer查看表变更记录
    1. 添加日志,因为是测试环境,什么东西都没有,先查看一下我们有哪些日志。
      使用Logminer查看表变更记录
    2. 添加这几个日志并开启分析
      使用Logminer查看表变更记录使用Logminer查看表变更记录使用Logminer查看表变更记录
    3. 分析日志
      使用Logminer查看表变更记录
      至此logminer简单查看数据库表变更记录的方法介绍完毕。