Leonardo Pedroso Costa
MongoDB | SQL Server | Oracle

Corrigindo o erro RMAN-20001: target database not found in recovery catalog

Criei um banco do zero, movi os dados da instância anterior para o mesmo e fui conectar no RMAN/CATALOGO para ver se estava tudo ok. No exato momento recebi o segunte erro:
[code lang=”sql”]
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of crosscheck command at 07/18/2018 15:15:45
RMAN-12010: automatic channel allocation initialization failed
RMAN-06004: ORACLE error from recovery catalog database: RMAN-20001: target database not found in recovery catalog
[/code]

Esse erro acontece porque o banco de dados criado não foi registrado no catálogo. Um comando extremamente simples resolve o problema, basta registrar o database no catálogo : )

Com o usuário Oracle e as variáveis do banco setadas, execute o seguinte comando para conectar no banco de dados:
[code lang=”sql”]
rman target / catalog rman/mypassword@repositorio;
[/code]
A seguinte mensagem de sucesso será apresentada na tela:
[code lang=”sql”]
Recovery Manager: Release 12.1.0.1.0 – Production on Wed Jul 18 15:15:39 2018

Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved.

connected to target database: GALOMINEIRO (DBID=131313131313)
connected to recovery catalog database
[/code]

Após conectar, basta digitar o comando register database para que o banco de dados seja registrado no catálogo:
[code lang=”sql”]
RMAN> register database;
[/code]
E acompanhe a execução do procedimento:
[code lang=”sql”]
database registered in recovery catalog
starting full resync of recovery catalog
full resync complete
[/code]

Pronto! A partir desse momento o banco de dados estará devidamente registrado no catálogo. Basta conectar no catálogo e rodar o select abaixo para garantir que o banco está de fato no catalogo:

[code lang=”sql”]
select * from rc_database where name = ‘GALOMINEIRO’
65432165 50023546 131313131313 GALOMINEIRO 654984613565 18/07/18
[/code]

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.