Rman:About Retention Policy
关于保留策略,Rman是通过“configure retention policy xxxxxx”设置的。
具体如下:
查看所有的配置情况:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
[oracle@rhel6 ~]$ rman Recovery Manager: Release 12.1.0.1.0 - Production on Mon Oct 26 19:46:48 2015 Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved. RMAN> connect target / connected to target database: ORCL (DBID=1421336293) RMAN> connect catalog system/oracle@orcl connected to recovery catalog database RMAN> RMAN> show all; RMAN configuration parameters for database with db_unique_name ORCL are: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE CONTROLFILE AUTOBACKUP ON; # default CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE MAXSETSIZE TO UNLIMITED; # default CONFIGURE ENCRYPTION FOR DATABASE OFF; # default CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/12/db_1/dbs/snapcf_orcl.f'; # default RMAN> |
更改保留策略为30天:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
RMAN> configure retention policy to recovery window of 30 days; new RMAN configuration parameters: CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 30 DAYS; new RMAN configuration parameters are successfully stored starting full resync of recovery catalog full resync complete RMAN> show all; RMAN configuration parameters for database with db_unique_name ORCL are: CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 30 DAYS; CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE CONTROLFILE AUTOBACKUP ON; # default CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE MAXSETSIZE TO UNLIMITED; # default CONFIGURE ENCRYPTION FOR DATABASE OFF; # default CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/12/db_1/dbs/snapcf_orcl.f'; # default RMAN> |
通过上面的设置,可以得到判定备份保留时间是否超时的逻辑节点。
以上面的时间节点,可以将备份化为两类:过时的(obsolete);正常的。
查看过时的备份:
1 2 3 4 5 6 7 |
RMAN> report obsolete; RMAN retention policy will be applied to the command RMAN retention policy is set to recovery window of 30 days no obsolete backups found RMAN> |
由于前面设定的保留时间是30天,所以,没有过时备份。
将保留时间修改为4天,然后再次查看是否有过时备份:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 4 days; old RMAN configuration parameters: CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 30 DAYS; new RMAN configuration parameters: CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 4 DAYS; new RMAN configuration parameters are successfully stored starting full resync of recovery catalog full resync complete RMAN> RMAN> report obsolete; RMAN retention policy will be applied to the command RMAN retention policy is set to recovery window of 4 days Report of obsolete backups and copies Type Key Completion Time Filename/Handle -------------------- ------ ------------------ -------------------- Backup Set 168 22-OCT-15 Backup Piece 194 22-OCT-15 /u01/app/oracle/fast_recovery_area/ORCL/2286894348E51AA1E0538093A8C0CF3E/backupset/2015_10_22/o1_mf_nnndf_TAG20151022T201751_c2m9v7dd_.bkp Backup Set 169 22-OCT-15 Backup Piece 195 22-OCT-15 /u01/app/oracle/fast_recovery_area/ORCL/2295446A87C50F72E0538093A8C01FF9/backupset/2015_10_22/o1_mf_nnndf_TAG20151022T201751_c2m9xo0o_.bkp Backup Set 170 22-OCT-15 Backup Piece 196 22-OCT-15 /u01/app/oracle/fast_recovery_area/ORCL/2295B60A8049100BE0538093A8C065F2/backupset/2015_10_22/o1_mf_nnndf_TAG20151022T201751_c2mb0n63_.bkp Backup Set 171 22-OCT-15 Backup Piece 197 22-OCT-15 /u01/app/oracle/fast_recovery_area/ORCL/2286665FE02C1878E0538093A8C0C318/backupset/2015_10_22/o1_mf_nnndf_TAG20151022T201751_c2mb39h1_.bkp Backup Set 179 22-OCT-15 Backup Piece 205 22-OCT-15 /u01/app/oracle/fast_recovery_area/ORCL/2286894348E51AA1E0538093A8C0CF3E/backupset/2015_10_22/o1_mf_nnndf_TAG20151022T232402_c2mnqc9c_.bkp Backup Set 180 22-OCT-15 Backup Piece 206 22-OCT-15 /u01/app/oracle/fast_recovery_area/ORCL/2295446A87C50F72E0538093A8C01FF9/backupset/2015_10_22/o1_mf_nnndf_TAG20151022T232402_c2mnsddy_.bkp Backup Set 181 22-OCT-15 Backup Piece 207 22-OCT-15 /u01/app/oracle/fast_recovery_area/ORCL/2295B60A8049100BE0538093A8C065F2/backupset/2015_10_22/o1_mf_nnndf_TAG20151022T232402_c2mnvfos_.bkp Backup Set 182 22-OCT-15 Backup Piece 208 22-OCT-15 /u01/app/oracle/fast_recovery_area/ORCL/2286665FE02C1878E0538093A8C0C318/backupset/2015_10_22/o1_mf_nnndf_TAG20151022T232402_c2mnwtyg_.bkp RMAN> |
如上所示,这时候,就能看到有备份超过4天的时间,属于过时备份。
如果需要删掉所有的过时备份,可以执行下面的命令:
1 |
delete obsolete; |
Eg:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 6 days; old RMAN configuration parameters: CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; new RMAN configuration parameters: CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 6 DAYS; new RMAN configuration parameters are successfully stored starting full resync of recovery catalog full resync complete RMAN> report obsolete; RMAN retention policy will be applied to the command RMAN retention policy is set to recovery window of 6 days Report of obsolete backups and copies Type Key Completion Time Filename/Handle -------------------- ------ ------------------ -------------------- Backup Set 168 22-OCT-15 Backup Piece 194 22-OCT-15 /u01/app/oracle/fast_recovery_area/ORCL/2286894348E51AA1E0538093A8C0CF3E/backupset/2015_10_22/o1_mf_nnndf_TAG20151022T201751_c2m9v7dd_.bkp Backup Set 171 22-OCT-15 Backup Piece 197 22-OCT-15 /u01/app/oracle/fast_recovery_area/ORCL/2286665FE02C1878E0538093A8C0C318/backupset/2015_10_22/o1_mf_nnndf_TAG20151022T201751_c2mb39h1_.bkp Backup Set 179 22-OCT-15 Backup Piece 205 22-OCT-15 /u01/app/oracle/fast_recovery_area/ORCL/2286894348E51AA1E0538093A8C0CF3E/backupset/2015_10_22/o1_mf_nnndf_TAG20151022T232402_c2mnqc9c_.bkp Backup Set 182 22-OCT-15 Backup Piece 208 22-OCT-15 /u01/app/oracle/fast_recovery_area/ORCL/2286665FE02C1878E0538093A8C0C318/backupset/2015_10_22/o1_mf_nnndf_TAG20151022T232402_c2mnwtyg_.bkp RMAN> |
在执行“delete obsolete”之前,先查看下文件系统中的这些备份文件的状态:
1 2 3 4 5 6 |
[oracle@rhel6 ~]$ cd /u01/app/oracle/fast_recovery_area/ORCL/2286894348E51AA1E0538093A8C0CF3E/backupset/2015_10_22/ [oracle@rhel6 2015_10_22]$ ll total 1704840 -rw-r----- 1 oracle oinstall 872873984 Oct 22 20:21 o1_mf_nnndf_TAG20151022T201751_c2m9v7dd_.bkp -rw-r----- 1 oracle oinstall 872873984 Oct 22 23:26 o1_mf_nnndf_TAG20151022T232402_c2mnqc9c_.bkp [oracle@rhel6 2015_10_22]$ |
Rman执行对过时备份的删除:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
RMAN> delete obsolete; RMAN retention policy will be applied to the command RMAN retention policy is set to recovery window of 6 days allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=71 device type=DISK Deleting the following obsolete backups and copies: Type Key Completion Time Filename/Handle -------------------- ------ ------------------ -------------------- Backup Set 168 22-OCT-15 Backup Piece 194 22-OCT-15 /u01/app/oracle/fast_recovery_area/ORCL/2286894348E51AA1E0538093A8C0CF3E/backupset/2015_10_22/o1_mf_nnndf_TAG20151022T201751_c2m9v7dd_.bkp Backup Set 171 22-OCT-15 Backup Piece 197 22-OCT-15 /u01/app/oracle/fast_recovery_area/ORCL/2286665FE02C1878E0538093A8C0C318/backupset/2015_10_22/o1_mf_nnndf_TAG20151022T201751_c2mb39h1_.bkp Backup Set 179 22-OCT-15 Backup Piece 205 22-OCT-15 /u01/app/oracle/fast_recovery_area/ORCL/2286894348E51AA1E0538093A8C0CF3E/backupset/2015_10_22/o1_mf_nnndf_TAG20151022T232402_c2mnqc9c_.bkp Backup Set 182 22-OCT-15 Backup Piece 208 22-OCT-15 /u01/app/oracle/fast_recovery_area/ORCL/2286665FE02C1878E0538093A8C0C318/backupset/2015_10_22/o1_mf_nnndf_TAG20151022T232402_c2mnwtyg_.bkp Do you really want to delete the above objects (enter YES or NO)? YES deleted backup piece backup piece handle=/u01/app/oracle/fast_recovery_area/ORCL/2286894348E51AA1E0538093A8C0CF3E/backupset/2015_10_22/o1_mf_nnndf_TAG20151022T201751_c2m9v7dd_.bkp RECID=11 STAMP=893794807 deleted backup piece backup piece handle=/u01/app/oracle/fast_recovery_area/ORCL/2286665FE02C1878E0538093A8C0C318/backupset/2015_10_22/o1_mf_nnndf_TAG20151022T201751_c2mb39h1_.bkp RECID=14 STAMP=893795065 deleted backup piece backup piece handle=/u01/app/oracle/fast_recovery_area/ORCL/2286894348E51AA1E0538093A8C0CF3E/backupset/2015_10_22/o1_mf_nnndf_TAG20151022T232402_c2mnqc9c_.bkp RECID=22 STAMP=893805947 deleted backup piece backup piece handle=/u01/app/oracle/fast_recovery_area/ORCL/2286665FE02C1878E0538093A8C0C318/backupset/2015_10_22/o1_mf_nnndf_TAG20151022T232402_c2mnwtyg_.bkp RECID=25 STAMP=893806122 Deleted 4 objects RMAN> |
查看文件系统中的变化:
1 2 3 4 5 6 7 8 9 10 11 |
[oracle@rhel6 2015_10_22]$ pwd /u01/app/oracle/fast_recovery_area/ORCL/2286894348E51AA1E0538093A8C0CF3E/backupset/2015_10_22 [oracle@rhel6 2015_10_22]$ ll total 0 [oracle@rhel6 2015_10_22]$ [oracle@rhel6 2015_10_22]$ cd .. [oracle@rhel6 backupset]$ ll total 8 drwxr-x--- 2 oracle oinstall 4096 Oct 26 19:58 2015_10_22 drwxr-x--- 2 oracle oinstall 4096 Oct 26 00:46 2015_10_26 [oracle@rhel6 backupset]$ |
可以看到对应的备份文件也自动的从文件系统中被删除了。
Rman中查看现在是否还有过时备份:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
RMAN> show all; RMAN configuration parameters for database with db_unique_name ORCL are: CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 6 DAYS; CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE CONTROLFILE AUTOBACKUP ON; # default CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE MAXSETSIZE TO UNLIMITED; # default CONFIGURE ENCRYPTION FOR DATABASE OFF; # default CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/12/db_1/dbs/snapcf_orcl.f'; # default RMAN> report obsolete; RMAN retention policy will be applied to the command RMAN retention policy is set to recovery window of 6 days no obsolete backups found RMAN> |
在Rman的备份中,还有另一种区分备份文件的标准,即:备份文件是否存在。
因为,在现实中,有可能备份文件在文件系统中被误删除或者权限等被意外的修改,而导致Rman无法正常的访问到它们。
于是,这一类无法被找到的备份,被称为:过期的备份(expired backups)。
过期的备份和过时的备份是容易混淆的概念。
过时的备份是超过了保留时间的有效备份。
而过期备份则是曾经可以找到的,但当前无法找到的那些备份。
过时的备份是可用的,过期的备份却是无法使用的。
关于过时的备份是否真的无用,需要具体根据你的保留时间的设定去衡量,这里描述的“无用”是一个很主观的概念,不同的管理员都会有各自的理解与设定。
要找到过期的备份可以通过:crosscheck all;
模拟一个过期备份:
1 2 3 4 5 6 7 8 |
[root@rhel6 2015_10_26]# cd /u01/app/oracle/fast_recovery_area/ORCL/archivelog/2015_10_26/ [root@rhel6 2015_10_26]# ls o1_mf_1_44_c2vpq4wk_.arc o1_mf_1_45_c2wjkjs8_.arc [root@rhel6 2015_10_26]# mv o1_mf_1_44_c2vpq4wk_.arc /backup/ [root@rhel6 2015_10_26]# ll total 45216 -rw-r----- 1 oracle oinstall 46298112 Oct 26 08:09 o1_mf_1_45_c2wjkjs8_.arc [root@rhel6 2015_10_26]# |
RMAN执行crosscheck:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
RMAN> crosscheck archivelog all; released channel: ORA_DISK_1 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=52 device type=DISK validation succeeded for archived log archived log file name=/u01/app/oracle/fast_recovery_area/ORCL/archivelog/2015_10_22/o1_mf_1_40_c2mnn0d1_.arc RECID=9 STAMP=893805840 validation succeeded for archived log archived log file name=/u01/app/oracle/fast_recovery_area/ORCL/archivelog/2015_10_22/o1_mf_1_41_c2mnxn6p_.arc RECID=10 STAMP=893806148 validation succeeded for archived log archived log file name=/u01/app/oracle/fast_recovery_area/ORCL/archivelog/2015_10_25/o1_mf_1_42_c2v32mh7_.arc RECID=11 STAMP=894050020 validation succeeded for archived log archived log file name=/u01/app/oracle/fast_recovery_area/ORCL/archivelog/2015_10_25/o1_mf_1_43_c2vkon73_.arc RECID=12 STAMP=894064964 validation failed for archived log archived log file name=/u01/app/oracle/fast_recovery_area/ORCL/archivelog/2015_10_26/o1_mf_1_44_c2vpq4wk_.arc RECID=13 STAMP=894070133 validation succeeded for archived log archived log file name=/u01/app/oracle/fast_recovery_area/ORCL/archivelog/2015_10_26/o1_mf_1_45_c2wjkjs8_.arc RECID=14 STAMP=894096577 Crosschecked 6 objects RMAN> |
过期的:validation failed for archived log
正常的:validation succeeded for archived log
删掉过期的备份:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
RMAN> delete expired archivelog all; released channel: ORA_DISK_1 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=52 device type=DISK List of Archived Log Copies for database with db_unique_name ORCL ===================================================================== Key Thrd Seq S Low Time ------- ---- ------- - --------- 158 1 44 X 25-OCT-15 Name: /u01/app/oracle/fast_recovery_area/ORCL/archivelog/2015_10_26/o1_mf_1_44_c2vpq4wk_.arc Do you really want to delete the above objects (enter YES or NO)? YES deleted archived log archived log file name=/u01/app/oracle/fast_recovery_area/ORCL/archivelog/2015_10_26/o1_mf_1_44_c2vpq4wk_.arc RECID=13 STAMP=894070133 Deleted 1 EXPIRED objects RMAN> |
————————————————
Done。