如果database發生logical data corruption 或是 人為的錯誤(譬如誤刪資料,誤改資料),Oracle 11g有個很好用的功能,叫做flashback database,可以回復到某個還原點,或是某個SCN,速度會比使用RMAN做復原來個快。
Example:
FLASHBACK DATABASE TO RESTORE POINT 'before_install';
FLASHBACK DATABASE TO SCN 202333;
前提:
1. database要在archivelog mode
2. fast recovery area 要是enabled
設定步驟:
SQL> shutdown immediate
SQL> startup mount
SQL> set line 120
SQL> column db_unique_name format A20
SQL> ALTER SYSTEM SET DB_FLASHBACK_RETENTION_TARGET=4320 scope=both; # 3天
System altered.
SQL> recover managed standby database cancel;
Media recovery complete.
SQL> ALTER DATABASE FLASHBACK ON;
Database altered.SQL> select DB_UNIQUE_NAME,FORCE_LOGGING,FLASHBACK_ON from v$database;
DB_UNIQUE_NAME FORCE_LOG FLASHBACK_ON
-------------------- --------- ------------------------------------------------------
DGTEST_S YES YES
SQL> show parameter DB_FLASHBACK_RETENTION_TARGET
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
db_flashback_retention_target integer 4320
SQL> alter database open;
以上,完成flashback database的設定。
記得要 monitor Flash Recovery Area 的使用量,不要讓他爆了。
SQL> select * from v$recovery_file_dest;
SQL> select * from v$recovery_area_usage;
沒有留言:
張貼留言