在更新之前可以建立restore point ,當更新失敗時,可以退回到之前建立還原點那個時刻。
rac環境建立restore point 請參考:http://blog.csdn.net/zuixinnet/article/details/11633911
Flashback Database 和 restore points 都可以提供一個基于時間點的復原。restore points隻能恢複到一個固定的時間點,隻抓去一次狀态。flashback database 能恢複到開啟flashback database 之後的任意一個點,不斷的去寫日志到fra,對性能有一定的影響。是以對于更新失敗後的回退操作,最好用restore point,因為即使我們沒有啟用Flashback Database,那麼也可以恢複到我們建立的point。
利用還原點恢複的要求:
(1) 利用還原點要求資料庫處于歸檔模式下;
(2) 在特性僅在版本10.2之後可用;
(3) 必須保證閃回回複區flashback recovery area有足夠的磁盤空間;
(4) 注意在更新後不要立即修改compatible參數,restore point無法跨越compatible工作
restore point 恢複步驟:
1、檢視閃回區參數
set lines 120
col name for a30
col value for a40
show parameter db_recover
2、設定閃回恢複區參數
建立/u01/flashback 目錄
ALTER SYSTEM SET db_recovery_file_dest_size=10g SCOPE=BOTH;
ALTER SYSTEM SET db_recovery_file_dest='/u01/flashback' SCOPE=BOTH;
3、停止資料庫
shutdown immediate
4、将資料庫啟動到mount狀态。
startup mount
5、建立還原點。
create restore point upgrade_point guarantee flashback database;
6、檢視還原點
select name from v$restore_point;
7、還原到還原點
shutdown immediate
startup mount
flashback database to restore point upgrade_point; --還原到之前建立的restore point點
alter database open resetlogs; --打開資料庫并重設日志
8、驗證是否成功還原了。
9、drop restore point upgrade_point; --删除還原點