欢迎光临
我们一直在努力

备库闪回到前一天找回误删数据

因为开发在7月九号凌晨4点删除一条数据,现在交易出现问题,需要检查这条数据当时的状态,历史表没有存这个数据,现在使用备库闪回到删除之前的时间点,找回数据。
当时操作没有留记录,所以只写操作过程。


1.查看支持闪回的时间:
select oldest_flashback_scn os, to_char(oldest_flashback_time,’YYYYMMDD hh34:mi:ss’) ot,
retention_target rt,flashback_size fs, estimated_flashback_size es
from v$flashback_database_log;

2.查看时间与scn对应关系。确定闪回时间,需要恢复到7月9号凌晨3点的时间。
select scn,to_char(time_dp,’yyyy-mm-dd hh34:mi:ss’) from sys.smon_scn_time order by scn;

4.3532E+10 2019-07-09 02:59:13
4.3533E+10 2019-07-09 03:04:16
4.3533E+10 2019-07-09 03:04:18

———开始操作————–
3.取消备库日志应用
alter database recover managed standby database cancel;

4.闪回数据库到3点左右的时间点。

FLASHBACK DATABASE TO TIMESTAMP TO_DATE(‘20190709 02:59:13′,’YYYYMMDD HH24:MI:SS’);

——–等待——数据库数据量大等待时间就长··················

5.完成之后启库,以只读模式启库:
alter database open read only;

  1. 查找当时数据
    select * from tbl_tfr_trn_log j
    where j.key_rsp=’20190708195739162200′;

然后找到数据导出来,

7.备库,开启应用归档,让他慢慢应用到最新同步时间。
alter database recover managed standby database using current logfile disconnect from session;

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。