資料庫不完全恢復

舊夢依稀發表於2013-11-19
1、不能只對資料庫的一部分執行不完全恢復操作,因為這會使資料庫的一部分具有與這個資料庫其餘部分不同的系統更改號(SCN)或時間點。
2、在run程式碼塊中使用set命令與until time、until SCN或until sequence引數建立一個恢復目標。
run
{
set until time "to_date('07/01/06 15:00:00','mm/dd/yy hh24:mi:ss')";
restore database;
recover database;
alter database open resetlogs;
}
上面是一種方法,也可以選擇在restore和recover命令中直接使用until time、until SCN或until sequence引數,這樣就避免使用run程式碼塊(這是一種更值得推薦的做法),見下一段程式碼。
3、基於時間點的恢復
startup mount;
restore database UNTIL TIME "to_date('07/01/06 15:00:00','mm/dd/yy hh24:mi:ss')";
recover database UNTIL TIME "to_date('07/01/06 15:00:00','mm/dd/yy hh24:mi:ss')";
alter database open resetlogs;
4、基於SCN的恢復
下面程式碼將資料庫還原到SCN 10000,但是不包含這個SCN。
startup mount;
restore database UNTIL SCN 10000;
recover database UNTIL SCN 10000;
alter database open resetlogs;
5、基於日誌序列的恢復
下面程式碼將資料庫還原到日誌序列為100,但是不包含這個日誌序列。
startup mount;
restore database UNTIL SEQUENCE 100 thread 1;
recover database UNTIL SEQUENCE 100 thread 1;
alter database open resetlogs;
6、使用還原點恢復
restore database until restore point TANGO_ONE;
recover database until restore point TABGO_ONE;
alter database open resetlogs;
下面是使用run程式碼塊和set命令建立目標還原點
run
{
set restore point TANGO_ONE;
restore database TANGO_ONE;
recover database TANGO_ONE;
}
alter database open resetlogs;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28998293/viewspace-776966/,如需轉載,請註明出處,否則將追究法律責任。

相關文章