Oracle 10g備份與恢復高階使用者指南--第三章 RMAN恢復(Recovery)概念

panpong發表於2017-01-01

第三章        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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章