這篇文章將為大家詳細講解有關flashback閃回技術的分析,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
##開啟flasbback
SQL> alter system set db_recovery_file_dest_size=80g scope=spfile;
設置閃回區位置:
SQL> alter system set db_recovery_file_dest='/workdb/account_flashback_area' scope=spfile;
設置閃回目標為5天,以分鐘為單位,每天為1440分鐘:
SQL> alter system set db_flashback_retention_target=7200 scope=spfile;
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 1056411648 bytes
Fixed Size 2257584 bytes
Variable Size 612371792 bytes
Database Buffers 436207616 bytes
Redo Buffers 5574656 bytes
Database mounted.
SQL> alter database flashback on; #關閉alter database flashback off;
Database altered.
SQL> alter database open;
##查詢當前的scn號
SQL> select CURRENT_SCN from v$database;
CURRENT_SCN
-----------
724633
##查詢當前的log sequence號
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination +ARCH1
Oldest online log sequence 30
Next log sequence to archive 32
Current log sequence 32
####通過flashback恢復數據庫
startup mount
##恢復到指定的時間點
flashback database to timestamp(to_date('2010-01-01 20:00:00','YYYY-MM-DD HH24:MI:SS'));
flashback database to timestamp(sysdate-1/24); ##恢復到一小時前
##恢復到指定的SCN
flashback database to scn ********;
##恢復到某個log sequence
flashback database to sequence=**** thread=1;
alter database open resetlogs;
####通過flashback恢復表
##通過flashback恢復被刪除的表,如果cyclebin已經被開啟
flashback table <table_name> to before drop [rename to <net_name>];
##回退到一小時前
flashback table <table_name> to timestamp(system-1/24);
##多表同時回退到指定的時間點
flashback table <table_name,table_name> to timestamp(system-1/24/60); ##回退到1分鐘前
##回退到指定的scn
flashback table <table_name> to scn ******;
##回退是啟動出發起
flashback table <table_name> to scn ****** enable triggers;
關于flashback閃回技術的分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。