您好,登錄后才能下訂單哦!
十五、非歸檔模式下的完全恢復
非歸檔模式下的恢復可能是完全恢復,也可能是不完全恢復,如果聯機重做日志被復寫,只能做不完全恢復的可能性更大。
參數文件丟失
1.控制文件、數據文件以及聯機重做日志文件丟失的恢復
先對數據庫做全備。包括數據文件、控制文件和參數文件,并使用快閃恢復區作為備份目錄。
SQL> shutdown immediate;
SQL> startup mount;
[oracle@oracle11g ~]$ rman target username/password
RMAN> backup as compressed backupset database;
創建測試表
SQL> alter database open;
SQL> create table test123 as select * from dba_segments;
刪除所有數據文件、控制文件
[oracle@oracle11g ~]$ rm -rf /u01/app/oradata/orcl/*
重啟數據庫,這里直接shutdown immediate可能失敗,也可以成功。
SQL> shutdown abort
SQL>
首先恢復控制文件
[oracle@oracle11g 2018_08_05]$ rman target /
RMAN> restore controlfile from '/u01/app/fast_recovery_area/orcl/autobackup/2018_08_05/o1_mf_s_983353814_fpdpkdox_.bkp'
--這里也可以讓RMAN自己選擇備份文件
RMAN> restore controlfile from autobackup;
SQL> alter database mount;
接著恢復數據庫
RMAN> restore database;
由于丟失了所有聯機重做日志文件,需要恢復數據庫并使用noredo選項,不讓RMAN嘗試將重做日志應用于數據庫,再通過resetlogs重建聯機重做日志。
RMAN> recover database noredo;
SQL> alter database open resetlogs;
驗證測試表丟失
SQL> select * from test123 where rownum <=1;
2.數據文件丟失的恢復
刪除數據文件users01.dbf
[oracle@oracle11g orcl]$ rm -rf users01.dbf
SQL> shutdown abort;
SQL> startup
RMAN> restore datafile 4;
RMAN> recover datafile 4;
SQL> alter database open;
如果聯機重做日志沒有被復寫,能做到完全恢復,否則只能做不完全恢復。
RMAN> restore database;
RMAN> recover database;
SQL> alter database open resetlogs;
3.將數據文件恢復到其他磁盤目錄
如果是磁盤損壞,恢復數據文件時必須更改數據文件存放路徑。
[oracle@oracle11g orcl]$ rm -rf undotbs01.dbf system01.dbf
SQL> shutdown abort;
SQL> startup
RMAN> run {
set newname for datafile
'/u01/app/oradata/orcl/system01.dbf' to '/u01/app/backup/orcl/system01.dbf';
set newname for datafile
'/u01/app/oradata/orcl/undotbs01.dbf' to '/u01/app/backup/orcl/undotbs01.dbf';
restore database;
switch datafile all;
}
RMAN> recover database until cancel;
SQL> alter database open resetlogs;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。