Limpeza de dados obsoletos no catálogo do RMAN

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.

 

Deixe uma resposta

Seu e-mail não será publicado.

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

× Como posso te ajudar?