首页 > 其他分享 >达梦误删数据,挖掘归档,查找误删数据的语句

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

时间:2025-01-14 15:27:27浏览次数:1  
标签:10 DBMS INSERT LOGMNR 误删 归档 日志 达梦

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

 

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

相关文章

  • 达梦sqllog慢日志配置方案,抓取用户所有的操作记录
    很多用户反馈,开启审计影响数据库性能,但是不开启审计,数据库没保障,数据无安全性,误删了数据,无法找到记录达梦慢日志可以配置下,记录用户的操作记录 mkdir-p /data/dmlog/logvi/data/dmdb/sqllog.iniBUF_TOTAL_SIZE=10240  #SQL日志buffer占用空间的上限,单位为KB,取值......
  • 达梦表结构查询
    查询表和字段:SELECTCASEWHENCOL.COLID=0THENtab.Table_nameELSE''END表名,col.name字段名称,col.colid,col.TYPE$字段类型,LENGTH$字段长度,col.scale精度,nullable$是否可空,defval默认值,col.INFO1,col.INFO2FROMall_tablestabJOINsysobjectsobjON......
  • 记录在虚拟机中达梦数据库DEM安装过程遇到的问题解决方法
    本篇博客是记录了在寒假课程设计中在虚拟机麒麟银河系统安装达梦数据库DEM遇到的各种刁钻问题的解决方法,希望同样遇到这些问题的小伙伴们能够在查看本篇博客后真正解决问题。废话不多说,直接往下看吧! dem服务器的安装与部署1、上传dem和tomcat压缩包2、./dminitpath=/d......
  • 达梦优化记录
    项目中碰到一个问题,一个简单的接口sql,关联字段都有索引,执行时间需要2s多,由于是一个接口sql,每次页面跳转都需要调用该sql,导致每次跳转不顺畅,先模拟相关测试创建测试表droptableifexistsdm;createtabledm(didintprimarykeyidentity(2,3),enamevarchar(200),deptnoin......
  • 【DMSQL系列】 达梦数据库写文件的方式探索
    前沿这篇文章整体算是......
  • Oracle RMAN无法删除部分归档日志问题
    前言当Oracle归档日志满了后,将无法正常登入oracle,需要删除一部分归档日志才能正常登入ORACLE。最近在工作中遇到一个问题,Oracle11g数据库使用RMAN没办法删除旧的归档,导致磁盘使用率很高。oracle@hfzsd:[/u01/app/oracle/oradata/orcl/]ls-ltr|moretotal3059881082-r......
  • 误删除了表?PolarDB MySQL帮你恢复!完成就送2025蛇年春联!
    由于DDL语句无法回滚,如果误删除了表(例如DROP TABLE),可能会导致数据丢失。PolarDB MySQL提供表回收站的功能,删除的表会被临时转移到表回收站。通过本次操作,带您体验如何使用PolarDB MySQL提供表回收站的功能,从表回收站恢复误删的表。完成任务赢奖励,活动火热进行中!完成任务一和......
  • git 误删远程分支
    当你在Git中删除了一个远程分支,但本地仍然保留着该分支的副本时,你可以通过以下步骤重新将本地分支推送到远程仓库: 1.**确保你的本地分支是最新的**:  在推送之前,最好先更新你的本地分支,以确保它包含了最新的更改。你可以使用`gitpull`命令来合并远程仓库中的最新更改(如......
  • Gitlab误删用户导致项目丢失莫慌.240109
    Gitlab让小朋友不小心把离职员工的账号给删了,可是离职员工有好几个项目都是他是owner,造成Gitlab上项目全部丢失。遇到这种情况,莫慌。一般,本地都有完整的Git备份,离职员工走了,肯定他的主管有整套代码。解决方式很简单,跟着我来,就不会错。但是建议,创建项目,owner最好是管理员创建,......
  • centos7系统安装国产达梦数据库DM8(详细操作步骤,软件包下载教程)
    安装前准备一、前言用户在安装DM数据库之前需要检查或修改操作系统的配置,以保证DM数据库能够正确安装和运行。本文演示环境如下:操作系统CPU数据库CentOS7x86_64架构dm8_20240116_x86_rh7_64信创环境安装部署也可以参考此篇文章,但需注意CPU和操作系统对应的DM数据......