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)