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;

相关推荐
devilnumber10 分钟前
Oracle 与 MySQL substr 函数差异总结
java·数据库·mysql·oracle
—Miss. Z—25 分钟前
计算机等级考试三级数据库技术—选择题
数据库·mysql
www_aiyuanma_vip26 分钟前
PC 手机电商(MySQL 版)
数据库·mysql·智能手机
Databend35 分钟前
AI 时代的数据工程挑战:从复杂链路走向统一数据底座
大数据·数据库·云计算
treacle田1 小时前
达梦数据库-Linux DM数据守护主备集群缩改为单机-记录总结
linux·服务器·数据库·主备集群改单机
SelectDB技术团队1 小时前
Apache Doris 支持同步/异步物化视图与 ROLLUP,多表加速能力优于 StarRocks
大数据·数据库·doris·技术选型·物化视图·starrock·查询加速
super大力张1 小时前
MOE基于结构的药物设计(七):Ligand R-Vectors——如何判断配体可以从哪里继续生长?
数据库·算法·cadd·moe·svl·基于结构的药物设计
Databend1 小时前
Databend 增量物化视图:基于 Change Tracking 的增量刷新与一致性读取
大数据·数据库·sql
腾讯云开发者2 小时前
与数据库打了几十年交道,WorkBuddy让我有了「第二知识库」
数据库