一 crosscheck命令目的
备份损坏或者不存在于磁盘而rman资料库中仍记录该备份集或归档为available,那么需要运行crosscheck 进行交叉校验,以更新rman资料库中过时的信息
二 该命令前提条件
1 执行该命令时数据库需启动到mount状态。
2 crosscheck 验证所有指定的备份和拷贝,即使备份和拷贝在之前的incarnations中创建。
3 如果数据库未配置自动通道,那么执行crosscheck前需要运行allocate channel for maintenace。
三 该命令注意事项
1 crosscheck 命令仅仅验证当前记录在rman资料库中的文件,其实就是验证资料库中备份的记录和备份的实际存在性是否相符
2 crosscheck 命令不会删除操作系统文件或者移除资料库中相关记录,必须使用delete expired 删除所有过期备份。
四 关于RMAN中expired和obsolete两个状态的区别
1 expired
当运行crosscheck命令时,rman会验证其资料库中记录的每一个备份是否在物理上真实存在,如果不存在,则rman更新该备份状态由available 为expired,其实质是该备份不可再用。
2 obsolete
当备份集超过备份保留策略后,则该备份集标记为obsolete,但备份集的状态仍未available,恢复时仍可用。
五 相关语句
crosscheck backup;
crosscheck copy of database;
corsscheck backupset 114;
crosscheck backuppiece tag 'xxxxxx';
crosscheck backup of archivelog all;
crosscheck backup of database completed after 'sysdate -1';
相关阅读:
Oracle相关:Rman crosscheck删除失效归档
RMAN 下crosscheck命令详解
Oracle基础教程之通过RMAN复制数据库
RMAN备份策略制定参考内容