我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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 delete误删表数据恢复内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

oracle数据误删除如何恢复

要恢复已经误删除的Oracle数据,你可以尝试以下几种方法:使用备份恢复:如果你有最近的备份文件,可以使用Oracle的恢复工具来还原误删除的数据。你可以使用RMAN工具来还原数据库到备份文件中的某个时间点,或者可以将备份文件导入到新的数据
oracle数据误删除如何恢复
2024-04-09

oracle如何恢复误删除数据

在 oracle 中恢复误删除的数据的方法包括:检查回收站:如果数据在回收站中,右键单击并恢复。使用闪回查询:执行特定的查询指定误删除数据的时间戳。使用数据泵导入:如果在误删除之前有备份,导出数据并导入。如何在 Oracle 中恢复误删除的
oracle如何恢复误删除数据
2024-04-19

oracle delete删除的数据怎么恢复

通过以下方法可恢复 oracle 中被 delete 删除的数据:从备份恢复:前提是有最新的备份;使用撤销表空间:撤销表空间启用了回滚段保留;使用闪回查询:查看删除前的数据并导出到新表;使用日志挖掘:解析日志文件恢复数据;使用第三方工具:使
oracle delete删除的数据怎么恢复
2024-04-18

oracle数据库delete删除的数据怎么恢复

oracle数据库中删除的数据可以通过以下方法恢复:事务回滚:可还原事务内已删除数据。闪回查询:访问特定时间点已删除的数据。闪回表空间:创建数据库副本,包含已删除数据。日志文件:使用专业工具恢复已删除的数据。第三方工具:提供更高级的恢复选项
oracle数据库delete删除的数据怎么恢复
2024-04-18

oracle数据误删除怎么恢复

oracle 提供了多种数据误删恢复方法:从回收站中恢复(30 天内可用);使用闪回查询(特定时间点恢复);从备份中恢复(备份需及时);使用第三方工具(更高级)。预防措施:定期备份、使用回收站、启用审计跟踪、测试恢复计划。Oracle 数据
oracle数据误删除怎么恢复
2024-04-18

oracle删除数据后怎么恢复

oracle 数据恢复:删除后如何恢复?如果在事务过程中删除数据,可以通过回滚段恢复数据。如果启用了闪回区域,可以通过闪回查询恢复数据。如果定期备份数据库,可以通过备份恢复数据。Oracle 数据恢复:删除后如何恢复直接回答:删除 Or
oracle删除数据后怎么恢复
2024-04-18

DBeaver误删除数据如何恢复

在DBeaver中误删数据后,可以尝试以下方法恢复数据:撤销删除操作:在DBeaver中,可以尝试使用撤销操作来恢复误删的数据。可以尝试按下Ctrl + Z组合键或者通过菜单栏的Edit -> Undo选项来撤销最近的删除操作。恢复数据库备
DBeaver误删除数据如何恢复
2024-04-09

delete误删数据使用SCN恢复

参考51CTO博客问题描述:使用scn号恢复误删数据1.查询系统闪回的scn值以及当前日志的scn值,因为我这个是测试,创建的表是在在后边,所以scn值要大于下边这两个scn值,所以对我恢复数据没有用,如果我创建的数据是在下边这两个SCN值之前,也就是比这两个
delete误删数据使用SCN恢复
2018-08-21

mysql数据误删除如何恢复

如果MySQL数据误删除,可以尝试以下方法恢复:1. 使用备份:如果你有定期备份数据库,可以通过将备份文件还原到误删除之前的状态来恢复数据。2. 使用二进制日志(binary log):MySQL的二进制日志记录了数据库的所有操作,包括删除
2023-10-09

oracle删除数据如何恢复

oracle 中已删除的数据可通过以下方式恢复:撤销操作,适用于尚未提交的事务;闪回查询,允许查看指定时间点的数据状态;闪回表,恢复整个表至指定时间点;数据泵导入,需要之前的导出备份;手动数据修复,复杂且耗时,需要专业知识。Oracle 数
oracle删除数据如何恢复
2024-04-19

mysql删除表后如何恢复

如果您在MySQL数据库中意外删除了表,您有几种方法可以尝试恢复:使用备份:如果您有数据库的备份,您可以将备份文件恢复到一个新的数据库,然后从备份中导出您需要的表。使用回收站:MySQL 5.1.6及更高版本支持回收站功能。您可以检查是否启
mysql删除表后如何恢复
2024-04-09

oracle表数据误删怎么恢复

oracle 提供以下数据恢复方法:回滚段:适用于自动提交模式外的表删除,使用 rollback 命令。闪回查询:查询过去表版本,要求启用了闪回日志记录,使用 select 语法。表空间点及时恢复:适用于启用了该功能的表空间,使用备用副本和
oracle表数据误删怎么恢复
2024-04-18

oracle删除表数据怎么恢复

oracle 中恢复已删除的表数据涉及以下步骤:检查回收站,如果找到已删除的表,执行步骤 2;运行查询还原表,可指定时间戳恢复到特定时间点;还原后可从回收站中删除表(可选);检查数据是否已正确恢复。Oracle 删除表数据恢复指南问题:O
oracle删除表数据怎么恢复
2024-05-11

oracle删除的数据如何恢复

如果使用DELETE语句删除了数据,Oracle数据库是没有内置的恢复机制来撤销删除操作的。因此,一旦数据被删除,恢复数据的唯一方法是使用备份。以下是一些可能的方法来恢复已删除的数据:1. 使用备份:如果你有数据库的备份,可以从备份中还原被
2023-08-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录