Oracle備份之RMAN工具(三)

fengpinDBA發表於2013-11-25

三、RMAN的備份介質

RMAN的備份介質分為兩類:映象拷貝和備份集,映象拷貝是對檔案的直接拷貝,而備份集是一種只有RMAN才能識別的備份轉儲檔案(映象拷貝不能存放在磁帶中)。使用備份集可以充分利用RMAN的增量備份、壓縮備份、加密備份、並行備份等特性。

1.        備份集與備份片

一個備份集包含一個或多個資料檔案、歸檔Redo日誌檔案、控制檔案或者伺服器引數檔案的資料(備份集是使用RMAN寫備份到序列磁帶裝置上的唯一格式)。當發出BACKUP命令的時候,RMAN將建立一個完整的備份,包含一個或多個備份集。備份集是一個邏輯結構,包含一組物理檔案,這些文理檔案是備份片,它是RMAN備份最基本的物理結構。

有關備份集與備份片有如下規定:

?  一個資料檔案不能跨越一個備份集,但是能跨越備份片。

?  資料檔案、控制檔案能儲存到相同的備份集上,但是它們不能和歸檔日誌儲存在相同的備份集上。

注意:通道決定的是並行度和備份集個數,而filesperset決定了每個備份集中包含的檔案個數。

2.        映象拷貝

映象拷貝是位對位(bit-for-bit)拷貝,在RMAN中可以非常方便的完成資料檔案的拷貝:

RMAN> copy datafile ‘datafile name’ to ‘new file name’;

或者

RMAN> backup device type disk format ‘new file name’ as copy datafile ‘file_id’;

使用映象拷貝是將資料檔案包含的所有塊都拷貝出來,包括資料檔案中為使用的空塊。

四、RMAN的備份方式

1.        完全備份

完全備份是對整個資料庫、資料檔案或者表空間進行一次全備份(在傳統的物理備份恢復過程中,至少需要有一個對整個資料庫的全庫備份)。

全庫備份的幾種方法:

方法一  資料庫全庫備份:

RMAN> backup database;

方法二  資料庫全庫映象拷貝:

RMAN> backup as copy database;

方法三  增量備份中的0級備份,也是一種全庫備份:

RMAN> backup incremental level 0 database;

2.        增量備份

差異增量備份:

差異增量備份就是備份自上次(全庫備份和增量備份)以來發生的塊改變,差異增量備份是預設的增量備份方式。如下是0級和1級的備份命令:

?  0級備份

RMAN> backup incremental level 0 database;

?  1級備份

RMAN> backup incremental level 1 database;

         累計增量備份:

         累計增量備份是指自上次0級備份以來發生的塊改變,如下是0級累計增量備份和1級累計增量備份的命令:

?  0級備份

RMAN> backup incremental level 0 cumulative database;

注意:差異增量備份和累計增量備份的0級備份命令是不同的。

?  1級備份

RMAN> backup incremental level 1 cumulative database;

注意:0級備份與全庫備份的不同之處在於0級備份可以作為其他增量備份的基礎備份,而全備份不能作為增量備份的基礎備份。如果不存在0級備份,可以直接進行1級備份,這樣1級備份將是一個全庫備份。

塊變更追蹤:

在預設情況下使用增量備份,需要對備份檔案的資料塊同資料檔案的資料塊進行對比,判斷是否需要對資料塊進行增量備份。由於增量部分畢竟是少部分塊,這樣的對比會導致大量不必要的塊讀寫和時間上的話費,為了解決這個問題,可以通過塊變更追蹤獲取更好的增量備份效能。

啟動塊變更追蹤就類似於建立一個記錄上次備份後的資料塊改變,在增量備份的時候,只需要直接對這部分發生改變的塊進行備份,從而可以提高備份的效率,減少不必要的讀寫工作。以下為塊變更追蹤的操作步驟:

步驟  1 啟動塊變更追蹤:

SQL> alter database enable block change tracking;

步驟2 指定塊變更追蹤檔案:

SQL> alter database enable block change tracking using file ‘/dir/blck_change_file’;

步驟3 關閉塊變更追蹤檔案:

SQL> alter database disable block change tracking;

步驟4 檢視塊變更追蹤路徑、狀態及檔案大小:

SQL> select status,filename,bytes from v$block_change_tracking;

3.        合併備份

增量備份的合併首先需要產生一個完全的資料檔案映象拷貝,之後每次把增量備份部分合併到這個映象拷貝上。最終在還原的時候,只需要從映象拷貝中還原,在恢復的時候,只需要應用最後一次增量備份之後的歸檔Redo日誌和聯機Redo日誌。以下是合併備份的操作步驟:

步驟1 建立0級增量全庫備份:

RMAN> backup incremental level 0 tag ‘quan’ database;

步驟2 建立1級增量備份:

RMAN> backup incremental level 1 for recover of copy tag ‘quan’ database;

這裡的1級備份是用於合併備份

步驟3 對tag為quan的備份進行合併:

RMAN> recover copy of database with tag ‘quan’;

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

相關文章