oracle恢复被删除的数据,oracle恢复被删除的数据

本文详细介绍了两种在Oracle数据库中恢复已删除数据的方法:一是使用System Change Number (SCN)恢复,包括获取当前SCN、查询历史SCN并执行Flashback Table操作;二是基于时间戳恢复,通过指定时间点进行数据还原。同时,文章强调了开启和关闭行移动功能的重要性。
摘要由CSDN通过智能技术生成

两种方法:(1)、scn方法   (2)、时间戳法

(1)、scn方法(通过scn恢复删除数据的sql语法)

a、获取当前数据库的scn号

select  current_scn  from  v$database;

查询到的scn号为:

b、查询当前scn号之前的scn号

select  * from  表名  as  of  scn  scn号(确定删除的数据是否存在,如果存在则恢复数据; 如果不存在,则继续缩小scn号)

c、恢复删除且已经提交的数据

flashback  table  表名  to  scn   scn号

(2)、时间戳方法

a、查询当前系统的时间

select  to_char(sysdate, ‘yyyy-mm-dd hh24:mi:ss‘)  from  dual

b、select  *  from  表名   as  of  timestamp  to_timestamp(‘2020-02-02 15:22:00‘, ‘yyyy-mm-dd  hh24:mi:ss‘)(如果不是继续缩小范围)

(3)、恢复删除且已提交的数据

--开启行移动功能(解决执行一下语句报错的问题)

alter  table  表名  enable  row   movement;

--恢复某个时间点的数据

flashback  table  表名  to  timestamp  to_timestamp (‘2020-02-02 15:21:00‘, ‘yyyy-mm-dd hh24:mi:ss‘);

--关闭行移动功能

alter table  表名  disable  row  movement;

----------------------------------------------------------------------------------------------------

--开启行移动功能(解决执行以下语句报错问题)

alter   alter  表名   enable   row  movement;

--恢复某个时间点的数据

flashback  table  表名  to   timestamp to_timestamp (‘2020-02-02  12:12:00‘, ‘yyyy-mm-dd  hh24:mi:ss‘)   (保证此时间为删除操作之前的操作)

--关闭行移动功能

alter  alter  表名  disable  row   movement;

原文:https://www.cnblogs.com/wongzzh/p/13435366.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值