oracle閃回的使用


1、閃回查詢(原理:依賴於UNDO表空間)
查詢當前SCN號
select current_scn from v$database;
誤刪數據以后
select * from table_name as of scn 刪除數據前的SCN號;
將數據重新插入表中
insert into table_name select * from table_name as of scn 刪除數據前的SCN號;
2、閃回drop(原理:利用回收站recyclebin)
查看是否啟用回收站
show parameter recyclebin
如果啟用了回收站功能drop掉的非系統空間的表,都會保留在回收站中
show recyclebin
拿回誤刪的表
flashback table table_name to before drop;
3、閃回table(對表數據進行了錯誤的修改,回退到原數據)(undo)
flashback table table_name to scn 修改數據前的SCN號;
改變表,使行可以movement
alter table table_name enable row movement;
4、閃回version query(閃回版本查詢)
查詢你對表操作的所有記錄
select versions_xid,versions_operation,versions_startscn,versions_starttime,versions_endscn,versions_endtime,id,name
from table_name versions between scn minvalue and maxvalue;
5、閃回transaction query(閃回事務查詢)
select * from flashback_transaction_query where xid='34查詢到的versions_xid';
找到undo_sql,復制執行就可以了
6、閃回database
查詢數據庫是否支持閃回數據庫
select flashback_on from v$database;
啟用閃回數據庫功能,需要數據在mount狀態下(歸檔模式)啟動,然后
alter database flashback on;
然后確認啟用恢復區
show parameter db_recovery
保證db_recovery_file_dest配置的有值
查詢相關視圖
select * from v$flashback_database_logfile;
select * from v$flashback_database_log;
刪除了某個數據庫用戶,然后閃回
flashback database to scn 需要閃回的SCN號;
然后查看當前數據庫有哪些用戶,看一下被刪除的用戶是否撤回
select username from dba_users;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM