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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了备库闪回到前一天找回误删数据相关的知识,希望对你有一定的参考价值。

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


1.查看支持闪回的时间:
select oldest_flashback_scn os, to_char(oldest_flashback_time,‘YYYYMMDD hh24: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 hh24: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;

以上是关于备库闪回到前一天找回误删数据的主要内容,如果未能解决你的问题,请参考以下文章

Oracle DataGuard 备库配置闪回模式

求助,mongodb如何恢复误删数据

开发之没沟通误删客户数据库数据之找数据路

SQLServer数据库误删数据找回

找回误删的表和数据

Oracle 11.2.0.4.0 Dataguard部署和日常维护 - Dataguard Flashback