详解Oracle数据库RMAN 下CROSSCHECK命令

概述

在用DELETE OBSOLETE 命令删除废弃的备份文件,如果出现如下错误(RMAN-06207 & RMAN-06208),那么需要用CROSSCHECK命令来解决:

RMAN-06207: WARNING: 2 objects could not be deleted for DISK channel(s) due
RMAN-06208: to mismatched status. Use CROSSCHECK command to fix status

CROSSCHECK命令用户核对备份文件,以确保RMAN资料库与备份文件保持同步。当执行该命令时,如果RMAN资料库记录的状态与实际备份文件不匹配,则会更新资料库里的状态使其与实际备份文件状态一致;若备份文件处于expired状态,那么说明该备份已失效,可以删除。下面介绍一些常用命令。


1、CROSSCHECK BACKUP

用于核对数据库、表空间、数据文件、控制文件、归档日志、SPFILE的备份集。

CROSSCHECK BACKUP ; --核对所有备份(包括有效和失效的备份)
CROSSCHECK BACKUP of database; --核对除控制文件、归档文件外的备份文件
CROSSCHECK BACKUP of tablespace system;
CROSSCHECK BACKUP of datafile 1;
CROSSCHECK BACKUP of controlfile;
CROSSCHECK BACKUP of archivelog all;
CROSSCHECK BACKUP of archivelog sequence 3;
CROSSCHECK BACKUP of spfile;

详解Oracle数据库RMAN 下CROSSCHECK命令

详解Oracle数据库RMAN 下CROSSCHECK命令


2、CROSSCHECK BACKUPPIECE

用于 核对特定备份片,该命令需要制定备份片的BP值或备份片名称;

CROSSCHECK BACKUPPIECE 4;
CROSSCHECK BACKUPPIECE '/home/oracle/app/oracle/flash_recovery_area/NWPPDB/autobackup/2019_05_18/o1_mf_s_1008593930_gfz48b8w_.bkp';

详解Oracle数据库RMAN 下CROSSCHECK命令


3、CROSSCHECK BACKUPSET

用于核对特定的备份集,该命令需要制定备份集的BP值;

CROSSCHECK BACKUPSET 4;

详解Oracle数据库RMAN 下CROSSCHECK命令


4、CROSSCHECK COPY

用于核对数据库、表空间、数据文件、控制文件、归档文件的映像副本(即备份是用COPY DATAFILE ...... 或BACKUP AS COPY ......DATAFILE......命令备份数据文件的映像)

CROSSCHECK COPY;
CROSSCHECK COPY of database;
CROSSCHECK COPY of tablespace system;
CROSSCHECK COPY of datafile 1;
CROSSCHECK COPY of controlfile;
CROSSCHECK COPY of archivelog all;
CROSSCHECK COPY of archivelog from sequence 24 until sequence 32;

详解Oracle数据库RMAN 下CROSSCHECK命令


5、CROSSCHECK DTAFILECOPY

用于核对特定的数据文件映像副本,该命令需要指定映像副本的文件名或KEY值;

CROSSCHECK DATAFILECOPY 2;
CROSSCHECK DATAFILECOPY '/u01/app/oracle/rman_backup/tp9.dbf';

详解Oracle数据库RMAN 下CROSSCHECK命令


6、CROSSCHECK CONTROLFILECOPY

用于核对特定的控制文件映像副本,该命令需要指定控制文件映像副本的文件名或KEY值;

CROSSCHECK CONTROLFILECOPY 3;
CROSSCHECK CONTROLFILECOPY '/u01/app/oracle/rman_backup/controlfile01.ctl;

7、CROSSCHECK ARCHIVELOG

用于核对特定的归档日志,该命令需要指定归档日志的文件名或KEY值或SEQUENCE值;

CROSSCHECK ARCHIVELOG 36;
CROSSCHECK ARCHIVELOG 'crosscheck archivelog '/u01/app/oracle/product/11g/dbs/arch1_6_813161833.dbf';
CROSSCHECK ARCHIVELOG sequence 7;

后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~

详解Oracle数据库RMAN 下CROSSCHECK命令

相关推荐