Ao fazer uma manutenção rotineira no banco de dados, percebi que haviam muitos lixos de bancos antigos no catálogo do RMAN. A minha base se chama anvsrep e haviam pouco mais de 35 bancos distintos nela. Atualmente os bancos foram consolidados em instâncias maiores e consequentemente reduzidos a 4 ambientes.
O comando abaixo lista quais bancos existem no catálogo do RMAN:
SYS@anvsrep AS SYSDBA> SELECT db_key, dbid, name FROM rman.rc_database;
Todos esses bancos acima foram migrados para outra instância, mudando de nome e versão.
Resta agora limpar essas entradas do catálogo! O comando a ser utilizado é o pacote: dbms_rcvcat.unregisterdatabase. A sintaxe é acompanhada do DB_KEY e do DB_ID, conforme comandos abaixo:
EXECUTE dbms_rcvcat.unregisterdatabase(6074915 , 3508358279);
EXECUTE dbms_rcvcat.unregisterdatabase(152732, 3469247574);
EXECUTE dbms_rcvcat.unregisterdatabase(4225000, 3660298989);
EXECUTE dbms_rcvcat.unregisterdatabase(114749, 3579358991);
EXECUTE dbms_rcvcat.unregisterdatabase(133535, 3642263337);
Resultado da execução:
RMAN@anvsrep > EXECUTE dbms_rcvcat.unregisterdatabase(6074915 , 3508358279);
PL/SQL procedure successfully completed.
RMAN@anvsrep > EXECUTE rman.dbms_rcvcat.unregisterdatabase(152732,3469247574);
PL/SQL procedure successfully completed.
RMAN@anvsrep > EXECUTE rman.dbms_rcvcat.unregisterdatabase(4225000,3660298989);
PL/SQL procedure successfully completed.
Feito isso, basta sair do SQLPLUS e usar normalmente o catálogo, o tamanho dele será reduzido e você utilizará de fato somente as informações dos bancos que estiverem em uso.