Oracle 閃回技術

2021-09-23 14:00:12 字數 1958 閱讀 6330

允許復原資料庫到某個時間點,從而撤銷自該時間以後的所有更改。主要利用閃回日誌檢索資料塊的舊版本,同時它也依賴歸檔重做日誌完全地恢復資料庫,不用復原資料檔案和執行傳統的介質恢復

閃回前提-資料庫為歸檔模式

#查詢當前資料庫是否為歸檔模式

archive log list;

#非歸檔執行如下**,歸檔跳過

shutdown immediate;

startup mount;

alter database archivelog

#啟動閃回資料庫

alter database flashback on;

#查詢最後一次的閃回scn號

select oldest_flashback_scn,oldest_flashback_time from v$flashback_database_log;

shutdown immediate;

startup mount;

#閃回flashback database to scn 10635923;

#用resetlogs開啟資料庫-要開啟資料庫則必須使用 resetlogs 或 noresetlogs 選項

alter database open resetlogs;

確保資料表能夠被恢復到之前的某個時間點上

#設定時間開啟

set time on;

#製造事故

delete from emp;

#未啟用行移動功能, 不能閃回表,刪除的資料的資料塊被別的資料占用,以此開啟行移動

alter table emp enable row movement;

#閃回flashback table emp to timestamp to_timestamp('2019-05-24 10:25:15','yyyy-mm-dd hh24:mi:ss');

可以從其中恢復被drop掉的表,索引,該功能基於撤銷資料;

system中會直接刪除表,不進入**站,因為沒有**站

#製造事故

drop table emp;(purge:徹底刪除,不進**站)

#檢視**站中的表

select object_name,original_name from user_recyclebin;

#閃回資料表

flashback table emp to before drop;

可以查詢到不同時間點,不同版本的資料

select versions_startscn,versions_endscn,versions_xid,

versions_operation,id,name from scott.t3 versions between scn minvalue and maxvalue;

查詢出來的v:d:刪除 u:更新 i:插入

可以在事務級別上檢查資料庫的任何改變,大大方便了對資料庫的效能優化,事務審計及錯誤診斷等操作。該功能基於撤銷資料

select id,versions_xid,versions_operation from test versions between timestamp minvalue and maxvalue;
查詢刪除的資訊

select * from emp as of timestamp to_timestemp('2019-5-24 11:00:00','yyyy-mm-dd hh24:mi:ss')

oracle閃回技術

1,閃回資料庫到之前某時間點 在安裝時需要開放閃回功能 不支援表空間刪除 select name from v database 看是否開啟閃回功能 select flashback on,name from v database select name from v bgprocess where...

oracle閃回技術

查詢某一時刻資料庫中資料狀態語句 select from abc as of timestamp to timestamp 2015 08 24 10 31 00 yyyy mm dd hh24 mi ss 閃回dml語句 flashback table abc to timestamp to ti...

Oracle閃回技術

閃回技術 flashback 檢視 站 recyclebin select from recyclebin 恢復 站中的表 語法結構 flashback table 表名 to before drop flashback table t score to before drop 清空 站 purge...