关于RMAN中的crosscheck、obsolete以及expired的问题
Posted on 2019-11-29 11:19 myuserkill 阅读(769) 评论(0) 编辑 收藏 举报
RMAN crosscheck命令此命令用于核对磁盘和磁带上的备份文件,以确保RMAN资料库与备份文件保持同步。注意:该命令只会检查RMAN资料库所记载的备份文件。当执行crosscheck命令时,如果资料库记录不匹配于备份文件的物理状态,那么该命令会更新资料库记录的状态信息。备份文件的状态包括:avaliable,unavaliable,expired。
1.核对所有备份集: RMAM>crosscheck backup;
2.核对所有数据文件的备份集 RMAN>crosscheck backup of database;
3.核对特定表空间的备份集 RMAN>crosscheck backup of tablespace users;
4.核对特定数据文件的备份集 RMAN>crosscheck backup of datafile 4;
5.核对控制文件的备份集 RMAN>crosscheck backup of controlfile; 6.核对spfile的备份集 RMAN>crosscheck backup of spfile;
7.核对归档日志的备份集 RMAN>crosscheck backup of archivelog sequence 3; RMAN>crosscheck archive all;
8.核对所有镜像副本 RMAN>crosscheck copy;
9.核对所有数据文件的镜像副本 RMAN>crosscheck copy of database;
10.核对特定表空间的镜像副本 RMAN>crosscheck copy of tablespace users;
11.核对特定数据文件的镜像副本 RMAN>crosscheck copy of datafile 6;
12.核对归档日志的影响副本 RMAN>crosscheck copy of archivelog sequence 4;
13.核对控制文件的镜像副本 RMAN>crosscheck copy of controlfile;
delete expired backup; --删除失效的备份集delete expired copy; --删除失效的镜像副本delete expired archivelog all; --删除失效的归档日志
###关于obsolete retention policy:设置备份保留策略。rman会将超出时间的备份文件标识为废弃(obsolete)。rman跟踪备份的数据文件、控制文件、归档日志文件,并确定哪些需要保存,哪些需要标记为废弃,但是rman不自动删除废弃的备份文件。
命令: RMAN>report obsolete --显示哪些备份超出了备份保留策略 RMAN>delete obsolete --删除废弃的文件,有交互 RMAN>delete noprompt obsolete --删除废弃的文件,无交互==设置备份的保留策略1.根据窗口时间 RMAN>configure retention policy to recovery windows of 3 days; --rman会保留3天内的备份集有效,也就是可以恢复到3天内的任意 时间点,超过3天的备份集可能会被设置为废弃(obsolete)状态。(不确定是不是超过3天的备份集一定会被obsolete掉。)2.根据备份的份数 RMAN>configure retention policy to redundancy 3; --rman保留最近3次的备份集,当第4次备份集出现时,第一次的就标识为过时(也就是废弃)3.禁用备份的保留策略 RMAN>configure retention policy to none; --此时report obsolete和delete obsolete不会把任何备份视为废弃
###关于expired失效(区别于obsolete),其实就是人为的或者其他原因,使用操作系统删除了这些备份文件,但控制文件还存在着这些备份的信息,当运行crosscheck命令时,会将这些备份文件标识为expired。
1.检查备份是否有效RMAN>crosscheck backup;2.删除失效的备份,有交互RMAN>delete expired backup;3.删除失效的备份,无交互RMAN>delete noprompt expired backup;4.删除失效的归档备份RMAN>delete expired archivelog all;
######!!!!!crosscheck=====crosscheck只能够检测备份集是否有效(最常见的情况就是物理上是否还存在),并且可以用来删除失效(expired)的备份集,而不能用来删除违背备份策略(obsolete)的备份集,如果要删除违背备份策略的备份集,需要使用obsolete。