Oracle數(shù)據(jù)庫(kù)RMAN不完全恢復(fù)之基于SCN恢復(fù)
作者:aqszhuaihuai
本文我們主要介紹了Oracle數(shù)據(jù)庫(kù)RMAN不完全恢復(fù)之基于SCN恢復(fù)的相關(guān)知識(shí),希望能夠?qū)δ兴鶐椭?/div>
之前我們介紹了:Oracle數(shù)據(jù)庫(kù)RMAN不完全恢復(fù)之基于時(shí)間恢復(fù),本文我們介紹一下Oracle數(shù)據(jù)庫(kù)RMAN不完全恢復(fù)的基于SCN恢復(fù)的相關(guān)知識(shí),希望能夠?qū)δ兴鶐椭?/p>
基于SCN恢復(fù)是指當(dāng)出現(xiàn)用戶錯(cuò)誤(例如誤刪除表、誤截?cái)啾恚r(shí),恢復(fù)到指定SCN點(diǎn)的恢復(fù)。
模擬誤刪除表t_user。
執(zhí)行rman,啟動(dòng)數(shù)據(jù)庫(kù)到mount狀態(tài)。
使用set until scn命令指定要恢復(fù)到的scn點(diǎn)。
轉(zhuǎn)儲(chǔ)、恢復(fù)數(shù)據(jù)庫(kù),并使用resetlogs選項(xiàng)打開數(shù)據(jù)庫(kù)。
--模擬誤刪除表t_user。
- SQL> select count(*) from t_user;
- COUNT(*)
- ----------
- 2
- SQL> insert into t_user select 'spring mvc_' from dual;
- 1 row created.
- SQL> commit;
- Commit complete.
- SQL> alter system switch logfile;
- System altered.
- SQL> alter system checkpoint;
- System altered.
- SQL> select current_scn from v$database;
- CURRENT_SCN
- -----------
- 1214281
- SQL> drop table t_user;
- Table dropped.
--恢復(fù)
- [oracle@localhost ~]$ rman target sys/oracle@oralife nocatalog
- RMAN> run {
- 2> startup force mount;
- 3> set until scn=1214281;
- 4> restore database;
- 5> recover database;
- 6> sql 'alter database open resetlogs';
- 7> }
--已恢復(fù)
- SQL> select count(*) from t_user;
- COUNT(*)
- ----------
- 3
在實(shí)際環(huán)境下,應(yīng)該使用LogMiner確定誤操作SCN點(diǎn)。
在執(zhí)行了不完全恢復(fù)之后,推薦刪除早期所有備份,重新備份數(shù)據(jù)庫(kù)。
以上就是Oracle數(shù)據(jù)庫(kù)RMAN不完全恢復(fù)之基于SCN恢復(fù)的全部?jī)?nèi)容,本文我們就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!
【編輯推薦】
責(zé)任編輯:趙鵬
來(lái)源:
CSDN博客


相關(guān)推薦




