RMAN执行crosscheck archive报错ORA-19633问题处理

别说谁变了你拦得住时间么 提交于 2019-12-02 15:24:06

一、问题现象

RMAN
connect target /;
run {
crosscheck archivelog all;
}

ORA-19633: control file record 58407 is out of sync with recovery catalog

二、问题排查

SQL> select FIRST_TIME,name,sequence#,status,thread# from v$archived_log where recid=58407;
FIRST_TIME     NAME                                                             SEQUENCE# STA    THREAD#
-------------------------------------------------------------------------------------------
09-OCT-18     D:\APP\ADMINISTRATOR\ARCH\RBCHECKIN\ARC0000071542_0853518879.0001   71542 A            1

RMAN> delete force archivelog sequence 71542;
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=8 device type=DISK
specification does not match any archived log in the repository

catalog archivelog 'D:\APP\ADMINISTRATOR\ARCH\RBCHECKIN\ARC0000071542_0853518879.0001';
通过查询,可以发现,使用force,catalog 无法强制删除归档或者重新注册归档(归档文件已不存在)
SQL>  select name from v$archived_log;
NAME
--------------------------------------------------------------------------------
/oracle/arch/rbcheckin/1_3579_990090011.dbf
/oracle/arch/rbcheckin/1_3580_990090011.dbf
/oracle/arch/rbcheckin/1_3581_990090011.dbf
/oracle/arch/rbcheckin/1_3582_990090011.dbf
/oracle/arch/rbcheckin/1_3583_990090011.dbf
/oracle/arch/rbcheckin/1_3584_990090011.dbf
/oracle/arch/rbcheckin/1_3585_990090011.dbf
/oracle/arch/rbcheckin/1_3586_990090011.dbf

5024 rows selected.当前的归档路径是linux文件系统,而报错的归档是在windows的路径,因此沟通发现,这套库是18年从windows平台迁移至linux目标就是删除这个无效的归档日志

三、问题处理

SQL>execute sys.dbms_backup_restore.resetCfileSection( 11);
SQL> select name from v$archived_log;
no rows selected
RMAN> catalog start with '/oracle/arch/rbcheckin/';Removing entries in v$archived_log referencing a particluar DEST_ID (Doc ID 845361.1)原理是清空控制文件中的归档日志信息,重新使用catalog进行注册由于本次控制文件记录该日志是有效的,但实际文件不存在,通过crosscheck archive过程报错,因此无法常规手段进行处理;

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!