oracle delete误删除表数据进行恢复
1、根据时间进行恢复
此种方式需要我们大致知道执行delete语句的时间。
查询系统当前时间:select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss’) from dual;
假设在2022-04-02 16:27:11分钟,执行了删除语句
delete from demo ;
此时已经表中不能查询到数据了。我们知道delete执行的时间,往前推1分钟(delete执行时间之前都可以,越小越好,本例以1分钟为例),执行如下语句
select * from DEMO as of timestamp to_timestamp(‘2022-04-02 16:26:11’,‘yyyy-mm-dd hh24:mi:ss’);
可以看到虽然当前demo表中没有数据,但是可以查询到demo表前1分钟时候的数据。
恢复1:此时可以通过plsql工具的导出查询结果功能导出sql文件,然后在重新执行sql文件中的insert语句进行数据恢复。
恢复2:执行以下sql进行数据恢复:
flashback table DEMO to timestamp to_timestamp(‘2022-04-02 16:26:11’,‘yyyy-mm-dd hh24:mi:ss’);
如果报错ORA-08189:未启用行移动功能,不能闪回表
则执行:
alter table DEMO enable row movement;
添加表行移动功能后,在进行flashback语句进行恢复
如果报错: ORA-08194: 在实体化视图上不允许闪回表操作;则通过下面介绍的新建临时表的方式进行恢复。
恢复3(新建临时表):
新建demo1表,插入需要恢复的数据
create table DEMO1 as select * from DEMO as of timestamp to_timestamp(‘2022-04-02 16:30:11’,‘yyyy-mm-dd hh24:mi:ss’);
将demo1表的数据恢复到demo表中
insert into DEMO select * from DEMO1 where not exists (select * from DEMO where DEMO.id=DEMO1.id);
恢复4(根据scn恢复):
查询当前的scn号
select current_scn from v$database;
将scn号减少若干,执行下语句,直到能查看到我们delete的数据为止
select * from DEMO as of scn 166937913;
通过合适的scn号,执行下sql语句进行数据恢复
flashback table DEMO to scn 166937913;
学海无涯苦作舟!!!
oracle delete误删除表数据进行恢复相关推荐
- Oracle Drop误删表、Delete误删表数据后恢复方法
关于ORALCE误删表后恢复 1. 查看回收站的表: select object_name,original_name,type,createtime,droptime from recyclebin ...
- oracle表数据如何恢复,ORACLE如何恢复被delete的表数据
ORACLE如何恢复被delete的表数据 发布时间:2020-05-12 18:39:36 来源:亿速云 阅读:397 作者:Leah 这篇文章给大家分享的是ORACLE如何恢复被delete的表数 ...
- Oracle误删除表空间的恢复
对于误删除表空间的恢复,本文通过基于数据库的时间点恢复和基于表空间的时间点恢复分别加以讨论 一 通过基于数据库的时间点恢复被误删除的表空间 1 需要注意的事项 a 基于数据库的时间点恢复将会回退整个数 ...
- oracle如何根据ID恢复部分数据,三种方法找回Oracle数据库误删除的数据
三种方法找回Oracle数据库误删除的数据 最新动态来源:点击数:6141更新时间:2018/5/10 有很多朋友都遇到过在操作数据库时误删除某些重要数据的情况,如果数据库没有备份而且数据有十分重要的 ...
- oracle数据误删除怎么恢复,oracle误删除的数据怎么恢复 oracle恢复删除的数据方法...
oracle误删除的数据怎么恢复?下面为大家带来oracle恢复删除的数据方法: PART1 分为两种方法:scn和时间戳两种方法恢复. 一.通过scn恢复删除且已提交的数据 1.获得当前数据库的sc ...
- oracle 误删除表数据,Oracle误删除表数据后的数据恢复详解
Oracle误删除表数据后的恢复详解 测试环境: SYSTEM:IBM AIX 5L Oracle Version:10gR2 1. undo_rete ...
- oracle 快速备份表数据
oracle 快速备份表数据 CreateTime--2018年2月28日17:04:50 Author:Marydon UpdateTime--2017年1月20日11:45:07 1.1.9.3 ...
- 达梦误删除表空间文件恢复
误删除表空间文件恢复 此方法可以恢复误删除表空间文件后通过系统保留的副本文件进行恢复(目前只支持Linux系统).因此只能在数据库服务还在的情况和操作系统保留时间内才能进行恢复,如果数据库重启或者操作 ...
- 清空oracle表数据 外键,oracle清空所有表数据
方法: 1. 删除所有外键约束 2. drop表 3. 添加外键约束 代码使用powerdesign生成 /*============================================= ...
- oracle两个表数据比较,oracle数据库两表数据比较
1 引言 在程序设计的过程中,往往会遇到两个记录集的比较.如华东电网PMS接口中实现传递一天中变更(新增.修改.删除)的数据.实现的方式有多种,如编程存储过程返回游标,在存储过程中对两批数据进行比较等 ...
最新文章
- linux环境双网卡主机路由配置
- Jad一个好东西(转载)
- 数据驱动车主 App 产品优化,轻松搞定用户体验与转化
- docker初识_docker 初识
- 20应用统计考研复试要点(part19)--概率论与数理统计
- 祝贺王远当选为中国区第二位 Teams MVP
- linux 编译查看链接库详情,Linux环境下的编译,链接与库的使用
- 爬虫-使用xpath拿36KR的数据-xpath的学习与演练
- python列表添加元组_python 列表与元组的操作简介
- python中wordcloud函数不同形状云图_Python实现Wordcloud生成词云图的示例
- 今年秋季 MacBook Pro 将迎来六大变化
- Julia实现重心法(单设施选址问题)
- 日期,Wed Nov 24 2021 08:00:00 GMT+0800 (GMT+08:00) 相互转换
- Word公式编辑大括号内公式对齐方法
- 前后端分离架构设计(权限模型)
- dcn网络与公网_ip 中的,内网,外网,公网,dcn网络,分别是什么意思?
- PostgreSQL中的ACID特性介绍
- 科罗拉多州奥罗拉市用基于磁盘的ExaGrid系统取代磁带备份
- Qt:创建文件夹QDir
- 基于opencv和Dlib的人脸交换(face swap)