Oracle11新特性——備份恢復功能增強(五)

yangtingkun發表於2007-11-24

打算寫一系列的文章介紹11g的新特性和變化。

Oracle11g在備份和恢復方面新增了很多的功能,無論是效能、功能性、安全性和可操作性方面都有了不同程度的提高。

這一篇介紹RMAN對長期備份的最佳化。

Oracle11新特性——備份恢復功能增強(一):http://yangtingkun.itpub.net/post/468/412991

Oracle11新特性——備份恢復功能增強(二):http://yangtingkun.itpub.net/post/468/414647

Oracle11新特性——備份恢復功能增強(三):http://yangtingkun.itpub.net/post/468/414834

Oracle11新特性——備份恢復功能增強(四):http://yangtingkun.itpub.net/post/468/414941


Oracle11g對於長期備份進行了最佳化,在以前的版本中,如果指定LOGS則意味著以後所有的日誌都不會OBSOLETE。而如果指定NOLOGS則這個備份無法進行恢復。

11g中,rman會把維護資料庫一致性的日誌包含在結果集中,不會影響到後面日誌的判斷。

10g中備份keep forever必須新增logsnologs選項:

RMAN> backup keep forever database;

MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558:
分析輸入命令時出錯
RMAN-01009:
語法錯誤: 找到 "database": 應為: "consistent, logs, nologs" 中的一個
RMAN-01007:
在第 1 行第 21 , 檔案: standard input

MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558:
分析輸入命令時出錯
RMAN-01009:
語法錯誤: 找到 ";": 應為: "allocate, alter, backup, beginline, blockrecover, catalog, change, connect, copy, convert, create, crosscheck, configure, duplicate, debug, delete, drop, exit, endinline, flashback, host, {, library, list, mount, open, print, quit, recover, register, release, replace, report, renormalize, reset, restore, resync, rman, run, rpctest, set, setlimit, sql, switch, spool, startup, shutdown, send, show, test, transport, upgrade, unregister, validate" 中的一個
RMAN-01007:
在第 1 行第 29 , 檔案: standard input

RMAN> backup keep forever logs database;

啟動 backup 25-9 -07使用通道 ORA_DISK_1使用通道 ORA_DISK_2備份永遠不會廢棄備份失效時, 從該備份恢復所需的存檔日誌也會失效通道 ORA_DISK_1: 啟動全部資料檔案備份集通道 ORA_DISK_1: 正在指定備份集中的資料檔案輸入資料檔案 fno=00001 name=/data1/oradata/test/test/system01.dbf輸入資料檔案 fno=00002 name=/data1/oradata/test/test/undotbs01.dbf通道 ORA_DISK_1: 正在啟動段 1 25-9 -07通道 ORA_DISK_2: 啟動全部資料檔案備份集通道 ORA_DISK_2: 正在指定備份集中的資料檔案輸入資料檔案 fno=00003 name=/data1/oradata/test/test/sysaux01.dbf輸入資料檔案 fno=00004 name=/data1/oradata/test/test/users01.dbf輸入資料檔案 fno=00005 name=/data1/oradata/test/test/yangtk01.dbf通道 ORA_DISK_2: 正在啟動段 1 25-9 -07通道 ORA_DISK_2: 已完成段 1 25-9 -07段控制程式碼=/data1/backup/test/1gispp9n_1_1 標記=TAG20070925T023014 註釋=NONE通道 ORA_DISK_2: 備份集已完成, 經過時間:00:00:15通道 ORA_DISK_1: 已完成段 1 25-9 -07段控制程式碼=/data1/backup/test/1fispp9n_1_1 標記=TAG20070925T023014 註釋=NONE通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:18完成 backup 25-9 -07

啟動 Control File and SPFILE Autobackup 25-9 -07 handle=/data1/backup/test/c-1920405094-20070925-05 comment=NONE完成 Control File and SPFILE Autobackup 25-9 -07

RMAN> backup archivelog all;

