Oracle 10g備份與恢復高階使用者指南--第三章 RMAN恢復(Recovery)概念
第三章 RMAN恢復(Recovery)概念
1. RMAN還原檔案
RMAN 可還原的檔案型別:
l 資料庫(所有資料檔案)
l 表空間
l 控制檔案(control file)
l 歸檔日誌檔案
l Spfile
A. 資料檔案還原操作機制;
原位置還原:覆蓋原同名檔案
新位置還原:
例如,還原資料檔案?/oradata/trgt/tools01.dbf到預設位置,rman會覆蓋同名檔案;如果,還原前執行 set newname 命令,rman會建立一個指定的資料檔案複製。假設,執行如下命令:
RUN {
SET NEWNAME FOR DATAFILE '?/oradata/trgt/tools01.dbf' TO '/tmp/tools01.dbf';
RESTORE DATAFILE '?/oradata/trgt/tools01.dbf';
SWITCH DATAFILE '/tmp/tools01.dbf' TO DATAFILECOPY '?/oradata/trgt/tools01.dbf';
}
rman建立 ?/oradata/trgt/tools01.dbf資料檔案複製,並命名為/tmp/tools01.dbf ,同時在rman資料庫中記錄相關資訊。To update the control file to use the datafile copy at ?/oradata/trgt/tools01.dbf to /tmp/tools01.dbf as the datafile, use the SWITCH command as shown in the following example:
SWITCH DATAFILE '/tmp/tools01.dbf' TO DATAFILECOPY '?/oradata/trgt/tools01.dbf';
switch 命令就相當與sql 的alter database rename file;
B. 還原(Restore)操作如何選擇備份
選擇最近最合適的備份;同一時間點上有多個備份,則優先選擇映象複製(還原速度更快);沒有合適的備份,則會返回錯誤;如果手動指定channel,而在指定channel裝置上沒有合適的備份,則restore會失敗,因此,配置自動分配channel更好;
C. 還原(Restore)的故障遷移
當restore時,如果發現備份片,映象備份、代理備份或資料塊損壞的話,RMAN會自動尋找其他可用的備份;首先會尋找同批次備份的其他副本,然後再找前一批次中合適備份,如果都沒有找到,RMAN會重建資料檔案;
故障遷移同樣在資料庫恢復(RECOVER、BLOCKRECOVER、FLASHBACK DATABASE)報錯時使用;
故障遷移資訊如:
failover to piece handle=/u01/backup/db_1 tag=BACKUP_031009
壞塊相應資訊列印到alert.log與trace files中;
D. 還原最佳化:restore中,已經還原或沒有更改的資料檔案會被跳過而不執行還原;force選項則會強制執行還原;DUPLICATE不支援force選項;
2. RMAN資料檔案介質(media)恢復
A. RMAN media recovery的基本步驟
l 設定資料庫狀態:mount or open;例如,在執行全庫恢復是則要mount狀態;而執行online表空間恢復時則可open狀態
l 執行不完全恢復時,可使用SET UNTIL 命令指定restore或recover的時間,SCN, restore point(還原點),log sequence number;同樣,也可在restore和recovery命令中指定UNTIL子句;
l Restore命令
l Revover命令
l 更改資料庫為正常狀態
B. 恢復機制:增量備份與redo log
以下情況歸檔日誌會被記錄在控制檔案中:
l 歸檔程式對redolog歸檔
l RMAN restore歸檔日誌
l RMAN BACKUP AS COPY 命令複製日誌
l RMAN CATALOG命令編目使用者管理歸檔日誌
如果使用recovery catalog,RMAN產生歸檔日誌資料並寫入recovery catalog中,並且將歸檔日誌分類為映象複製;
C. 資料庫資訊與實際檔案不同步
如果歸檔日誌用系統命令刪除了,而RMAN資料庫中任然記錄這些歸檔日誌資訊,則rman在用這些歸檔日誌恢復時會失敗,並且rman不會嘗試其他複製檔案而直接報錯;
執行crosscheck命令,同步資料庫資訊;
D. 時間點恢復或不完全恢復: time, SCN, restore point, or log sequence number用SET UNTIL選項;
執行時間點恢復或不完全恢復後,必須以RESETLOGS選項開啟資料庫;
3. RMAN block介質(media)恢復(Blockrecover)
命令格式:BLOCKRECOVER DATAFILE 7 BLOCK 3 DATAFILE 2 BLOCK 235;
Block media recovery 的優點:
l 更低的平均恢復時間MTTR(mean time to recovery):因為只是對壞塊的restore,最少的redo應用和更低IO負載
l 允許受影響的資料檔案online block恢復;
Block media recovery限制條件:
l 只能在RMAN中執行;
l 只能執行單個block的完全恢復;
l 只能對已經標示的壞塊恢復;
l 必須有RMAN的全備份,才能執行Block media recovery;
l 透過resetlogs,Block media recovery能夠從父備份還原和恢復壞塊;
l 被標示的壞塊恢復前都不能訪問;
A. 什麼時候使用Block media recovery
Block Media Recovery不是datafile media recovery替代方法,但是是datafile media recovery的補充方法;
Block Media Recovery對特定塊的資料丟失特別有用;塊級的資料丟失通常發生在間歇性或隨機性的IO錯誤;
壞塊報告通常記錄在如下檔案中:
l Error messages in standard output
l The alert log
l User trace files
l Results of the SQL commands ANALYZE TABLE and ANALYZE INDEX
l Results of the DBVERIFY utility
l Third-party media management output
命令格式:
BLOCKRECOVER DATAFILE 7 BLOCK 3
DATAFILE 2 BLOCK 235;
B. 當redo缺失時資料塊介質恢復???????
Block Media Recovery When Redo Is Missing???????
資料檔案介質恢復時需要一系列完整的redo日誌;而資料塊介質恢復則只需要塊變化相關的redo日誌;
4. RMAN 複製資料庫
RMAN DUPLICATE命令可以在其他位置建立目標資料庫的複製;duplicate命令可以:
a.restore目標資料庫檔案為複製資料庫檔案,並且可以利用歸檔日誌或增量備份執行不完全恢復;
b。不完成恢復後,可以resetlogs開啟復制資料庫;
c。為複製資料庫產生新的唯一資料庫ID
SKIP READONLY:跳過只讀表空間;
SKIP TABLESPACE:排除表空間(system,sysaux例外,另外,包含rollback、undo的表空間也不能排除)
NOFILENAMECHECK:在另一臺主機中建立複製資料庫時,如果有相同的目錄結構,則可透過NOFILENAMECHECK選項,重用目標資料庫的檔名;
5. RMAN 建立物理備用資料庫
RMAN DUPLICATE命令可以建立備份資料庫,但是需要手動建立初始化引數檔案(init.ora)用於啟動備份資料庫例項;另外,還要備份所有的資料檔案,控制檔案;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16976507/viewspace-2131744/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 備份恢復Lesson 04.Using the RMAN Recovery Catalog
- Oracle 備份恢復篇之RMAN catalogOracle
- ORACLE DG從庫 Rman備份恢復Oracle
- RMAN備份與恢復測試
- rman 增量備份恢復
- RMAN備份恢復技巧
- Oracle 備份 與 恢復 概述Oracle
- RMAN備份異機恢復
- RMAN備份恢復典型案例——異機恢復未知DBID
- RAC備份恢復之Voting備份與恢復
- 備份與恢復oracle_homeOracle
- RMAN備份恢復效能優化優化
- 備份與恢復:polardb資料庫備份與恢復資料庫
- RMAN備份恢復典型案例——RMAN備份&系統變慢
- 【RMAN】Oracle12c以後rman 備份恢復命令參考Oracle
- Oracle 12c 備份與恢復Oracle
- rman備份異機恢復(原創)
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- Oracle 備份恢復之 FlashbackOracle
- ORACLE備份&恢復案例(轉)Oracle
- MySQL 非常規恢復與物理備份恢復MySql
- Oracle RMAN恢復測試Oracle
- Jenkins備份與恢復Jenkins
- Postgresql 備份與恢復SQL
- MySQL 備份與恢復MySql
- 12 使用RMAN備份和恢復檔案
- RMAN備份恢復典型案例——ORA-00245
- Windows oracle 11g rman備份恢復到linux系統WindowsOracleLinux
- MySQL備份與恢復——基於MyDumper/MyLoader 邏輯備份恢復MySql
- 透過搭建恢復目錄實現RMAN異地備份和恢復
- oracle 增量備份恢復驗證Oracle
- Oracle 備份和恢復介紹Oracle
- ORACLE備份&恢復案例三(轉)Oracle
- ORACLE備份&恢復案例二(轉)Oracle
- ORACLE本地磁碟備份恢復Oracle
- MySQL備份與恢復——基於OUTFILE /LOAD DATA 邏輯備份恢復MySql
- Oracle RMAN 表空間恢復Oracle
- DB的備份與恢復
- GitLab的備份與恢復Gitlab