oracle delete误删除表数据后如何恢复


Posted in Oracle onJune 28, 2022

1、根据时间进行恢复

此种方式需要我们大致知道执行delete语句的时间。

查询系统当前时间:select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss’) from dual;

假设在2022-04-02 16:27:11分钟,执行了删除语句
delete from demo ;

oracle delete误删除表数据后如何恢复

此时已经表中不能查询到数据了。我们知道delete执行的时间,往前推1分钟(delete执行时间之前都可以,越小越好,本例以1分钟为例),执行如下语句

select * from DEMO as of timestamp to_timestamp(‘2022-04-02 16:26:11',‘yyyy-mm-dd hh24:mi:ss');

oracle delete误删除表数据后如何恢复

可以看到虽然当前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;

oracle delete误删除表数据后如何恢复

将scn号减少若干,执行下语句,直到能查看到我们delete的数据为止

select * from DEMO as of scn 166937913;

通过合适的scn号,执行下sql语句进行数据恢复

flashback table DEMO to scn 166937913;

总结

到此这篇关于oracle delete误删除表数据后如何恢复的文章就介绍到这了,更多相关oracle delete误删表数据恢复内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Oracle 相关文章推荐
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
Apr 06 Oracle
ORACLE数据库对long类型字段进行模糊匹配的解决思路
Apr 07 Oracle
oracle表分区的概念及操作
Apr 24 Oracle
Oracle更换为MySQL遇到的问题及解决
May 21 Oracle
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
Jun 21 Oracle
详解Oracle块修改跟踪功能
Nov 07 Oracle
分析SQL窗口函数之聚合窗口函数
Apr 21 Oracle
Oracle数据库事务的开启与结束详解
Jun 25 Oracle
oracle delete误删除表数据后如何恢复
Jun 28 Oracle
Oracle删除归档日志及添加定时任务
Jun 28 Oracle
Oracle查看表空间使用率以及爆满解决方案详解
Jul 23 Oracle
ORACLE中dbms_output.put_line输出问题的解决过程
Jun 28 #Oracle
Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器
Jun 28 #Oracle
Oracle数据库事务的开启与结束详解
Jun 25 #Oracle
在Oracle表中进行关键词搜索的过程
Jun 10 #Oracle
Oracle锁表解决方法的详细记录
Jun 05 #Oracle
oracle数据库去除重复数据
May 20 #Oracle
解决Oracle数据库用户密码过期
May 11 #Oracle
You might like
PHP 程序员应该使用的10个组件
2009/10/31 PHP
详解HTTP Cookie状态管理机制
2016/01/14 PHP
JS中剪贴板兼容性、判断复制成功或失败
2021/03/09 Javascript
JQuery 学习笔记 选择器之一
2009/07/23 Javascript
5个书写JavaScript代码的坏习惯,看看你中枪了没?
2014/11/06 Javascript
浅谈js中变量初始化
2015/02/03 Javascript
实例详解Nodejs 保存 payload 发送过来的文件
2016/01/14 NodeJs
jQuery子元素过滤选择器用法示例
2016/09/09 Javascript
Bootstrap中定制LESS-颜色及导航条(推荐)
2016/11/21 Javascript
微信小程序request请求后台接口php的实例详解
2017/09/20 Javascript
express如何使用session与cookie的方法
2018/01/30 Javascript
vue 表单输入格式化中文输入法异常问题
2018/05/30 Javascript
Vue.js组件间通信方式总结【推荐】
2018/11/23 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
2019/04/18 Javascript
Vue Router history模式的配置方法及其原理
2019/05/30 Javascript
js动态获取时间的方法分析
2019/08/02 Javascript
js+html实现点名系统功能
2019/11/05 Javascript
Angular利用HTTP POST下载流文件的步骤记录
2020/07/26 Javascript
[06:16]《DAC最前线》之地区预选赛全面回顾
2015/01/19 DOTA
python实现的简单猜数字游戏
2015/04/04 Python
pymongo给mongodb创建索引的简单实现方法
2015/05/06 Python
Python出现segfault错误解决方法
2016/04/16 Python
python生成带有表格的图片实例
2019/02/03 Python
python3.7调试的实例方法
2020/07/21 Python
Python Pandas list列表数据列拆分成多行的方法实现
2020/12/14 Python
斯德哥尔摩通票:Stockholm Pass
2018/01/09 全球购物
美国渔具店:FishUSA
2019/08/07 全球购物
二年级数学教学反思
2014/01/21 职场文书
年度考核自我鉴定
2014/02/02 职场文书
教师对学生的寄语
2014/04/03 职场文书
《夕阳真美》教学反思
2014/04/27 职场文书
规范化管理年活动总结
2014/08/29 职场文书
2014年教师工作总结
2014/11/10 职场文书
教师思想工作总结2015
2015/05/13 职场文书
社团招新宣传语
2015/07/13 职场文书
2016年教育局“我们的节日——端午节”主题活动总结
2016/04/01 职场文书