Oracle備份之RMAN工具(二)

fengpinDBA發表於2013-11-23

二、RMAN工作原理

1.        RMAN原理概述

RMAN工具只是一個客戶端工具,屬於使用者程式,當RMAN連線到目標資料庫的時候會相應的生成一個伺服器程式與它對應,RMAN工具會解析使用者傳送的命令,將解析後的命令傳送到伺服器程式,由伺服器程式呼叫相應的包執行相應的工作。(即RMAN工具僅僅是一個命令語法解析器,接受客戶端傳送的命令,將這些命令轉化為遠端的過程呼叫,這些過程呼叫執行目標資料庫上的PL/SQL包)

2.        RMAN與控制檔案

在預設情況下,RMAN通過控制檔案指導備份和恢復,將相關的後設資料資訊寫入控制檔案,從這點可以看出,控制檔案是相當的重要的。

a.        控制檔案的備份方式

.  確保控制檔案有多個映象檔案

.  啟動RMAN控制檔案的自動備份

.  在RMAN排程備份指令碼中加入alter database backup current control;

.  在RMAN排程備份指令碼中加入backup current controlfile;

b.        control_file_record_keep_time引數

基於nocatalog的備份管理方式,是將RMAN的備份資訊放在控制檔案中,由於控制檔案的大小不能無限增大,所以在控制檔案中只能保留一段時間的備份與恢復資訊,而這個時間的控制,由一個引數為參考依據,這個引數就是control_file_record_keep_time。

SQL> show parameter control_file_record_keep_time

NAME                                 TYPE              VALUE

--------------                       ---------------    ----------------

control_file_record_keep_time        integer             7

SQL>

control_file_record_keep_time參數列示控制檔案裡可重複使用的記錄所能保留的最小天數。如果新增加一條記錄到控制檔案可以重複使用的部分,這是最舊的記錄尚沒有超出最小保留天數,那麼記錄對控制檔案的這一部分進行擴充套件。如果將引數設定為0,那麼控制檔案可以重複使用的部分將永遠不會擴充套件。(這個引數只應用於控制檔案中可迴圈利用的部分,如歸檔日誌檔案、各種備份記錄等,該引數不會應用於資料檔案、表空間,這些內容只有在當其刪除之後才能重用)。

可重用的部分包括如下幾種型別(可以通過查詢檢視$controfile_record_section得到):

SQL> select type from v$controlfile_record_section;

TYPE

--------------------------

DATABASE

CKPT PROGRESS

REDO THREAD

REDO LOG

DATAFILE

FILENAME

TABLESPACE

TEMPORARY FILENAME

RMAN CONFIGURATION

LOG HISTORY

OFFLINE RANGE

ARCHIVED LOG

BACKUP SET

BACKUP PIECE

BACKUP DATAFILE

BACKUP REDOLOG

DATAFILE COPY

BACKUP CORRUPTION

COPY CORRUPTION

DELETED OBJECT

PROXY COPY

BACKUP SPFILE

DATABASE INCARNATION

FLASHBACK LOG

RECOVERY DESTINATION

INSTANCE SPACE RESERVATION

REMOVABLE RECOVERY FILES

RMAN STATUS

THREAD INSTANCE NAME MAPPING

MTTR

DATAFILE HISTORY

STANDBY DATABASE MATRIX

GUARANTEED RESTORE POINT

RESTORE POINT

DATABASE BLOCK CORRUPTION

ACM OPERATION

FOREIGN ARCHIVED LOG

37 rows selected.

SQL>

3.        RMAN與資料塊

RMAN是基於塊級別的備份,RMAN在備份的時候,資料塊會經過Oracle記憶體再流向備份的儲存位置,根據這一過程RMAN存在一下特性:

.  檢查壞塊

.  丟棄未初始化的塊

.  增量備份

RMAN的塊級別備份不依賴於檔案系統塊或者ASM AU的大小,這樣就避免了使用作業系統工具所帶來的split block現象的發生。RMAN就像一個過濾器,可以過濾掉壞塊、空塊、未初始化的塊,是否是增量備份等。(如果有損壞的塊,預設情況下RMAN會立即終止備份操作)

4.        RMAN備份需要的檔案

a.        RMAN非一致性備份恢復需要的檔案

如果資料庫在OPEN的情況下使用RMAN執行的備份,產生的備份是非一致性的備份,在恢復的時候RMAN需要如下檔案:

.  RMAN備份的引數檔案、控制檔案

.  RMAN備份的資料檔案

.  RMAN備份的歸檔日誌檔案

.  還未備份的歸檔日誌檔案

.  聯機日誌檔案

b.        RMAN一致性備份恢復需要的檔案

.   RMAN備份的引數檔案、控制檔案

.   RMAN備份的資料檔案

5.        RMAN通道

RMAN客戶端自己不能執行備份、還原或者恢復操作。當RMAN客戶端連線到目標資料庫,Oracle在目標例項分配伺服器程式,有伺服器程式來引導操作的進行。

一個RMAN通道(channel)表示伺服器程式連結到裝置的資料流,對應一個伺服器程式會話。伺服器程式讀取資料塊到快取中進行處理,然後再通過通道將資料塊寫到輸出裝置。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29339097/viewspace-777425/,如需轉載,請註明出處,否則將追究法律責任。

相關文章