因为开发在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;
然后找到数据导出来,
7.备库,开启应用归档,让他慢慢应用到最新同步时间。
alter database recover managed standby database using current logfile disconnect from session;
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。