oracle怎样使用logmnr恢复误删除的数据

如果有同事误删除数据了,可以用logmnr挖掘归档日志,生成回滚sql,快速恢复数据,比用整个库的备份恢复要快得多。

一 操作步骤

1.1 创建目录

su - oracle

mkdir logmnr

create directory logmnr_dir as '/home/oracle/logmnr';

1.2 建立数据字典分析文件

execute dbms_logmnr_d.build(dictionary_filename =>'dict.ora',dictionary_location =>'LOGMNR_DIR');

1.3 添加日志分析

exec dbms_logmnr.add_logfile(logfilename=>'/data/app/oracle/arch/1_772_1164727119.dbf',options=>dbms_logmnr.new);

exec dbms_logmnr.add_logfile(logfilename=>'/data/app/oracle/arch/1_773_1164727119.dbf');

#注意,只分析第一个日志文件的时候加,options=>dbms_logmnr.new,后面的文件不要加这个,否则会少数据。

1.4 启动LOGMNR开始分析

exec DBMS_LOGMNR.START_LOGMNR(OPTIONS=>DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);

create table scott.t8 parallel(degree 8) as select * from v$logmnr_contents;

1.5 查看sql与回滚sql

select timestamp,table_name,operation,sql_redo,sql_undo from scott.t5 where table_name='T1';

示例:

1.6 跟开发沟通确认回滚sql没问题后,执行回滚sql

1.7 结束分析

execute dbms_logmnr.end_logmnr;

相关推荐
LaughingZhu14 分钟前
Product Hunt 每日热榜 | 2026-10-01
数据库·人工智能·深度学习·神经网络·搜索引擎
阳光九叶草LXGZXJ15 分钟前
达梦数据库-学习-67-SSL加密认证
linux·运维·数据库·sql·学习·ssl
ha_lydms19 分钟前
MaxCompute中JSON函数
大数据·数据库·阿里云·json·dataworks·maxcompute·odps
细嗅蔷薇@1 小时前
DML常见操作
数据库·mysql
lusklusklusk1 小时前
Oracle数据库基础之7_备份恢复基础之SCN
数据库·oracle
ao-weilai2 小时前
MySQL数据库:MySQL基础概要
数据库·mysql
雪碧聊技术2 小时前
从 0 跑通一个最小 RAG Demo:文档切分、向量检索与答案生成
数据库·oracle
喜欢的名字被抢了2 小时前
08-Redis 性能优化篇:快在哪、BigKey、HotKey、慢查询与内存
数据库·redis·性能优化
阳光九叶草LXGZXJ2 小时前
达梦数据库-学习-68-dmasm0X_XXXXXX.log日志激增
linux·运维·数据库·sql·学习
Mortalbreeze2 小时前
MySQL 基础篇(三):一文掌握 MySQL 常见数据类型
linux·服务器·数据库·mysql