rman不完全恢復(fù)

一、不完全恢復(fù)特性

1、不完全恢復(fù)

? ? ? 不完全恢復(fù)僅僅是將數(shù)據(jù)恢復(fù)到某一個特定的時間點或特定的SCN,而不是當(dāng)前時間點。不完全恢復(fù)會影響整個數(shù)據(jù)庫,需要在MOUNT狀 態(tài)下進(jìn)行。在不完全恢復(fù)成功之后,通常需要使用 resetlogs 選項來打開數(shù)據(jù)庫。當(dāng)使用resetlogs后,SCN 計數(shù)器不會被重置,原來的日

? 志序號 log sequence 會結(jié)束,從新開始新的日志序列號。在Oracle里稱之為產(chǎn)生一個新的incarnation。同時Oracle還會重置聯(lián)機(jī)重做日

? 志內(nèi)容,因此resetlogs之后建議重新全備數(shù)據(jù)庫。


2、不完全恢復(fù)的情形

? ? ? 介質(zhì)故障(media failure)導(dǎo)致部分或全部聯(lián)機(jī)重做日志(online redo log)損壞

? ? ? 用戶操作失誤(user error)導(dǎo)致數(shù)據(jù)丟失,例如,用戶由于疏忽而移除了表,提交了無效的數(shù)據(jù)到表

? ? ? 由于歸檔重做日志(archived redo log)丟失而無法進(jìn)行完全恢復(fù)(complete recovery)

? ? ? 當(dāng)前控制文件(control file)丟失,必須使用備份的控制文件打開(open)數(shù)據(jù)庫

3、不完全恢復(fù)的步驟

? ? ? 關(guān)閉數(shù)據(jù)庫并備份數(shù)據(jù)庫(以防止恢復(fù)失敗)

? ? ? 啟動數(shù)據(jù)庫到mount 狀態(tài)

? ? ? 還原所有數(shù)據(jù)文件,同時可以選擇還原控制文件(注意需要還原所有數(shù)據(jù)文件,而不僅僅是受損文件)

? ? ? 將數(shù)據(jù)庫恢復(fù)至某個時間點、序列、或系統(tǒng)改變號

? ? ? 使用RESETLOGS關(guān)鍵字打開數(shù)據(jù)庫

5、不完全介質(zhì)恢復(fù)的幾種類型

? ? ? 基于時間的恢復(fù)(Time-based recovery) 將數(shù)據(jù)恢復(fù)到指定的時間點

? ? ? 基于SCN 的恢復(fù)(Change-based recovery) 將數(shù)據(jù)恢復(fù)到指定的SCN

? ? ? 按重做日志序號恢復(fù)(Log sequence recovery)將數(shù)據(jù)恢復(fù)到指定的重做日志序號(僅使用RMAN時有效)



create user weisi_huifu identified by weisi default tablespace RMAN_TBS

grant select on DBA_OBJECTS to WEISI_HUIFU;

grant connect to WEISI_HUIFU;

grant resource to WEISI_HUIFU;

? RMAN> backup database;

sqlplus weisi_huifu/weisi@weisi

create table t as select? * from sys.dba_objects;

select count(1) from t;

? ? ? 145088

select dbms_flashback.get_system_change_number, SCN_TO_TIMESTAMP(dbms_flashback.get_system_change_number) from dual;

2641340


? ? t_norecover

22290564

insert into t select * from t;

commit;

alter system switch logfile;

alter system checkpoint;

shutdown immediate;

RMAN> startup mount;

? ? ? restore database from /opt/soft/recover/ORCL/backupset/2016_04_23/o1_mf_nnndf_TAG20160423T195019_ckprcw0l_.bkp;

? ? ? recover database until scn 22290564;

? ? ? alter database open resetlogs;


SQL> select count(1) from t_norecover;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容