啟動 backup 25-9 -07當前日誌已存檔使用通道 ORA_DISK_1使用通道 ORA_DISK_2通道 ORA_DISK_1: 正在啟動存檔日誌備份集通道 ORA_DISK_1: 正在指定備份集中的存檔日誌輸入存檔日誌執行緒 =1 序列 =102 記錄 ID=107 時間戳=634184611通道 ORA_DISK_1: 正在啟動段 1 25-9 -07通道 ORA_DISK_2: 正在啟動存檔日誌備份集通道 ORA_DISK_2: 正在指定備份集中的存檔日誌輸入存檔日誌執行緒 =1 序列 =103 記錄 ID=108 時間戳=634185679通道 ORA_DISK_2: 正在啟動段 1 25-9 -07通道 ORA_DISK_1: 已完成段 1 25-9 -07段控制程式碼=/data1/backup/test/1iisppui_1_1 標記=TAG20070925T024121 註釋=NONE通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:02通道 ORA_DISK_2: 已完成段 1 25-9 -07段控制程式碼=/data1/backup/test/1jisppui_1_1 標記=TAG20070925T024121 註釋=NONE通道 ORA_DISK_2: 備份集已完成, 經過時間:00:00:02完成 backup 25-9 -07

啟動 Control File and SPFILE Autobackup 25-9 -07 handle=/data1/backup/test/c-1920405094-20070925-06 comment=NONE完成 Control File and SPFILE Autobackup 25-9 -07

RMAN> backup database plus archivelog;

啟動 backup 25-9 -07當前日誌已存檔使用通道 ORA_DISK_1使用通道 ORA_DISK_2通道 ORA_DISK_1: 正在啟動存檔日誌備份集通道 ORA_DISK_1: 正在指定備份集中的存檔日誌輸入存檔日誌執行緒 =1 序列 =102 記錄 ID=107 時間戳=634184611通道 ORA_DISK_1: 正在啟動段 1 25-9 -07通道 ORA_DISK_2: 正在啟動存檔日誌備份集通道 ORA_DISK_2: 正在指定備份集中的存檔日誌輸入存檔日誌執行緒 =1 序列 =103 記錄 ID=108 時間戳=634185679輸入存檔日誌執行緒 =1 序列 =104 記錄 ID=109 時間戳=634185710通道 ORA_DISK_2: 正在啟動段 1 25-9 -07通道 ORA_DISK_1: 已完成段 1 25-9 -07段控制程式碼=/data1/backup/test/1lisppvg_1_1 標記=TAG20070925T024152 註釋=NONE通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:02通道 ORA_DISK_2: 已完成段 1 25-9 -07段控制程式碼=/data1/backup/test/1misppvg_1_1 標記=TAG20070925T024152 註釋=NONE通道 ORA_DISK_2: 備份集已完成, 經過時間:00:00:02完成 backup 25-9 -07

啟動 backup 25-9 -07使用通道 ORA_DISK_1使用通道 ORA_DISK_2通道 ORA_DISK_1: 啟動全部資料檔案備份集通道 ORA_DISK_1: 正在指定備份集中的資料檔案輸入資料檔案 fno=00001 name=/data1/oradata/test/test/system01.dbf輸入資料檔案 fno=00002 name=/data1/oradata/test/test/undotbs01.dbf通道 ORA_DISK_1: 正在啟動段 1 25-9 -07通道 ORA_DISK_2: 啟動全部資料檔案備份集通道 ORA_DISK_2: 正在指定備份集中的資料檔案輸入資料檔案 fno=00003 name=/data1/oradata/test/test/sysaux01.dbf輸入資料檔案 fno=00004 name=/data1/oradata/test/test/users01.dbf輸入資料檔案 fno=00005 name=/data1/oradata/test/test/yangtk01.dbf通道 ORA_DISK_2: 正在啟動段 1 25-9 -07通道 ORA_DISK_2: 已完成段 1 25-9 -07段控制程式碼=/data1/backup/test/1oisppvj_1_1 標記=TAG20070925T024154 註釋=NONE通道 ORA_DISK_2: 備份集已完成, 經過時間:00:00:15通道 ORA_DISK_1: 已完成段 1 25-9 -07段控制程式碼=/data1/backup/test/1nisppvj_1_1 標記=TAG20070925T024154 註釋=NONE通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:18完成 backup 25-9 -07

啟動 backup 25-9 -07當前日誌已存檔使用通道 ORA_DISK_1使用通道 ORA_DISK_2通道 ORA_DISK_1: 正在啟動存檔日誌備份集通道 ORA_DISK_1: 正在指定備份集中的存檔日誌輸入存檔日誌執行緒 =1 序列 =105 記錄 ID=110 時間戳=634185733通道 ORA_DISK_1: 正在啟動段 1 25-9 -07通道 ORA_DISK_1: 已完成段 1 25-9 -07段控制程式碼=/data1/backup/test/1pispq08_1_1 標記=TAG20070925T024216 註釋=NONE通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:02完成 backup 25-9 -07

