Como corrigir o erro RMAN-20033: control file SEQUENCE# too low

Na manhã do dia 18/10/2019 o analista de Backup me enviou uma mensagem informando que os backups incrementais do Oracle falharam. Uma rápida verificação no LOG gerado pelo rman me mostrou os erros abaixo:

[code lang=”sql”]
Starting Control File and SPFILE Autobackup at 18-OCT-19
piece handle=c-3816658055-20191018-01 comment=API Version 2.0,MMS Version 5.0.0.0
Finished Control File and SPFILE Autobackup at 18-OCT-19
released channel: ch00
released channel: ch01
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03008: error while performing automatic resync of recovery catalog
RMAN-20033: control file SEQUENCE# too low
[/code]

Os erros que ocorreram foram os: RMAN-03008: error while performing automatic resync of recovery catalog e RMAN-20033: control file SEQUENCE# too low. Para solucionar esse erro, basta fazer uma sincronização entre o catalogo do rman e o controlfile da instância em questão. Esse resync é automático toda vez que um backup é iniciado mas dessa vez houve uma falha.

Soluções: sincronizar o controlfile com o catálogo do RMAN!

1ª solução: rodar um crosscheck manualmente para forçar o resync:
[code lang=”sql”]
[server01:db01:/home/oracle]$ rman target / catalog rman/mypass1313@repositorio
Recovery Manager: Release 11.2.0.4.0 – Production on Fri Oct 18 11:02:02 2019
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: DB01 (DBID=131313131313)
connected to recovery catalog database
RMAN>
RMAN> crosscheck archivelog all;
starting full resync of recovery catalog
full resync complete
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=5957 instance=vs013 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=8627 instance=vs013 device type=DISK
validation succeeded for archived log
[/code]

2ª solução: executar um resync manual no rman através do comando resync catalog:

[code lang=”sql”]
[server01:db01:/home/oracle]$ rman target / catalog rman/mypass1313@repositorio
Recovery Manager: Release 11.2.0.4.0 – Production on Fri Oct 18 11:02:02 2019
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: DB01 (DBID=131313131313)
connected to recovery catalog database
RMAN>
RMAN> resync catalog;
starting full resync of recovery catalog
full resync complete
RMAN> exit
[/code]

Eu optei pela primeira opção, rodei o crosscheck, o controlfile foi sincronizado e o backup executou normalmente!

Leonardo Pedroso

Leonardo Pedroso

Profissional de TI experiência em administração de banco de dados: SQL Server 2000 a 2019, Oracle 11g a 19c, PostgreSQL, MySQL, MongoDB, Cassandra. Atua realizando análise de desempenho, DR e HA, implantação, administração de banco de dados em cluster e implementação de projetos de banco de dados NoSQL (MongoDB, Cassandra), bem como automação de processos utilizando Shell script, Powershell (dbatools), e players de Cloud: Azure e Aws.