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