nocatalog模式下rman備份下controlfile記錄備份資訊的一點探究
源於pub中的一篇帖子http://www.itpub.net/thread-1584375-1-1.html
delete obsolete; --能刪除7天前的備份
delete expired backup; --不能刪除7天前的備份, 為什麼?
Rman有兩種備份策略,一種是基於時間的,預設的是認為7天的備份有效,還有一種是基於冗餘的,會認為最後一次的備份有效。
Delete obsolete會刪除過期的備份,而如果在物理上刪除的備份,還是會儲存在rman備份資訊中並置為有效,nocatalog下controlfile保留備份集資訊,刪除的備份集資訊依然記載在controlfile中,只是用flag來標記狀態,這裡也明白了eygle說過的nocatalog模式下controlfile會越來越大,備份集資訊雖然delete了,但是實際的記錄資訊依然存在於controlfile中,只是標記為deleted狀態。這裡也說下與rman備份相關的資料字典檢視V$backup_set中記錄所有備份的資訊而不論是否存在或可用。
下面測試一下expired和obsolete的備份集在ctl中記錄變化
Backup database include current controlfile format ‘’
Plus archivelog format;
先做一個資料庫的全備份,然後dump controlfile檢視備份集資訊.flag並沒有什麼標記obselte和expired狀態
Alter session set events ‘immediate trace name controlf level 8’;
BACKUP PIECE RECORDS
***************************************************************************
(size = 736, compat size = 736, section max = 200, section in-use = 4,
last-recid= 4, old-recno = 1, last-recno = 4)
(extent = 1, blkno = 99, numrecs = 200)
Earliest record:
RECID #1 Recno 1 Record timestamp 03/01/12 13:19:09 piece #1 copy #1 pool 0
Backup set key: stamp=776783942, count=1
V$RMAN_STATUS: recid=160283880, stamp=160283876
Flags:
Device: DISK
Handle: D:ARCH_XIAOYU_20120301_1
Media-Handle:
Comment:
Tag: TAG20120301T131855
Completion time 03/01/12 13:20:06
然後在os上物理刪除備份集資訊,此時的controlfile中依然沒有標記備份集資訊為obsolete或expired狀態,rman還沒有用crosscheck去檢索備份集狀態。
Backup set key: stamp=776783942, count=1
V$RMAN_STATUS: recid=160283880, stamp=160283876
Flags:
Device: DISK
Handle: D:ARCH_XIAOYU_20120301_1
Crosscheck backup檢查物理檔案上不存在的備份集然後標記controlfile中的flag為expired狀態
RECID #1 Recno 1 Record timestamp 03/01/12 13:19:09 piece #1 copy #1 pool 0
Backup set key: stamp=776783942, count=1
V$RMAN_STATUS: recid=160283880, stamp=160283876
Flags:
Device: DISK
Handle: D:ARCH_XIAOYU_20120301_1
Delete expired backup刪除rman認為存在廢棄的備份集,標記flag為deleted。
RECID #1 Recno 1 Record timestamp 03/01/12 13:19:09 piece #1 copy #1 pool 0
Backup set key: stamp=776783942, count=1
V$RMAN_STATUS: recid=160283880, stamp=160283876
Flags:
Device: DISK
Handle:
那麼如果此時自己的測試庫中rman是基於冗餘的備份策略,此時自己backup datafile 1兩次,那麼應該有一個obsolete backup,檢視下controlfile記錄的狀態吧
RMAN> show all;
RMAN 配置引數為:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
兩次關於資料檔案1的備份都被標記為可用備份集,看來即使是obsolete狀態rman也不會在controlfile中標記flag為obsolete狀態,僅僅只是針對crosscheck狀態掃描的出來的缺少物理檔案的標記expired和刪除的備份集為delete狀態。
Latest record:
RECID #8 Recno 8 Record timestamp 03/01/12 15:52:56 piece #1 copy #1 pool 0
Backup set key: stamp=776793174, count=8
V$RMAN_STATUS: recid=238730472, stamp=238730468
Flags:
Device: DISK
Handle: E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAXIAOYUBACKUPSET2012_03_01O1_MF_NCSNF_TAG20120301T155228_7NYBPR1B_.BKP
Media-Handle:
Comment:
Tag: TAG20120301T155228
Completion time 03/01/12 15:52:56
RECID #6 Recno 6 Record timestamp 03/01/12 15:51:51 piece #1 copy #1 pool 0
Backup set key: stamp=776793109, count=6
V$RMAN_STATUS: recid=238730472, stamp=238730468
Flags:
Device: DISK
Handle: E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAXIAOYUBACKUPSET2012_03_01O1_MF_NCSNF_TAG20120301T155123_7NYBNQNO_.BKP
Media-Handle:
Comment:
Tag: TAG20120301T155123
Completion time 03/01/12 15:51:52
RMAN> report obsolete;
RMAN 保留策略將應用於該命令
將 RMAN 保留策略設定為冗餘 1
已廢棄的備份和副本報表
型別 關鍵字 完成時間 檔名/控制程式碼
-------------------- ------ ------------------ --------------------
備份集 6 01-3月 -12
備份段 6 01-3月 -12 E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_A
REAXIAOYUBACKUPSET2012_03_01O1_MF_NCSNF_TAG20120301T155123_7NYBNQNO_.BKP
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25362835/viewspace-1057484/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Nocatalog 下的RMAN 增量備份 shell指令碼指令碼
- RAC模式下的備份策略以及RMAN備份指令碼模式指令碼
- RAC模式下的備份策略以及RMAN備份指令碼(轉)模式指令碼
- RAC模式下的備份策略以及RMAN備份指令碼(ZF)模式指令碼
- hacmp環境下的rman備份ACM
- Windows下RMAN備份指令碼Windows指令碼
- Windows下RMAN備份程式碼Windows
- Oracle備份及備份策略及基於Linux下 Oracle 備份策略(RMAN)OracleLinux
- 不同版本下的rman壓縮備份
- rman備份筆記筆記
- RMAN備份中catalog和nocatalog區別[轉]
- Oracle RMAN備份中catalog和nocatalog區別Oracle
- RMAN筆記之備份集和備份片筆記
- Backup And Recovery User's Guide-備份RMAN備份-使用RMAN備份備份集GUIIDE
- RMAN備份之備份多個備份集到帶庫(一)
- 三種Oracle RMAN備份加密策略(下)Oracle加密
- linux 下RMAN備份shell指令碼Linux指令碼
- windows下rman自動備份指令碼Windows指令碼
- RMAN筆記之查詢rman備份資訊狀態筆記
- rman 非歸檔模式下停庫備份與恢復模式
- [記錄]oracle RMAN 備份恢復總結Oracle
- RMAN說,我能備份(9)--RMAN增量備份與備份保留策略
- Backup And Recovery User's Guide-RMAN備份概念-RMAN備份的多個拷貝-備份的備份GUIIDE
- 簡單恢復模式下的備份模式
- Backup And Recovery User's Guide-備份RMAN備份-用RMAN備份映象拷貝備份GUIIDE
- RAC環境下的RMAN 備份指令碼一例指令碼
- exp備份和rman備份的區別
- Backup And Recovery User's Guide-RMAN備份概念-聯機備份和備份模式GUIIDE模式
- Backup And Recovery User's Guide-備份RMAN備份-關於備份的備份GUIIDE
- Oracle裡邏輯備份、物理備份、Rman備份的區別Oracle
- Oracle ADG環境下的RMAN備份策略Oracle
- Oracle 11g RMAN備份-一致備份Oracle
- 基於Linux下 Oracle 備份策略(RMAN)LinuxOracle
- 關於WINDOWS平臺下RMAN備份移植Windows
- redhat下通過rman自動備份db!Redhat
- aix下rac環境rman備份策略部署AI
- rman備份和增量備份指令碼指令碼
- Backup And Recovery User's Guide-備份RMAN備份-備份保留期對備份的備份的影響GUIIDE