重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
十六、歸檔模式下的完全恢復
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:主機域名、虛擬主機、營銷軟件、網站建設、鎮沅網站維護、網站推廣。
在歸檔模式下,擁有RMAN的備份和歸檔重做日志以及當前的重做日志文件,可以做到數據庫的完全恢復,并且是聯機狀態的下的恢復。
1.非系統表空間損壞的恢復
做數據庫完全備份
RMAN> backup as compressed backupset database plus archivelog delete all input;
創建測試表
SQL> create table test123 tablespace users as select * from dba_segments;
刪除測試表的表空間數據文件
SQL> ! rm -rf /u01/app/oradata/orcl/users01.dbf
重啟數據庫
SQL> shutdown immediate
SQL> startup
為了先打開數據庫,先將該數據庫文件離線。
SQL> alter database datafile 4 offline;
SQL> alter database open; --這里也可以在mounted狀態進行恢復后再打開數據庫
還原數據文件
RMAN> restore datafile 4;
恢復數據文件
RMAN> recover datafile 4;
將數據庫文件online
SQL> alter database datafile 4 online;
也可以將以上命令放在rman腳本中。
run {
sql 'alter database datafile 4 offline';
restore tablespace users;
recover tablespace users;
sql 'alter database datafile 4 online';
}
2.系統表空間損壞的恢復
系統表空間損壞,必須先做恢復,數據庫才能打開。
刪除數據文件system01.dbf
[oracle@oracle11g ~]$ rm -rf /u01/app/oradata/orcl/system01.dbf
注意:此時可能會無法重新連接數據庫:
使用RMAN登錄也失敗,使用shutdown abort停止數據庫:
啟動數據庫到mount狀態
SQL> shutdown immediate
SQL> startup
使用RMAN腳本恢復數據文件。
RMAN> run {
sql 'alter database datafile 1 offline';
restore datafile 1;
recover datafile 1;
sql 'alter database datafile 1 online';
}
啟動數據庫
SQL> alter database open;
3.所有數據文件丟失的恢復
刪除所有數據文件。
[oracle@oracle11g orcl]$ rm -f /u01/app/oradata/orcl/*.dbf
使用RMAN腳本恢復數據文件。
SQL> shutdown abort
SQL> startup
RMAN> run {
restore database;
recover database;
sql 'alter database open';
}