啟動 Control File and SPFILE Autobackup 25-9 -07 handle=/data1/backup/test/c-1920405094-20070925-07 comment=NONE完成 Control File and SPFILE Autobackup 25-9 -07

RMAN> crosscheck archivelog all;

釋放的通道: ORA_DISK_1釋放的通道: ORA_DISK_2分配的通道: ORA_DISK_1通道 ORA_DISK_1: sid=134 devtype=DISK分配的通道: ORA_DISK_2通道 ORA_DISK_2: sid=133 devtype=DISK對歸檔日誌的驗證失敗存檔日誌檔名 =/data1/oradata/test/archivelog/1_102_622258662.dbf 記錄 ID=107 時間戳 =634184611對歸檔日誌的驗證失敗存檔日誌檔名 =/data1/oradata/test/archivelog/1_103_622258662.dbf 記錄 ID=108 時間戳 =634185679對歸檔日誌的驗證失敗存檔日誌檔名 =/data1/oradata/test/archivelog/1_104_622258662.dbf 記錄 ID=109 時間戳 =634185710對歸檔日誌的驗證失敗存檔日誌檔名 =/data1/oradata/test/archivelog/1_105_622258662.dbf 記錄 ID=110 時間戳 =634185733已交叉檢驗的 4 物件


RMAN> report obsolete;

RMAN 保留策略將應用於該命令 RMAN 保留策略設定為冗餘 1已廢棄的備份和副本報表型別 關鍵字 完成時間 檔名/控制程式碼
-------------------- ------ ------------------ --------------------
存檔日誌 664 25-9 -07 /data1/oradata/test/archivelog/1_102_622258662.dbf備份集 817 25-9 -07 備份段 820 25-9 -07 /data1/backup/test/c-1920405094-20070925-05備份集 865 25-9 -07 備份段 869 25-9 -07 /data1/backup/test/1iisppui_1_1備份集 886 25-9 -07 備份段 888 25-9 -07 /data1/backup/test/c-1920405094-20070925-06備份集 941 25-9 -07 備份段 947 25-9 -07 /data1/backup/test/1lisppvg_1_1

在10g中,由於指定了LOGSKEEP FOREVER備份,所以隨後的所有ARCHIVELOG都不會在認為OBSOLETE

而在11g中,Oracle會將需要的歸檔日誌和資料庫備份一起備份,這樣不但資料庫是可以恢復的,而且不會影響後續歸檔日誌的OBSOLETE判斷:

$ rman target / catalog cata_log/cata_log

Recovery Manager: Release 11.1.0.6.0 - Production on Sat Nov 24 17:14:01 2007

Copyright (c) 1982, 2007, Oracle. All rights reserved.

connected to target database: TEST11G (DBID=790993044)
connected to recovery catalog database

RMAN> backup keep forever database;

Starting backup at 24-NOV-07
current log archived

using channel ORA_DISK_1
backup will never be obsolete
archived logs required to recover from this backup will be backed up
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00003 name=/data/oracle/oradata/test11g/undotbs01.dbf
input datafile file number=00002 name=/data/oracle/oradata/test11g/sysaux01.dbf
input datafile file number=00001 name=/data/oracle/oradata/test11g/system01.dbf
input datafile file number=00005 name=/data/oracle/oradata/test11g/yangtk01.dbf
input datafile file number=00004 name=/data/oracle/oradata/test11g/users01.dbf
channel ORA_DISK_1: starting piece 1 at 24-NOV-07
channel ORA_DISK_1: finished piece 1 at 24-NOV-07
piece handle=/data/backup/2ij1saao_1_1 tag=TAG20071124T175427 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:02:26

current log archived
using channel ORA_DISK_1
backup will never be obsolete
archived logs required to recover from this backup will be backed up
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=89 RECID=33 STAMP=639511036
channel ORA_DISK_1: starting piece 1 at 24-NOV-07
channel ORA_DISK_1: finished piece 1 at 24-NOV-07
piece handle=/data/backup/2jj1safv_1_1 tag=TAG20071124T175427 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

using channel ORA_DISK_1
backup will never be obsolete
archived logs required to recover from this backup will be backed up
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 24-NOV-07
channel ORA_DISK_1: finished piece 1 at 24-NOV-07
piece handle=/data/backup/2kj1sagj_1_1 tag=TAG20071124T175427 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

