达梦误删数据,挖掘归档,查找误删数据的语句

客户误删数据,没有开启慢日志,只有备份文件和归档日志,挖掘归档,分析删除数据影响的范围大小

 

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 ;

 

 

 

如果在新的实例挖掘别的实例上的日志,需要更改实例的db_magic 

查询本地数据库的DB_MAGIC

SELECT DB_MAGIC FROM V$RLOG;

修改归档日志中的DB_MAGIC

由于归档日志是从其他数据库中导出的,DB_MAGIC值和本地测试数据库的DB_MAGIC值不相同,需要通过dmmdf命令进行修改

进入到数据库的bin目录
windows环境:
.\dmmdf.exe TYPE=2 FILE=E:\ARCHIVE\ARCHIVE0910\ARCHIVE_LOCAL1_0x70272D40[0]_2022-09-10_05-24-07.log

linux环境
./dmmdf TYPE=2 FILE=/dm/arch_bak/ARCHIVE_LOCAL1_0x7C4075D0[0]_2022-07-11_06-17-37.log

 

 

 

 

 

 
posted @ 2025-01-14 14:59  徐创业  阅读(234)  评论(0)    收藏  举报