備庫閃回到前一天找回誤刪數據

因爲開發在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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章