客户误删数据,没有开启慢日志,只有备份文件和归档日志,挖掘归档,分析删除数据影响的范围大小
1、概述
可以使用 DBMS_LOGMNR 包对归档日志进行挖掘,重构出 DDL 和 DML 等操作,并通过获取的信息进行更深入的分析。相关限制说明如下:
1)目前 DBMS_LOGMNR 只支持对归档日志进行分析,配置归档后,还需要将 dm.ini 中的 RLOG_APPEND_LOGIC 选项置为 1、2、3 或 4:
1:如果有主键列,记录 UPDATE 和 DELETE 操作时只包含主键列信息,若没有主键列则包含所有列信息;
2:不论是否有主键列,记录 UPDATE 和 DELETE 操作时都包含所有列的信息;
3:记录 UPDATE 时包含更新列的信息以及 ROWID,记录 DELETE 时只有 ROWID;
4:只生成事务以及 DDL 相关的逻辑日志
2)DM MPP 环境下不支持 DBMS_LOGMNR 包;
3)DMDPC 使用 DBMS_LOGMNR 时, DBMS_LOGMNR.ADD_LOGFILE 只能添加同一个节点的多个日志同时进行分析,不支持同时分析不同节点的日志
1、启用归档
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG 'DEST = /data/data5/DAMENG/arch, TYPE = local,FILE_SIZE = 1024, SPACE_LIMIT = 20480';
ALTER DATABASE OPEN;
2、修改RLOG_APPEND_LOGIC参数
SP_SET_PARA_VALUE(1,'RLOG_APPEND_LOGIC',1);
3、归档日志解析
1、创建测试表
CREATE TABLE A(id int,name VARCHAR(10));
INSERT INTO A VALUES(1,'A');
INSERT INTO A VALUES(2,'B');
INSERT INTO A VALUES(3,'C');
INSERT INTO A VALUES(4,'D');
INSERT INTO A VALUES(5,'E');
COMMIT;
2、查看已有归档日志信息
SELECT NAME , FIRST_TIME , NEXT_TIME , FIRST_CHANGE# , NEXT_CHANGE# FROM V$ARCHIVED_LOG;
3、添加需要分析的归档日志
DBMS_LOGMNR.ADD_LOGFILE('/data/data5/DAMENG/arch/ARCHIVE_LOCAL1_0x74E67B64_EP0_2024-10-12_10-37-10.log')
DBMS_LOGMNR.ADD_LOGFILE('/data/data5/DAMENG/arch/ARCHIVE_LOCAL1_0x74E67B64_EP0_2024-10-12_10-42-35.log')
可通过V$LOGMNR_LOGS查看已添加的归档日志信息:
SELECT LOW_SCN, NEXT_SCN, LOW_TIME, HIGH_TIME, LOG_ID, FILENAME FROM V$LOGMNR_LOGS;
挖掘这个时间段的日志
DBMS_LOGMNR.START_LOGMNR(OPTIONS =>2128 , STARTTIME =>TO_DATE('2025-01-14 14:35:00','YYYY-MM-DD HH24:MI:SS') , ENDTIME=>TO_DATE('2025-01-14 14:40:00','YYYY-MM-DD HH24:MI:SS'));
查找记录
SELECT OPERATION_CODE , SCN, SQL_REDO , TIMESTAMP ,SEG_OWNER, TABLE_NAME FROM V$LOGMNR_CONTENTS ;
标签:10,DBMS,INSERT,LOGMNR,误删,归档,日志,达梦 From: https://www.cnblogs.com/xuchuangye/p/18670790