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;

相关推荐
就改了4 分钟前
MySQL进阶——DQL语句日常优化建议(详细版!)
数据库·sql·mysql
Elastic 中国社区官方博客1 小时前
拆解 “ES 已死“ 伪命题:Agentic RAG 时代搜索引擎的终极形态
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
懒大王爱吃狼1 小时前
Python + Qt Designer构建多界面GUI应用程序:Python如何调用多个界面文件
开发语言·数据库·python·qt·mysql·python基础·命令模式
梦尘啊2 小时前
存储引擎详解:LSM-Tree与B+树比较
数据库·后端
jay丿2 小时前
Django 集成 Redis 数据库指南
数据库·redis·django
用户4099322502122 小时前
FastAPI性能优化指南:参数解析与惰性加载
前端·数据库·后端
boJIke4 小时前
分库分表与NewSQL数据库的区别及适用场景
数据库·new sql
Moshow郑锴4 小时前
基于SpringBoot3+Druid数据库连接池与外部PostgreSQL的Kubernetes Pod YAML全解析
数据库·容器·kubernetes
失业写写八股文5 小时前
数据库基础:InnoDB MVCC实现原理图
数据库
清风细雨_林木木6 小时前
Nodejs+MySQL数据库管理
数据库·mysql