一、DM8 日志挖掘简介

达梦DBMS_LOGMNR包用于分析归档日志所记载的DML、DDL、DCL等事务操作。通过DBMS_LOGMNR提供的日志挖掘功能,可以确定数据库误操作时间点或SCN,对数据库基于时间点或者SCN的不完全恢复。通过DBMS_LOGMNR可以跟踪达梦数据库的所有DML、DDL、DCL操作,从而取得执行这些操作的时间顺序、执行这些操作的用户等信息,在系统没有打开审计功能时,对数据库进行审计或者对数据库审计结果进行进一步深入分析。

二、应用方法

目前 DBMS_LOGMNR 只支持对归档日志进行分析,配置归档后,还需要将 dm.ini 中的RLOG_APPEND_LOGIC 选项置为 1 或 2。DM MPP 环境下不支持 DBMS_LOGMNR 包。

实验环境介绍

运行操作系统为64位CentOS 7

达梦 临时表 索引 达梦数据库时间戳处理_数据库


所安装数据库为64位DM8

达梦 临时表 索引 达梦数据库时间戳处理_归档文件_02


操作步骤:

1.确认数据库为归档状态

要分析数据库归档日志,数据库自然要开启归档功能,在运行过程才能中产生归档文件。

达梦 临时表 索引 达梦数据库时间戳处理_归档日志_03


查看数据库归档配置文件

达梦 临时表 索引 达梦数据库时间戳处理_达梦 临时表 索引_04


查看已经产生的归档文件

达梦 临时表 索引 达梦数据库时间戳处理_归档文件_05


2.设置RLOG_APPEND_LOGIC参数

DM8用户手册中关于RLOG_APPEND_LOGIC参数的说明,主要是否启用记录逻辑操作功能。取值0~3,具体含义如下表。

达梦 临时表 索引 达梦数据库时间戳处理_达梦 临时表 索引_06


console工具中关于RLOG_APPEND_LOGIC参数描述,取值为2,表示启用logmnr。

达梦 临时表 索引 达梦数据库时间戳处理_数据库_07


配置RLOG_APPEND_LOGIC参数值为2

达梦 临时表 索引 达梦数据库时间戳处理_达梦 临时表 索引_08


3.添加归档文件

通过调用DBMS_LOGMNR.ADD_LOGFILE过程来添加一个或多个归档日志文件。

达梦 临时表 索引 达梦数据库时间戳处理_归档日志_09


查看已经增加的日志文件。

达梦 临时表 索引 达梦数据库时间戳处理_归档日志_10


4.启动归档日志文件分析

通过调用DBMS_LOGMNR.START_LOGMNR过程启动日志文件分析。其中Options参数提供如下的可选模式,各模式可以通过 + 或者按位或来进行组合。其它位的值如1、4、8等目前不支持,配置后不会报错,但是没有效果。

达梦 临时表 索引 达梦数据库时间戳处理_达梦 临时表 索引_11


启动归档日志文件分析

DBMS_LOGMNR.START_LOGMNR(OPTIONS=>2128, STARTTIME=>TO_DATE(‘2021-01-01 00:00:00’,‘YYYY-MM-DD HH24:MI:SS’) , ENDTIME=>TO_DATE(‘2021-06-23 12:00:00’,‘YYYY-MM-DD HH24:MI:SS’));

达梦 临时表 索引 达梦数据库时间戳处理_归档文件_12


5.查看归档日志文件的分析结果

如要查看归档日志文件的分析结果,可以通过动态视图 V达梦 临时表 索引 达梦数据库时间戳处理_归档文件_13logmnr_contents;

6.终止归档日志文件分析
通过执行DBMS_LOGMNR.END_LOGMNR过程,清除V达梦 临时表 索引 达梦数据库时间戳处理_归档日志_14LOGMNR_CONTENTS数据,终止分析。