Oracle Rman 中backuppiece 的uncatalog 和 backupset 的delete,rmanbackuppiece
本文是原創文章,轉載請註明出處:http://write.blog.csdn.net/postedit/42424083
本文基於Oracle 10.2.0.4版本進行如下的測試:
RMAN> list backup of archivelog all;中間略去很多,只保留下面的這個:BS Key Size Device Type Elapsed Time Completion Time------- ---------- ----------- ------------ ---------------1410 326.36M DISK 00:00:41 05-JAN-15 BP Key: 1409 Status: AVAILABLE Compressed: NO Tag: TAG20150105T102705 -------------------->BP Key: 1409 Piece Name: F:\LOG_FIPRUSNS_1_1 List of Archived Logs in backup set 1410 Thrd Seq Low SCN Low Time Next SCN Next Time ---- ------- ---------- --------- ---------- --------- 1 1191 23261014 25-DEC-14 23279746 26-DEC-14 1 1192 23279746 26-DEC-14 23293125 03-JAN-15 1 1193 23293125 03-JAN-15 23296401 03-JAN-15 1 1194 23296401 03-JAN-15 23300534 03-JAN-15 1 1195 23300534 03-JAN-15 23304302 03-JAN-15 1 1196 23304302 03-JAN-15 23308204 03-JAN-15 1 1197 23308204 03-JAN-15 23316571 03-JAN-15 1 1198 23316571 03-JAN-15 23316578 03-JAN-15 1 1199 23316578 03-JAN-15 23343180 04-JAN-15 1 1200 23343180 04-JAN-15 23367540 05-JAN-15 1 1201 23367540 05-JAN-15 23368004 05-JAN-15 1 1202 23368004 05-JAN-15 23368006 05-JAN-15 1 1203 23368006 05-JAN-15 23368009 05-JAN-15 1 1204 23368009 05-JAN-15 23368011 05-JAN-15 1 1205 23368011 05-JAN-15 23369315 05-JAN-15RMAN> change backuppiece 1409 uncatalog; -->uncatalog 的含義是刪除在控制檔案中的記錄,對os上的備份檔案不會動!(不會刪除os上的備份檔案)uncataloged backuppiecebackup piece handle=F:\LOG_FIPRUSNS_1_1 recid=1409 stamp=868184831Uncataloged 1 objectsRMAN> list backup of archivelog all;
讓該備份檔案回來的方法:
RMAN> catalog backuppiece 'F:\LOG_FIPRUSNS_1_1';cataloged backuppiecebackup piece handle=F:\LOG_FIPRUSNS_1_1 recid=1413 stamp=868188578 ----->該命令可以多次執行,每次執行recid 加1RMAN> catalog backuppiece 'F:\LOG_FIPRUSNS_1_1';cataloged backuppiecebackup piece handle=F:\LOG_FIPRUSNS_1_1 recid=1414 stamp=868188598 ----->該命令可以多次執行,每次執行recid 加1
下面看catalog回來後BSkey 和BP Key 的變化:
RMAN> list backup of archivelog all;中間略去很多,只保留下面的這個:BS Key Size Device Type Elapsed Time Completion Time------- ---------- ----------- ------------ ---------------1410 326.36M DISK 00:00:41 05-JAN-15 -------------------->BS Key: 1410 ,BS Key編號沒變 BP Key: 1414 Status: AVAILABLE Compressed: NO Tag: TAG20150105T102705------->BP Key: 1414 ,BP Key編號變了,加1 Piece Name: F:\LOG_FIPRUSNS_1_1 List of Archived Logs in backup set 1410 Thrd Seq Low SCN Low Time Next SCN Next Time ---- ------- ---------- --------- ---------- --------- 1 1191 23261014 25-DEC-14 23279746 26-DEC-14 1 1192 23279746 26-DEC-14 23293125 03-JAN-15 1 1193 23293125 03-JAN-15 23296401 03-JAN-15 1 1194 23296401 03-JAN-15 23300534 03-JAN-15 1 1195 23300534 03-JAN-15 23304302 03-JAN-15 1 1196 23304302 03-JAN-15 23308204 03-JAN-15 1 1197 23308204 03-JAN-15 23316571 03-JAN-15 1 1198 23316571 03-JAN-15 23316578 03-JAN-15 1 1199 23316578 03-JAN-15 23343180 04-JAN-15 1 1200 23343180 04-JAN-15 23367540 05-JAN-15 1 1201 23367540 05-JAN-15 23368004 05-JAN-15 1 1202 23368004 05-JAN-15 23368006 05-JAN-15 1 1203 23368006 05-JAN-15 23368009 05-JAN-15 1 1204 23368009 05-JAN-15 23368011 05-JAN-15 1 1205 23368011 05-JAN-15 23369315 05-JAN-15
下面測試backupset 從catalog中撤銷:
RMAN> change backupset 1410 uncatalog; ---------------------->backupset 不能用change uncatalog!!!RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: failure of uncatalog command at 01/05/2015 14:14:31RMAN-06122: CHANGE .. UNCATALOG not supported for BACKUPSETRMAN> change backupset 1410 delete; -->change backupset delete 的效果包括2個層面:刪除在控制檔案中的記錄,刪除os上的備份檔案!using channel ORA_DISK_1List of Backup PiecesBP Key BS Key Pc# Cp# Status Device Type Piece Name------- ------- --- --- ----------- ----------- ----------1414 1410 1 1 AVAILABLE DISK F:\LOG_FIPRUSNS_1_1Do you really want to delete the above objects (enter YES or NO)? yesdeleted backup piecebackup piece handle=F:\LOG_FIPRUSNS_1_1 recid=1414 stamp=868188598Deleted 1 objectsRMAN>----此時,os上的F:\LOG_FIPRUSNS_1_1這個檔案已經被刪除了。
若是在change backupset delete 之前,手工拷貝了該backuppiece,然後change backupset delete ,之後,想註冊回來的方法是:
RMAN> catalog backupset 'G:\LOG_FIPRUSNS_1_1'; -------------->沒有catalog backupset這個命令。RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-00558: error encountered while parsing input commandsRMAN-01009: syntax error: found "backupset": expecting one of: "archivelog, backup, backuppiece, controlfilecopy, clone, datafilecopy, device, db_recovery_file_dest, recovery, start"RMAN-01007: at line 1 column 9 file: standard inputRMAN> catalog backuppiece 'G:\LOG_FIPRUSNS_1_1'; ---> 跟上面一樣的 catalog backuppiece 命令,只是換成了G盤下的。G盤下的該檔案是事先手工拷貝出來的。cataloged backuppiecebackup piece handle=G:\LOG_FIPRUSNS_1_1 recid=1415 stamp=868200682下面查看BS Key 和BP KeyRMAN> list backup of archivelog all;中間略去很多,只保留下面的這個:BS Key Size Device Type Elapsed Time Completion Time------- ---------- ----------- ------------ ---------------1410 326.36M DISK 00:00:41 05-JAN-15 ----------------->BS Key: 1410 ,BS Key編號一直沒變。 BP Key: 1415 Status: AVAILABLE Compressed: NO Tag: TAG20150105T10270--->BP Key: 1415 ,BP Key編號變了,加1了。 Piece Name: G:\LOG_FIPRUSNS_1_1 List of Archived Logs in backup set 1410 Thrd Seq Low SCN Low Time Next SCN Next Time ---- ------- ---------- --------- ---------- --------- 1 1191 23261014 25-DEC-14 23279746 26-DEC-14 1 1192 23279746 26-DEC-14 23293125 03-JAN-15 1 1193 23293125 03-JAN-15 23296401 03-JAN-15 1 1194 23296401 03-JAN-15 23300534 03-JAN-15 1 1195 23300534 03-JAN-15 23304302 03-JAN-15 1 1196 23304302 03-JAN-15 23308204 03-JAN-15 1 1197 23308204 03-JAN-15 23316571 03-JAN-15 1 1198 23316571 03-JAN-15 23316578 03-JAN-15 1 1199 23316578 03-JAN-15 23343180 04-JAN-15 1 1200 23343180 04-JAN-15 23367540 05-JAN-15 1 1201 23367540 05-JAN-15 23368004 05-JAN-15 1 1202 23368004 05-JAN-15 23368006 05-JAN-15 1 1203 23368006 05-JAN-15 23368009 05-JAN-15 1 1204 23368009 05-JAN-15 23368011 05-JAN-15 1 1205 23368011 05-JAN-15 23369315 05-JAN-15RMAN>
總結:
1. change backuppiece 1409 uncatalog; -->uncatalog 的含義是刪除在控制檔案中的記錄,對os上的備份檔案不會動!(不會刪除os上的備份檔案)2. backupset 不能用change uncatalog!!backupset只能用下面的change delete!!!3. change backupset 1410 delete; -->change backupset delete 的效果包括2個層面:刪除在控制檔案中的記錄,刪除os上的備份檔案!4. BP Key 這個會隨著每次“ catalog backuppiece”的成功執行而遞增,因此,BP Key不是保留在備份片中的。5. BS Key 這個不會隨著 每次“ catalog backuppiece”的成功執行而變化,因此,BS Key 是保留在備份片中的。