Oracle数据库恢复delete误删且已提交的数据

SQL语句测试时,不小心把表中数据全删除了怎么办?

不要慌,不要急,不声不响的恢复就可以了

首先看一下下面的SQL截图,这是我的操作
在这里插入图片描述

恢复数据的方式有很多种,这里列出两种,我采用的是第一种

第一种:通过时间恢复删除且已提交的数据

查询当前系统时间

select to_char (sysdate,'yyy-mm-dd hh24:mi:ss') from dual;

1.首先开启行移动功能(不开启的话,恢复数据的时候可能会报错)

alter table table_name enable row movement;

2.查询删除数据的时间点的数据(确定一下已删除的数据是否存在,不存在的话把时间往前推,再试试)

select * from table_name as times

3.恢复删除且已提交的数据

flashback table table_name to timestamp to_timestamp('2020-12-23 14:58:09','yyyy-mm-dd hh24:mi:ss');

4.关闭行移动功能(一定要记得关闭此功能)

alter table table_name disable row movement;

第二种:通过scn恢复删除且已提交的数据

1.获得当前数据库的scn号(切换到sys用户或system用户查询)

select current_scn from v$database;

2.查询当前scn号之前的scn(确定删除的数据是否存在,如果存在,则恢复数据,如果不存在,则继续缩小scn号)

select * from table_name as of scn 1499220;

3.恢复删除且已提交的数据

flashback table table_name to scn 1499220;

啊~~ 多么痛的领悟!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle数据库中,有几种方法可以用来恢复数据。其中一种方法是使用闪回功能。通过使用闪回功能,可以将数据库恢复到过去的某个状态。可以使用以下语法来实现闪回功能:\[1\] ``` SQL> alter database flashback on; SQL> flashback database to scn SCNNO; SQL> flashback database to timestamp to_timestamp('2007-2-12 12:00:00','yyyy-mm-dd hh24:mi:ss'); ``` 另一种方法是使用export/import工具进行逻辑备份和恢复。这个工具适用于数据量不大、业务量不多的数据库系统。通过使用export工具进行逻辑备份,可以将数据库数据导出到一个文件中。当数据库发生意外崩溃时,可以使用import工具将备份的数据导入到数据库中,从而恢复数据。需要注意的是,如果在备份和崩溃之间有数据修改操作(包括DDL和DML),这些操作将会丢失。因此,对于那些数据相对稳定的表,可以使用import工具来恢复数据。对于经常变化的业务表,丢失的数据可能需要从其他途径进行恢复。\[2\] 此外,Oracle还提供了闪回查询(Flashback Query)功能。这个功能可以用于恢复误删除或误更新并已经提交数据。在Oracle提供闪回查询之前,恢复这种情况只能通过备份或使用logmnr挖掘日志来进行,而这些方法相对繁琐且耗时。闪回查询提供了一种简便快捷的恢复方法。\[3\] #### 引用[.reference_title] - *1* [Oracle数据库 - 数据恢复](https://blog.csdn.net/weixin_44773109/article/details/126674741)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Oracle数据库数据丢失恢复的几种方法总结](https://blog.csdn.net/weixin_33861800/article/details/92139267)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值