using channel ORA_DISK_1
backup will never be obsolete
archived logs required to recover from this backup will be backed up
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
channel ORA_DISK_1: starting piece 1 at 24-NOV-07
channel ORA_DISK_1: finished piece 1 at 24-NOV-07
piece handle=/data/backup/2lj1sah6_1_1 tag=TAG20071124T175427 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 24-NOV-07

RMAN> backup archivelog all;

Starting backup at 24-NOV-07
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=88 RECID=32 STAMP=639510869
input archived log thread=1 sequence=89 RECID=33 STAMP=639511036
input archived log thread=1 sequence=90 RECID=34 STAMP=639511805
channel ORA_DISK_1: starting piece 1 at 24-NOV-07
channel ORA_DISK_1: finished piece 1 at 24-NOV-07
piece handle=/data/backup/2mj1sb80_1_1 tag=TAG20071124T181008 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 24-NOV-07

RMAN> backup database plus archivelog;


Starting backup at 24-NOV-07
current log archived
using channel ORA_DISK_1
skipping archived log file /data/oradata/test11g/archivelog/1_88_639087572.dbf; already backed up 1 time(s)
skipping archived log file /data/oradata/test11g/archivelog/1_89_639087572.dbf; already backed up 1 time(s)
skipping archived log file /data/oradata/test11g/archivelog/1_90_639087572.dbf; already backed up 1 time(s)
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=91 RECID=35 STAMP=639512716
channel ORA_DISK_1: starting piece 1 at 24-NOV-07
channel ORA_DISK_1: finished piece 1 at 24-NOV-07
piece handle=/data/backup/2nj1sc4f_1_1 tag=TAG20071124T182518 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 24-NOV-07

Starting backup at 24-NOV-07
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00003 name=/data/oracle/oradata/test11g/undotbs01.dbf
input datafile file number=00002 name=/data/oracle/oradata/test11g/sysaux01.dbf
input datafile file number=00001 name=/data/oracle/oradata/test11g/system01.dbf
input datafile file number=00005 name=/data/oracle/oradata/test11g/yangtk01.dbf
input datafile file number=00004 name=/data/oracle/oradata/test11g/users01.dbf
channel ORA_DISK_1: starting piece 1 at 24-NOV-07
channel ORA_DISK_1: finished piece 1 at 24-NOV-07
piece handle=/data/backup/2oj1sc53_1_1 tag=TAG20071124T182538 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:02:35
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 24-NOV-07
channel ORA_DISK_1: finished piece 1 at 24-NOV-07
piece handle=/data/backup/2pj1scag_1_1 tag=TAG20071124T182538 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 24-NOV-07

Starting backup at 24-NOV-07
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=92 RECID=36 STAMP=639512934
channel ORA_DISK_1: starting piece 1 at 24-NOV-07
channel ORA_DISK_1: finished piece 1 at 24-NOV-07
piece handle=/data/backup/2qj1scb9_1_1 tag=TAG20071124T182856 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 24-NOV-07

RMAN> crosscheck archivelog all;

released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=66 device type=DISK
validation succeeded for archived log
archived log file name=/data/oradata/test11g/archivelog/1_88_639087572.dbf RECID=32 STAMP=639510869
validation succeeded for archived log
archived log file name=/data/oradata/test11g/archivelog/1_89_639087572.dbf RECID=33 STAMP=639511036
validation succeeded for archived log
archived log file name=/data/oradata/test11g/archivelog/1_90_639087572.dbf RECID=34 STAMP=639511805
validation succeeded for archived log
archived log file name=/data/oradata/test11g/archivelog/1_91_639087572.dbf RECID=35 STAMP=639512716
validation succeeded for archived log
archived log file name=/data/oradata/test11g/archivelog/1_92_639087572.dbf RECID=36 STAMP=639512934
Crosschecked 5 objects

RMAN> report obsolete;

RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
Report of obsolete backups and copies
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Archive Log 352 24-NOV-07 /data/oradata/test11g/archivelog/1_88_639087572.dbf
Archive Log 372 24-NOV-07 /data/oradata/test11g/archivelog/1_89_639087572.dbf
Archive Log 436 24-NOV-07 /data/oradata/test11g/archivelog/1_90_639087572.dbf
Archive Log 488 24-NOV-07 /data/oradata/test11g/archivelog/1_91_639087572.dbf
Backup Set 458 24-NOV-07
Backup Piece 460 24-NOV-07 /data/backup/2mj1sb80_1_1
Backup Set 516 24-NOV-07
Backup Piece 522 24-NOV-07 /data/backup/2nj1sc4f_1_1

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

相關文章