windows平台迁移至linux平台删除归档报ORA19633

故障现象

windows平台的生产库迁移至linux平台后,在rman中删除归档日志一直报ORA-19633的错误,导致归档积累过多,空间使用率持续升高,问题亟需解决。具体报错截图如下:windows平台迁移至linux平台删除归档报ORA19633-每日运维windows平台迁移至linux平台删除归档报ORA19633-每日运维

故障分析

从报错图中得知控制文件的信息没有同步至catalog中去,查询v$archived_log视图得到当前linux平台还存有windows平台下的日志信息:windows平台迁移至linux平台删除归档报ORA19633-每日运维这就和当前linux平台产生了冲突,将控制文件中这些windows平台下的归档信息清除即可。

故障处理

清理v$ARCHIVED_LOG对应的记录
execute sys.dbms_backup_restore.resetCfileSection(11);

清理v$rman_status对应的记录
execute sys.dbms_backup_restore.resetCfileSection(28);

(1)在生产库下执行如下语句:

SQL> execute sys.dbms_backup_restore.resetCfileSection(11);

清理掉v$archived_log下的所有记录,查询确认:

SQL> select name from v$archived_log;
no rows selected

(2)再将新的归档日志目录进行catalog即可:

RMAN> catalog start with '+LOG';

windows平台迁移至linux平台删除归档报ORA19633-每日运维

之后进行一系列归档日志切换以及crosscheck均没问题。

参考文档:

Doc ID 845361.1