联系:手机/微信(+86 17813235971) QQ(107644445)
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
今天有朋友对于crosscheck和obsolete理解的不太清楚,网上查找了一些资料,也发现很多错误,其中典型的理解就是:crosscheck 可以检测/删除违背(obsolete)备份策略的备份集
--登录rman [oracle@node1 ~]$ $ORACLE_HOME/bin/rman target / Recovery Manager: Release 10.2.0.5.0 - Production on Tue Nov 8 13:39:17 2011 Copyright (c) 1982, 2007, Oracle. All rights reserved. connected to target database: ECP (DBID=1669273445) RMAN> show all; using target database control file instead of recovery catalog RMAN configuration parameters are: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO COMPRESSED BACKUPSET; CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2048 M; CONFIGURE MAXSETSIZE TO UNLIMITED; # default CONFIGURE ENCRYPTION FOR DATABASE OFF; # default CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/opt/oracle/product/10.2.0/db_1/dbs/snapcf_ecp.f'; # default --发现配置的策略是保留1份 --全库备份 RMAN> list backup summary; --当前数据库无备份集备份 RMAN> backup database format '/opt/backup/ecp_full_%U'; Starting backup at 2011-11-08 13:22:06 allocated channel: ORA_DISK_1 channel ORA_DISK_1: sid=536 devtype=DISK allocated channel: ORA_DISK_2 channel ORA_DISK_2: sid=534 devtype=DISK channel ORA_DISK_1: starting compressed full datafile backupset channel ORA_DISK_1: specifying datafile(s) in backupset input datafile fno=00004 name=/opt/oracle/oradata/ecp/users01.dbf input datafile fno=00003 name=/opt/oracle/oradata/ecp/sysaux01.dbf input datafile fno=00008 name=/opt/oracle/oradata/ecp/TS_Public_1.003.dbf input datafile fno=00009 name=/opt/oracle/oradata/ecp/TS_Index_Base.001.dbf input datafile fno=00010 name=/opt/oracle/oradata/ecp/TS_Index_Base.002.dbf input datafile fno=00011 name=/opt/oracle/oradata/ecp/TS_Index_Base.003.dbf channel ORA_DISK_1: starting piece 1 at 2011-11-08 13:22:07 channel ORA_DISK_2: starting compressed full datafile backupset channel ORA_DISK_2: specifying datafile(s) in backupset input datafile fno=00002 name=/opt/oracle/oradata/ecp/undotbs01.dbf input datafile fno=00001 name=/opt/oracle/oradata/ecp/system01.dbf input datafile fno=00012 name=/opt/oracle/oradata/ecp/OGG.001.dbf input datafile fno=00005 name=/opt/oracle/oradata/ecp/example01.dbf input datafile fno=00006 name=/opt/oracle/oradata/ecp/TS_Public_1.001.dbf input datafile fno=00007 name=/opt/oracle/oradata/ecp/TS_Public_1.002.dbf channel ORA_DISK_2: starting piece 1 at 2011-11-08 13:22:07 channel ORA_DISK_1: finished piece 1 at 2011-11-08 13:22:22 piece handle=/opt/backup/ecp_full_11mr52bv_1_1 tag=TAG20111108T132207 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15 channel ORA_DISK_1: starting compressed 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 2011-11-08 13:22:23 channel ORA_DISK_1: finished piece 1 at 2011-11-08 13:22:24 piece handle=/opt/backup/ecp_full_13mr52ce_1_1 tag=TAG20111108T132207 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02 channel ORA_DISK_1: starting compressed full datafile backupset channel ORA_DISK_1: specifying datafile(s) in backupset including current SPFILE in backupset channel ORA_DISK_1: starting piece 1 at 2011-11-08 13:22:25 channel ORA_DISK_1: finished piece 1 at 2011-11-08 13:22:26 piece handle=/opt/backup/ecp_full_14mr52cg_1_1 tag=TAG20111108T132207 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02 channel ORA_DISK_2: finished piece 1 at 2011-11-08 13:22:41 piece handle=/opt/backup/ecp_full_12mr52bv_1_1 tag=TAG20111108T132207 comment=NONE channel ORA_DISK_2: backup set complete, elapsed time: 00:00:34 Finished backup at 2011-11-08 13:22:41 --备份sysdata01.dbf文件 RMAN> backup datafile 1 format '/opt/backup/ecp_system_%U'; Starting backup at 2011-11-08 13:23:44 using channel ORA_DISK_1 using channel ORA_DISK_2 channel ORA_DISK_1: starting compressed full datafile backupset channel ORA_DISK_1: specifying datafile(s) in backupset input datafile fno=00001 name=/opt/oracle/oradata/ecp/system01.dbf channel ORA_DISK_1: starting piece 1 at 2011-11-08 13:23:45 channel ORA_DISK_2: starting compressed full datafile backupset channel ORA_DISK_2: specifying datafile(s) in backupset including current control file in backupset channel ORA_DISK_2: starting piece 1 at 2011-11-08 13:23:45 channel ORA_DISK_2: finished piece 1 at 2011-11-08 13:23:46 piece handle=/opt/backup/ecp_system_16mr52f1_1_1 tag=TAG20111108T132344 comment=NONE channel ORA_DISK_2: backup set complete, elapsed time: 00:00:01 channel ORA_DISK_2: starting compressed full datafile backupset channel ORA_DISK_2: specifying datafile(s) in backupset including current SPFILE in backupset channel ORA_DISK_2: starting piece 1 at 2011-11-08 13:23:47 channel ORA_DISK_2: finished piece 1 at 2011-11-08 13:23:48 piece handle=/opt/backup/ecp_system_17mr52f2_1_1 tag=TAG20111108T132344 comment=NONE channel ORA_DISK_2: backup set complete, elapsed time: 00:00:02 channel ORA_DISK_1: finished piece 1 at 2011-11-08 13:24:13 piece handle=/opt/backup/ecp_system_15mr52f1_1_1 tag=TAG20111108T132344 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:28 Finished backup at 2011-11-08 13:24:13 --注:所有备份system空间,都是会自动备份spfile和控制文件 RMAN> list backup summary; List of Backups =============== Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag ------- -- -- - ----------- ------------------- ------- ------- ---------- --- 28 B F A DISK 2011-11-08 13:22:19 1 1 YES TAG20111108T132207 29 B F A DISK 2011-11-08 13:22:23 1 1 YES TAG20111108T132207 30 B F A DISK 2011-11-08 13:22:25 1 1 YES TAG20111108T132207 31 B F A DISK 2011-11-08 13:22:35 1 1 YES TAG20111108T132207 32 B F A DISK 2011-11-08 13:23:45 1 1 YES TAG20111108T132344 33 B F A DISK 2011-11-08 13:23:47 1 1 YES TAG20111108T132344 34 B F A DISK 2011-11-08 13:24:03 1 1 YES TAG20111108T132344 --查看所有备份集情况 RMAN> crosscheck backup; using channel ORA_DISK_1 using channel ORA_DISK_2 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/opt/backup/ecp_full_11mr52bv_1_1 recid=28 stamp=766675327 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/opt/backup/ecp_full_13mr52ce_1_1 recid=29 stamp=766675343 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/opt/backup/ecp_full_14mr52cg_1_1 recid=30 stamp=766675345 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/opt/backup/ecp_full_12mr52bv_1_1 recid=31 stamp=766675327 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/opt/backup/ecp_system_16mr52f1_1_1 recid=32 stamp=766675425 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/opt/backup/ecp_system_17mr52f2_1_1 recid=33 stamp=766675427 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/opt/backup/ecp_system_15mr52f1_1_1 recid=34 stamp=766675425 --查看全部有效 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 -------------------- ------ ------------------ -------------------- Backup Set 29 2011-11-08 13:22:23 Backup Piece 29 2011-11-08 13:22:23 /opt/backup/ecp_full_13mr52ce_1_1 Backup Set 30 2011-11-08 13:22:25 Backup Piece 30 2011-11-08 13:22:25 /opt/backup/ecp_full_14mr52cg_1_1 --因为system01.dbf备份了两次,所以违背了备份策略 drwxr-xr-x 2 root root 4096 07-12 15:54 vmdir [root@node1 opt]# cd /opt/backup/ [root@node1 backup]# ll 总计 265356 -rw-r----- 1 oracle oinstall 47497216 11-08 13:22 ecp_full_11mr52bv_1_1 -rw-r----- 1 oracle oinstall 129433600 11-08 13:22 ecp_full_12mr52bv_1_1 -rw-r----- 1 oracle oinstall 1130496 11-08 13:22 ecp_full_13mr52ce_1_1 -rw-r----- 1 oracle oinstall 98304 11-08 13:22 ecp_full_14mr52cg_1_1 -rw-r----- 1 oracle oinstall 92012544 11-08 13:24 ecp_system_15mr52f1_1_1 -rw-r----- 1 oracle oinstall 1130496 11-08 13:23 ecp_system_16mr52f1_1_1 -rw-r----- 1 oracle oinstall 98304 11-08 13:23 ecp_system_17mr52f2_1_1 [root@node1 backup]# mv ecp_system_15mr52f1_1_1 ecp_system_15mr52f1_1_1_bak [root@node1 backup]# ll 总计 265356 -rw-r----- 1 oracle oinstall 47497216 11-08 13:22 ecp_full_11mr52bv_1_1 -rw-r----- 1 oracle oinstall 129433600 11-08 13:22 ecp_full_12mr52bv_1_1 -rw-r----- 1 oracle oinstall 1130496 11-08 13:22 ecp_full_13mr52ce_1_1 -rw-r----- 1 oracle oinstall 98304 11-08 13:22 ecp_full_14mr52cg_1_1 -rw-r----- 1 oracle oinstall 92012544 11-08 13:24 ecp_system_15mr52f1_1_1_bak -rw-r----- 1 oracle oinstall 1130496 11-08 13:23 ecp_system_16mr52f1_1_1 -rw-r----- 1 oracle oinstall 98304 11-08 13:23 ecp_system_17mr52f2_1_1 --对备份集中的其中一个文件重命名 RMAN> crosscheck backup; using channel ORA_DISK_1 using channel ORA_DISK_2 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/opt/backup/ecp_full_11mr52bv_1_1 recid=28 stamp=766675327 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/opt/backup/ecp_full_13mr52ce_1_1 recid=29 stamp=766675343 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/opt/backup/ecp_full_14mr52cg_1_1 recid=30 stamp=766675345 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/opt/backup/ecp_full_12mr52bv_1_1 recid=31 stamp=766675327 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/opt/backup/ecp_system_16mr52f1_1_1 recid=32 stamp=766675425 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/opt/backup/ecp_system_17mr52f2_1_1 recid=33 stamp=766675427 Crosschecked 6 objects crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/opt/backup/ecp_system_15mr52f1_1_1 recid=34 stamp=766675425 Crosschecked 1 objects --发现一个无效的备份集 RMAN> list backup summary; List of Backups =============== Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag ------- -- -- - ----------- ------------------- ------- ------- ---------- --- 28 B F A DISK 2011-11-08 13:22:19 1 1 YES TAG20111108T132207 29 B F A DISK 2011-11-08 13:22:23 1 1 YES TAG20111108T132207 30 B F A DISK 2011-11-08 13:22:25 1 1 YES TAG20111108T132207 31 B F A DISK 2011-11-08 13:22:35 1 1 YES TAG20111108T132207 32 B F A DISK 2011-11-08 13:23:45 1 1 YES TAG20111108T132344 33 B F A DISK 2011-11-08 13:23:47 1 1 YES TAG20111108T132344 34 B F X DISK 2011-11-08 13:24:03 1 1 YES TAG20111108T132344 --也标志为无效'X' 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 -------------------- ------ ------------------ -------------------- Backup Set 29 2011-11-08 13:22:23 Backup Piece 29 2011-11-08 13:22:23 /opt/backup/ecp_full_13mr52ce_1_1 Backup Set 30 2011-11-08 13:22:25 Backup Piece 30 2011-11-08 13:22:25 /opt/backup/ecp_full_14mr52cg_1_1 --策略还是显示这两个备份集违背规则 RMAN> DELETE NOPROMPT OBSOLETE; RMAN retention policy will be applied to the command RMAN retention policy is set to redundancy 1 using channel ORA_DISK_1 using channel ORA_DISK_2 Deleting the following obsolete backups and copies: Type Key Completion Time Filename/Handle -------------------- ------ ------------------ -------------------- Backup Set 29 2011-11-08 13:22:23 Backup Piece 29 2011-11-08 13:22:23 /opt/backup/ecp_full_13mr52ce_1_1 Backup Set 30 2011-11-08 13:22:25 Backup Piece 30 2011-11-08 13:22:25 /opt/backup/ecp_full_14mr52cg_1_1 deleted backup piece backup piece handle=/opt/backup/ecp_full_13mr52ce_1_1 recid=29 stamp=766675343 deleted backup piece backup piece handle=/opt/backup/ecp_full_14mr52cg_1_1 recid=30 stamp=766675345 Deleted 2 objects RMAN> report obsolete; RMAN retention policy will be applied to the command RMAN retention policy is set to redundancy 1 no obsolete backups found --删除违法策略的备份集 RMAN> delete NOPROMPT expired backup; using channel ORA_DISK_1 using channel ORA_DISK_2 List of Backup Pieces BP Key BS Key Pc# Cp# Status Device Type Piece Name ------- ------- --- --- ----------- ----------- ---------- 34 34 1 1 EXPIRED DISK /opt/backup/ecp_system_15mr52f1_1_1 deleted backup piece backup piece handle=/opt/backup/ecp_system_15mr52f1_1_1 recid=34 stamp=766675425 Deleted 1 EXPIRED objects RMAN> crosscheck backup; using channel ORA_DISK_1 using channel ORA_DISK_2 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/opt/backup/ecp_full_11mr52bv_1_1 recid=28 stamp=766675327 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/opt/backup/ecp_full_12mr52bv_1_1 recid=31 stamp=766675327 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/opt/backup/ecp_system_16mr52f1_1_1 recid=32 stamp=766675425 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/opt/backup/ecp_system_17mr52f2_1_1 recid=33 stamp=766675427 Crosschecked 4 objects --删除无效的备份集
通过实验说明:crosscheck只能够检测备份集是否有效(最常见的情况就是物理上是否还存在),并且可以用它来删除失效(expired)的备份集,而不是用来删除违背备份策略(obsolete)的备份集,如果要删除违背备份策略(废弃)的备份集,需要使用obsolete操作。出现这个问题的主要原因应该是expired和obsolete翻译成中文的时候理解的出入导致。