RMAN說,我能備份(5)--RMAN備份歸檔檔案

junsansi發表於2010-01-21

8.3.5 歸檔檔案的備份

  歸檔日誌對於資料庫介質恢復相當關鍵,其雖然不像控制檔案那樣一旦損壞則資料庫馬上崩潰,但重要性絲毫不減。只要擁有相應的歸檔日誌檔案,就能確保我們將資料庫恢復到備份之後的任意時刻。在RMAN中備份歸檔日誌有以下兩種方式:

8.3.5.1 利用BACKUP ARCHIVELOG命令備份

  BACKUP ARCHIVELOG 命令的使用如下所示:

    RMAN>  BACKUP ARCHIVELOG ALL;

    Starting backup at 29-MAR-09

    current log archived

    using channel ORA_DISK_1

    channel ORA_DISK_1: starting archive log backupset

    channel ORA_DISK_1: specifying archive log(s) in backup set

    input archive log thread=1 sequence=27 recid=1 stamp=682798250

    input archive log thread=1 sequence=28 recid=2 stamp=682798255

    input archive log thread=1 sequence=29 recid=3 stamp=682805568

    channel ORA_DISK_1: starting piece 1 at 29-MAR-09

    channel ORA_DISK_1: finished piece 1 at 29-MAR-09

    piece handle=F:\ORACLE\PRODUCT\10.2.0\DB_2\DATABASE\0NKB5IA0_1_1 tag=TAG20090329T201248 comment=NONE

    channel ORA_DISK_1: backup set complete, elapsed time: 00:00:04

    Finished backup at 29-MAR-09

  BACKUP ARCHIVELOG 命令比較靈活, ALL 是指備份當前所有可訪問到的歸檔檔案,你還可以通過 UNTIL 、 SCN 、 TIME 、 SEQUENCE 等引數靈活指定要備份的歸檔區間,這裡不再一一演示,感興趣的朋友可以自行嘗試。

8.3.5.2   執行BACKUP命令時指定PLUS ARCHIVELOG子句

  執行BACKUP命令時指定PLUS ARCHIVELOG子句,如下所示:

    RMAN>   BACKUP CURRENT CONTROLFILE PLUS ARCHIVELOG;

    Starting backup at 29-MAR-09

    current log archived

    using channel ORA_DISK_1

    channel ORA_DISK_1: starting archive log backupset

    channel ORA_DISK_1: specifying archive log(s) in backup set

    input archive log thread=1 sequence=27 recid=1 stamp=682798250

    channel ORA_DISK_1: starting piece 1 at 29-MAR-09

    channel ORA_DISK_1: finished piece 1 at 29-MAR-09

    piece handle=F:\ORACLE\PRODUCT\10.2.0\DB_2\DATABASE\0KKB5B5B_1_1 tag=TAG20090329T181050 comment=NONE

    channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02

    Finished backup at 29-MAR-09

    Starting backup at 29-MAR-09

    using channel ORA_DISK_1

    channel ORA_DISK_1: starting full datafile backupset

    channel ORA_DISK_1: specifying datafile(s) in backupset

    including current control file in backupset

    channel ORA_DISK_1: starting piece 1 at 29-MAR-09

    channel ORA_DISK_1: finished piece 1 at 29-MAR-09

    piece handle=F:\ORACLE\PRODUCT\10.2.0\DB_2\DATABASE\0LKB5B5D_1_1 tag=TAG20090329T181053 comment=NONE

    channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02

    Finished backup at 29-MAR-09

    Starting backup at 29-MAR-09

    current log archived

    using channel ORA_DISK_1

    channel ORA_DISK_1: starting archive log backupset

    channel ORA_DISK_1: specifying archive log(s) in backup set

    input archive log thread=1 sequence=28 recid=2 stamp=682798255

    channel ORA_DISK_1: starting piece 1 at 29-MAR-09

    channel ORA_DISK_1: finished piece 1 at 29-MAR-09

    piece handle=F:\ORACLE\PRODUCT\10.2.0\DB_2\DATABASE\0MKB5B5G_1_1 tag=TAG20090329T181055 comment=NONE

    channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02

    Finished backup at 29-MAR-09

  在備份控制檔案之前首先對所有歸檔檔案進行備份。

  PLUS ARCHIVELOG 的方式與上種有什麼區別呢?區別太明顯了,BACKUP...PLUS ARCHIVELOG命令在備份過程中會依次執行下列步驟:

  1 )執行ALTER SYSTEM ARCHIVE LOG CURRENT語句對當前 R edolog 進行歸檔。

  2 )執行BACKUP ARCHIVELOG ALL命令備份所有已歸檔日誌。

  3 )執行BACKUP命令對指定項進行備份。

  4 )再次執行ALTER SYSTEM ARCHIVE LOG CURRENT對當前 R edolog 歸檔。

  5 )對新生成的尚未備份的歸檔檔案進行備份。

  在完成歸檔日誌檔案備份後,我們需要刪除已備份過的歸檔檔案(歸檔檔案記錄下了資料庫進行的所有操作,如果您的資料庫操作頻繁而且量大,那歸檔檔案的大小也是相當恐怖,備份後刪除釋放儲存空間是相當有必要的)。RMAN提供了DELETE ALL INPUT引數,加在BACKUP命令後,則會在完成備份後自動刪除歸檔目錄中已備份的歸檔日誌。

  完成備份之後,可以通過下列命令檢視已備份的歸檔日誌片段:

    RMAN>  LIST BACKUP OF ARCHIVELOG ALL;
=================================================

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

相關文章