RMAN执行crosscheck archivelog出现ORA-19633错误

1.错误现象

RMAN> crosscheck archivelog all;

RMAN-03009: failure of crosscheck command on ORA DISK 1 channel at 12/13
ORA-19633: control file record 222572 is out ofsync with recovery catalog

此问题一般是由于数据库从Windows迁移到linux,导致的归档问题。

2.问题排查

## 通过报错信息中的 record 222572,检查此归档日志信息
SQL> select FIRST_TIME,name,sequence#,status,thread# from v$archived_log where recid=222572;

FIRST_TIME                           NAME                                 SEQUENCE# STA THREAD#
---------- -------------------------------------------------------------- --------- --- -------
14-OCT-23  Z:\Oracle\ARCHIVELOG\2023_10_15\01_MF_1_146805_LLPKZOKO_ARC      146805   A     1

通过查询发现数据库此归档日志文件,已经不存在了。

## 查看当前存在的归档日志
SQL> select name from v$archived_log;

3.解决方法

## 操作前备份控制文件
SQL> alter database backup controlfile to '/home/oracle/control.ctl';

## 清理控制文件中的归档信息
SQL> execute sys.dbms_backup_restore.resetCfileSection( 11);

注意:其中11代表的就是控制文件中归档日志信息部分(v$archived_log)。

## 注册现有的归档日志
RMAN> catalog start with '/u01/archivelog/';

参考文档:Removing entries in v$archived_log referencing a particluar DEST_ID (Doc ID 845361.1)

你可能感兴趣的:(oracle,RMAN,故障处理,dba)